diff --git a/css/okadmin.css b/css/okadmin.css deleted file mode 100644 index f924415..0000000 --- a/css/okadmin.css +++ /dev/null @@ -1,103 +0,0 @@ -@import "../lib/layui/css/layui.css"; -@import "../font/iconfont.css"; -@import "../lib/animate/animate.css"; -/*所有页面的CSS代码都写在这里*/ -html,body{width: 100%;height: 100%;} -/*登陆页面*/ -.login-body{background:url(../imgs/bg.png) no-repeat center center fixed;background-size:cover} -.login-body .login-box{width:300px;height:300px;border:1px solid #1a312c;position:absolute;left:50%;top:50%;margin-left:-150px;margin-top:-150px;border-radius:5px} -.login-body .login-box .head{width:100px;height:100px;border-radius:50%;position:absolute;top:-96px;left:50%;margin-left:-50px;background:url(../imgs/ok.png);background-size:cover} -.login-body .login-box .input-box{margin:10px 10px 10px 10px} -.login-body .login-box .input-box input{margin-top:20px;border-radius:5px} -.login-body .login-box .input-box input[type=submit]{background-color:#189F92;width:100%;border:none;outline:0;cursor:pointer;color:#fff;padding-top:8px;padding-bottom:8px;font-size:18px} -.login-body .login-box .input-box .remember-me{margin-top:20px} -.login-body .login-box .input-box .remember-me .layui-form-switch{margin-top:0} -.login-body .login-box .input-box .oauth{margin-top:20px} -.login-body .login-box .input-box .oauth i{cursor:pointer;font-size:28px} -.login-body .login-box .copyright{margin:10px 10px 10px 10px;font-size:12px} - -/*index及其它页面*/ -.layui-layout-admin .layui-logo{color:#fff;font-size:20px} -.layui-nav{padding:0} -.layui-layout-left{left:235px} -.layui-tab-title li:first-child .layui-tab-close{display:none} -.layui-tab-title li{background-color:#f2f2f2} -.layui-tab-brief>.layui-tab-title .layui-this{color:#fff;background-color:#1AA094;} -.menu-switch{width:30px;height:30px;position:relative;left:200px;top:16px;color:#fff;background-color:#1AA094;text-align:center;line-height:30px;cursor:pointer} -.weather{margin: 15px 0 0 20px;} -.textMarquee{float:left;width:450px;margin-top: 20px;} -.layui-nav-tree .layui-nav-child a{padding-left:36px} -.content-body{position:absolute;top:60px;right:0;bottom:42px;left:200px;z-index:1;overflow:hidden;} -.content-body .layui-tab{margin:0;} -.content-body .layui-tab-content{position:absolute;top:40px;bottom:0;width:100%;padding:0;z-index:-999;overflow:hidden} -.content-body .layui-tab-content .layui-tab-item{height:100%} -.content-body .layui-tab-content .layui-tab-item iframe{height:100%} -@media screen and (max-width:992px){ - .textMarquee{display:none} -} -@media screen and (max-width:768px){ - .layui-layout-admin .layui-bg-black{left:-200px} - .layui-layout-admin .content-body{left:0} - .layui-layout-admin .layui-footer{left:0} - .layui-layout-left{display:none} -} -@media screen and (max-width:480px){ - .layui-layout-admin .layui-logo{left:-32px} - .menu-switch{left:140px} -} -@media screen and (max-width:330px){ - .layui-layout-admin .layui-logo{left:-51px;font-size:14px} - .menu-switch{left:100px} -} -.yy{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.5;z-index:10;background-color:#000;display:none} - -/*sub-page页面*/ -.ok-body{padding:10px} -.layui-row-margin{margin:10px 5px 5px 5px} -.md2-sub1{width:40%;text-align:center;line-height:80px;float:left;border-top-left-radius:5px;border-bottom-left-radius:5px} -.md2-sub1 i{font-size:40px;display:block;cursor:pointer;transition:All .4s ease-in-out;-webkit-transition:All .4s ease-in-out;-moz-transition:All .4s ease-in-out;-o-transition:All .4s ease-in-out} -.md2-sub1 i:hover{transform:rotate(360deg);-webkit-transform:rotate(360deg);-moz-transform:rotate(360deg);-o-transform:rotate(360deg);-ms-transform:rotate(360deg)} -.md2-sub2{width:60%;display:inline-block;background-color:#f2f2f2;line-height:46px;text-align:center;border-top-right-radius:5px;border-bottom-right-radius:5px} -.md2-sub2 span{font-size:25px;display:block;height:34px} -.md2-sub2 cite{font-style:normal} -.ok-body-breadcrumb{position:relative;line-height:39px;height:32px;border-bottom:1px solid #e5e5e5} -.ok-body-breadcrumb .layui-btn{line-height:2.4em;margin-top:3px;float:right} -.ok-body-breadcrumb .layui-btn .layui-icon{line-height:32px} -.ok-search{margin-top:15px} -.ok-search .layui-input{width:190px;padding-left:10px;margin-left:10px;float:left} -.ok-search .layui-input:first-child{margin-left:0} -.ok-search .layui-btn{margin-left:10px} -@media screen and (max-width:768px){ - .ok-search .layui-input{width:100%;margin-left:0;margin-top:10px} - .ok-search .layui-btn{margin-left:0;margin-top:10px} -} -okToolbar{display:block;margin-top:10px;margin-bottom:10px;padding:5px;line-height:22px;border-radius:0 2px 2px 0;background-color:#f2f2f2} -okToolbar span{float:right;line-height:30px} -.ok-form{margin-top:10px} - -/*滚动条代码*/ -::-webkit-scrollbar{width:10px;height:10px} -::-webkit-scrollbar-button:vertical{display:none} -::-webkit-scrollbar-track:vertical{background-color:#000} -::-webkit-scrollbar-track-piece{background-color:#F5F5F5} -::-webkit-scrollbar-thumb{margin-right:10px;background-color:#A6A6A6} -::-webkit-scrollbar-thumb:hover{background-color:#aaa} -::-webkit-scrollbar-corner:vertical{background-color:#535353} -::-webkit-scrollbar-resizer:vertical{background-color:#FF6E00} - -/* 公共样式 */ -.tal{text-align:left;} -.tac{text-align:center;} -.tar{text-align:right;} - -/*三级菜单、四级菜单、五级菜单、六级菜单、七级菜单、八级菜单、九级菜单、十级菜单*/ -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child a{padding-left: 54px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 74px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 94px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 114px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 134px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 154px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 174px;} -.layui-nav-tree .layui-nav-item .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child .layui-nav-child a{padding-left: 194px;} - - diff --git a/data/article.json b/data/article.json deleted file mode 100644 index 095e0a3..0000000 --- a/data/article.json +++ /dev/null @@ -1,115 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 12, - "data": [ - { - "id": "001", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "002", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - }, - { - "id": "003", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "004", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - }, - { - "id": "005", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "006", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - }, - { - "id": "007", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "008", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - }, - { - "id": "009", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "010", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - }, - { - "id": "011", - "title": "LV降价了!宇宙大牌最值得买的包可以下手啦!", - "url": "http://ok-admin.xlbweb.cn/p/100", - "readSize": 288, - "publisher": "admin", - "isTop": true, - "status": true - }, - { - "id": "012", - "title": "这颗彗星时速13.5万公里,有人想抓点样本带回地球", - "url": "http://ok-admin.xlbweb.cn/p/101", - "readSize": 188, - "publisher": "admin", - "isTop": false, - "status": false - } - ] -} diff --git a/data/log.json b/data/log.json deleted file mode 100644 index ffb3d91..0000000 --- a/data/log.json +++ /dev/null @@ -1,197 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 12, - "data": [ - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - }, - { - "id": "001", - "url": "http://ok-admin.xlbweb.cn", - "method": "GET", - "ip": "127.0.0.1", - "timeConsuming": 100, - "status": true, - "operator": "admin", - "operatingTime": "2019-05-15 12:08:08" - } - ] -} diff --git a/data/menu.json b/data/menu.json deleted file mode 100644 index b3c1799..0000000 --- a/data/menu.json +++ /dev/null @@ -1,405 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": [ - { - "title": "会员管理", - "path": "", - "font": "iconfont", - "icon": "", - "spread": true, - "children": [ - { - "title": "用户列表", - "path": "pages/user/user.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "角色列表", - "path": "pages/role/role.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "权限列表", - "path": "pages/permission/permission.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "新闻管理", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "新闻列表", - "path": "pages/article/article.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "留言管理", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "留言列表", - "path": "pages/message/message.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "下载中心", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "下载列表", - "path": "pages/download/download.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "友情链接", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "链接列表", - "path": "pages/link/link.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "产品管理", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "产品列表", - "path": "pages/product/product.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "图表页面", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "柱状图", - "path": "pages/map/map1.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "折线图", - "path": "pages/map/map2.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "折线堆叠图", - "path": "pages/map/map3.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "饼图", - "path": "pages/map/map4.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "环形图", - "path": "pages/map/map5.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "散布图", - "path": "pages/map/map6.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "系统管理", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "网站配置", - "path": "pages/system/system-setting.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "系统日志", - "path": "pages/system/system-log.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "屏蔽词", - "path": "pages/system/system-shield.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "框架使用", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "okMenu使用", - "path": "pages/use/use-okMenu.html", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "okTab使用", - "path": "pages/use/use-okTab.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "okLayer使用", - "path": "pages/use/use-okLayer.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "okUtils使用", - "path": "pages/use/use-okUtils.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "Layui图标", - "path": "https://www.layui.com/doc/element/icon.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "Iconfont图标", - "path": "font/demo_index.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "其他页面", - "path": "", - "font": "iconfont", - "icon": "", - "spread": false, - "children": [ - { - "title": "登陆页面", - "path": "pages/use/use-okTab.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "403页面", - "path": "pages/use/use-okLayer.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "404页面", - "path": "pages/use/use-okUtils.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "500页面", - "path": "https://www.layui.com/doc/element/icon.html", - "font": "iconfont", - "icon": "", - "spread": false - }, - { - "title": "捐赠列表", - "path": "font/demo_index.html", - "font": "iconfont", - "icon": "", - "spread": false - } - ] - }, - { - "title": "多级菜单", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "购物网站", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "苏宁", - "path": "https://www.suning.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "京东", - "path": "https://www.jd.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "阿里", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "淘宝", - "path": "https://www.taobao.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "天猫", - "path": "https://www.tmall.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "聚划算", - "path": "https://ju.taobao.com", - "font": "layui-icon", - "icon": "", - "spread": false - } - ] - } - ] - }, - { - "title": "新浪微博", - "path": "https://www.sina.com.cn", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "搜索引擎", - "path": "", - "font": "layui-icon", - "icon": "", - "spread": false, - "children": [ - { - "title": "百度", - "path": "https://www.baidu.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "谷歌", - "path": "https://www.google.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "360搜索", - "path": "https://www.so.com", - "font": "layui-icon", - "icon": "", - "spread": false - } - ] - }, - { - "title": "搜狐", - "path": "http://www.sohu.com", - "font": "layui-icon", - "icon": "", - "spread": false - }, - { - "title": "网易", - "path": "https://www.163.com", - "font": "layui-icon", - "icon": "", - "spread": false - } - ] - } - ] -} diff --git a/data/permission-table.json b/data/permission-table.json deleted file mode 100644 index e14d00e..0000000 --- a/data/permission-table.json +++ /dev/null @@ -1,254 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 19, - "data": [ - { - "authorityId": 1, - "authorityName": "系统管理", - "orderNumber": 1, - "menuUrl": null, - "menuIcon": "layui-icon-set", - "createTime": "2018/06/29 11:05:41", - "authority": null, - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 0, - "parentId": -1 - }, - { - "authorityId": 2, - "authorityName": "用户管理", - "orderNumber": 2, - "menuUrl": "system/user", - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": null, - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 0, - "parentId": 1 - }, - { - "authorityId": 3, - "authorityName": "查询用户", - "orderNumber": 3, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/07/21 13:54:16", - "authority": "user:view", - "checked": 0, - "updateTime": "2018/07/21 13:54:16", - "isMenu": 1, - "parentId": 2 - }, - { - "authorityId": 4, - "authorityName": "添加用户", - "orderNumber": 4, - "menuUrl": null, - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": "user:add", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 2 - }, - { - "authorityId": 5, - "authorityName": "修改用户", - "orderNumber": 5, - "menuUrl": null, - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": "user:edit", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 2 - }, - { - "authorityId": 6, - "authorityName": "删除用户", - "orderNumber": 6, - "menuUrl": null, - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": "user:delete", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 2 - }, - { - "authorityId": 7, - "authorityName": "角色管理", - "orderNumber": 7, - "menuUrl": "system/role", - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": null, - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 0, - "parentId": 1 - }, - { - "authorityId": 8, - "authorityName": "查询角色", - "orderNumber": 8, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/07/21 13:54:59", - "authority": "role:view", - "checked": 0, - "updateTime": "2018/07/21 13:54:58", - "isMenu": 1, - "parentId": 7 - }, - { - "authorityId": 9, - "authorityName": "添加角色", - "orderNumber": 9, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "role:add", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 7 - }, - { - "authorityId": 10, - "authorityName": "修改角色", - "orderNumber": 10, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "role:edit", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 7 - }, - { - "authorityId": 11, - "authorityName": "删除角色", - "orderNumber": 11, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "role:delete", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 7 - }, - { - "authorityId": 12, - "authorityName": "角色权限管理", - "orderNumber": 12, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "role:auth", - "checked": 0, - "updateTime": "2018/07/13 15:27:18", - "isMenu": 1, - "parentId": 7 - }, - { - "authorityId": 13, - "authorityName": "权限管理", - "orderNumber": 13, - "menuUrl": "system/authorities", - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": null, - "checked": 0, - "updateTime": "2018/07/13 15:45:13", - "isMenu": 0, - "parentId": 1 - }, - { - "authorityId": 14, - "authorityName": "查询权限", - "orderNumber": 14, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/07/21 13:55:57", - "authority": "authorities:view", - "checked": 0, - "updateTime": "2018/07/21 13:55:56", - "isMenu": 1, - "parentId": 13 - }, - { - "authorityId": 15, - "authorityName": "添加权限", - "orderNumber": 15, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "authorities:add", - "checked": 0, - "updateTime": "2018/06/29 11:05:41", - "isMenu": 1, - "parentId": 13 - }, - { - "authorityId": 16, - "authorityName": "修改权限", - "orderNumber": 16, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/07/13 09:13:42", - "authority": "authorities:edit", - "checked": 0, - "updateTime": "2018/07/13 09:13:42", - "isMenu": 1, - "parentId": 13 - }, - { - "authorityId": 17, - "authorityName": "删除权限", - "orderNumber": 17, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/06/29 11:05:41", - "authority": "authorities:delete", - "checked": 0, - "updateTime": "2018/06/29 11:05:41", - "isMenu": 1, - "parentId": 13 - }, - { - "authorityId": 18, - "authorityName": "登录日志", - "orderNumber": 18, - "menuUrl": "system/loginRecord", - "menuIcon": null, - "createTime": "2018/06/29 11:05:41", - "authority": null, - "checked": 0, - "updateTime": "2018/06/29 11:05:41", - "isMenu": 0, - "parentId": 1 - }, - { - "authorityId": 19, - "authorityName": "查询登录日志", - "orderNumber": 19, - "menuUrl": "", - "menuIcon": "", - "createTime": "2018/07/21 13:56:43", - "authority": "loginRecord:view", - "checked": 0, - "updateTime": "2018/07/21 13:56:43", - "isMenu": 1, - "parentId": 18 - } - ] -} \ No newline at end of file diff --git a/data/permission-tree.json b/data/permission-tree.json deleted file mode 100644 index aaf23c6..0000000 --- a/data/permission-tree.json +++ /dev/null @@ -1,89 +0,0 @@ -{ - "status": 1000, - "msg": "查询成功", - "data": [ - { - "id": "1", - "name": "根目录", - "isParent": true - }, - { - "id": "2", - "name": "会员管理", - "isParent": true, - "parentId": "1" - }, - { - "id": "3", - "name": "用户管理", - "isParent": true, - "parentId": "2" - }, - { - "id": "4", - "name": "增加", - "isParent": false, - "parentId": "3" - }, - { - "id": "5", - "name": "修改", - "isParent": false, - "parentId": "3" - }, - { - "id": "6", - "name": "删除", - "isParent": false, - "parentId": "3" - }, - { - "id": "7", - "name": "角色管理", - "isParent": true, - "parentId": "2" - }, - { - "id": "8", - "name": "增加", - "isParent": false, - "parentId": "7" - }, - { - "id": "9", - "name": "修改", - "isParent": false, - "parentId": "7" - }, - { - "id": "10", - "name": "删除", - "isParent": false, - "parentId": "7" - }, - { - "id": "11", - "name": "权限管理", - "isParent": true, - "parentId": "2" - }, - { - "id": "12", - "name": "增加", - "isParent": false, - "parentId": "11" - }, - { - "id": "13", - "name": "修改", - "isParent": false, - "parentId": "11" - }, - { - "id": "14", - "name": "删除", - "isParent": false, - "parentId": "11" - } - ] -} diff --git a/data/role.json b/data/role.json deleted file mode 100644 index 5bec8bf..0000000 --- a/data/role.json +++ /dev/null @@ -1,28 +0,0 @@ -{ - "code": 0, - "msg": "", - "count": 3, - "data": [ - { - "id": "001", - "name": "ADMIN", - "remarks": "管理员", - "createUser": "admin", - "createTime": "2018-05-06 18:15:28" - }, - { - "id": "002", - "name": "TEACHER", - "remarks": "教师", - "createUser": "admin", - "createTime": "2018-05-06 19:15:28" - }, - { - "id": "003", - "name": "STUDENT", - "remarks": "学生", - "createUser": "admin", - "createTime": "2018-05-06 20:15:28" - } - ] -} diff --git a/data/user/add.json b/data/user/add.json deleted file mode 100644 index 8293b8e..0000000 --- a/data/user/add.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": {} -} diff --git a/data/user/batchDel.json b/data/user/batchDel.json deleted file mode 100644 index 8293b8e..0000000 --- a/data/user/batchDel.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": {} -} diff --git a/data/user/batchNormal.json b/data/user/batchNormal.json deleted file mode 100644 index 8293b8e..0000000 --- a/data/user/batchNormal.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": {} -} diff --git a/data/user/batchStop.json b/data/user/batchStop.json deleted file mode 100644 index 8293b8e..0000000 --- a/data/user/batchStop.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": {} -} diff --git a/data/user/edit.json b/data/user/edit.json deleted file mode 100644 index 8293b8e..0000000 --- a/data/user/edit.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": {} -} diff --git a/data/user/login.json b/data/user/login.json deleted file mode 100644 index be609ca..0000000 --- a/data/user/login.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "status": 1000, - "msg": "操作成功", - "data": { - "username": "bobi", - "email": "bobi1234@foxmail.com" - } -} diff --git a/data/user/user.json b/data/user/user.json deleted file mode 100644 index 8c8ffef..0000000 --- a/data/user/user.json +++ /dev/null @@ -1,139 +0,0 @@ -{ - "code": 0, - "msg": "操作成功", - "count": 11, - "data": [ - { - "id": "001", - "username": "zhangsan", - "reallyName": "张三", - "password": "111111", - "status": 0, - "role": 0, - "email": "zhangsan@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "002", - "username": "lisi", - "reallyName": "李四", - "password": "111111", - "status": 0, - "role": 0, - "email": "lisi@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "003", - "username": "wangwu", - "reallyName": "王五", - "password": "111111", - "status": 1, - "role": 1, - "email": "wangwu@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "004", - "username": "zhaoliu", - "reallyName": "赵六", - "password": "111111", - "status": 1, - "role": 1, - "email": "zhaoliu@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "005", - "username": "sunqi", - "reallyName": "孙七", - "password": "111111", - "status": 1, - "role": 1, - "email": "sunqi@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "006", - "username": "zhouba", - "reallyName": "周八", - "password": "111111", - "status": 1, - "role": 1, - "email": "zhouba@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "007", - "username": "wujiu", - "reallyName": "吴九", - "password": "111111", - "status": 1, - "role": 1, - "email": "wujiu@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "008", - "username": "zhengshi", - "reallyName": "郑十", - "password": "111111", - "status": 1, - "role": 1, - "email": "zhengshi@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "009", - "username": "liubei", - "reallyName": "刘备", - "password": "111111", - "status": 1, - "role": 1, - "email": "liubei@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "010", - "username": "zhangfei", - "reallyName": "张飞", - "password": "111111", - "status": 1, - "role": 1, - "email": "zhangfei@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - }, - { - "id": "011", - "username": "guanyu", - "reallyName": "关羽", - "password": "111111", - "status": 1, - "role": 1, - "email": "guanyu@qq.com", - "phone": "13222222222", - "createTime": "2018-05-06 18:15:28", - "logins": 24 - } - ] -} diff --git a/font/demo.css b/font/demo.css deleted file mode 100644 index a67054a..0000000 --- a/font/demo.css +++ /dev/null @@ -1,539 +0,0 @@ -/* Logo 字体 */ -@font-face { - font-family: "iconfont logo"; - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834'); - src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'), - url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg'); -} - -.logo { - font-family: "iconfont logo"; - font-size: 160px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -/* tabs */ -.nav-tabs { - position: relative; -} - -.nav-tabs .nav-more { - position: absolute; - right: 0; - bottom: 0; - height: 42px; - line-height: 42px; - color: #666; -} - -#tabs { - border-bottom: 1px solid #eee; -} - -#tabs li { - cursor: pointer; - width: 100px; - height: 40px; - line-height: 40px; - text-align: center; - font-size: 16px; - border-bottom: 2px solid transparent; - position: relative; - z-index: 1; - margin-bottom: -1px; - color: #666; -} - - -#tabs .active { - border-bottom-color: #f00; - color: #222; -} - -.tab-container .content { - display: none; -} - -/* 页面布局 */ -.main { - padding: 30px 100px; - width: 960px; - margin: 0 auto; -} - -.main .logo { - color: #333; - text-align: left; - margin-bottom: 30px; - line-height: 1; - height: 110px; - margin-top: -50px; - overflow: hidden; - *zoom: 1; -} - -.main .logo a { - font-size: 160px; - color: #333; -} - -.helps { - margin-top: 40px; -} - -.helps pre { - padding: 20px; - margin: 10px 0; - border: solid 1px #e7e1cd; - background-color: #fffdef; - overflow: auto; -} - -.icon_lists { - width: 100% !important; - overflow: hidden; - *zoom: 1; -} - -.icon_lists li { - width: 100px; - margin-bottom: 10px; - margin-right: 20px; - text-align: center; - list-style: none !important; - cursor: default; -} - -.icon_lists li .code-name { - line-height: 1.2; -} - -.icon_lists .icon { - display: block; - height: 100px; - line-height: 100px; - font-size: 42px; - margin: 10px auto; - color: #333; - -webkit-transition: font-size 0.25s linear, width 0.25s linear; - -moz-transition: font-size 0.25s linear, width 0.25s linear; - transition: font-size 0.25s linear, width 0.25s linear; -} - -.icon_lists .icon:hover { - font-size: 100px; -} - -.icon_lists .svg-icon { - /* 通过设置 font-size 来改变图标大小 */ - width: 1em; - /* 图标和文字相邻时,垂直对齐 */ - vertical-align: -0.15em; - /* 通过设置 color 来改变 SVG 的颜色/fill */ - fill: currentColor; - /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示 - normalize.css 中也包含这行 */ - overflow: hidden; -} - -.icon_lists li .name, -.icon_lists li .code-name { - color: #666; -} - -/* markdown 样式 */ -.markdown { - color: #666; - font-size: 14px; - line-height: 1.8; -} - -.highlight { - line-height: 1.5; -} - -.markdown img { - vertical-align: middle; - max-width: 100%; -} - -.markdown h1 { - color: #404040; - font-weight: 500; - line-height: 40px; - margin-bottom: 24px; -} - -.markdown h2, -.markdown h3, -.markdown h4, -.markdown h5, -.markdown h6 { - color: #404040; - margin: 1.6em 0 0.6em 0; - font-weight: 500; - clear: both; -} - -.markdown h1 { - font-size: 28px; -} - -.markdown h2 { - font-size: 22px; -} - -.markdown h3 { - font-size: 16px; -} - -.markdown h4 { - font-size: 14px; -} - -.markdown h5 { - font-size: 12px; -} - -.markdown h6 { - font-size: 12px; -} - -.markdown hr { - height: 1px; - border: 0; - background: #e9e9e9; - margin: 16px 0; - clear: both; -} - -.markdown p { - margin: 1em 0; -} - -.markdown>p, -.markdown>blockquote, -.markdown>.highlight, -.markdown>ol, -.markdown>ul { - width: 80%; -} - -.markdown ul>li { - list-style: circle; -} - -.markdown>ul li, -.markdown blockquote ul>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown>ul li p, -.markdown>ol li p { - margin: 0.6em 0; -} - -.markdown ol>li { - list-style: decimal; -} - -.markdown>ol li, -.markdown blockquote ol>li { - margin-left: 20px; - padding-left: 4px; -} - -.markdown code { - margin: 0 3px; - padding: 0 5px; - background: #eee; - border-radius: 3px; -} - -.markdown strong, -.markdown b { - font-weight: 600; -} - -.markdown>table { - border-collapse: collapse; - border-spacing: 0px; - empty-cells: show; - border: 1px solid #e9e9e9; - width: 95%; - margin-bottom: 24px; -} - -.markdown>table th { - white-space: nowrap; - color: #333; - font-weight: 600; -} - -.markdown>table th, -.markdown>table td { - border: 1px solid #e9e9e9; - padding: 8px 16px; - text-align: left; -} - -.markdown>table th { - background: #F7F7F7; -} - -.markdown blockquote { - font-size: 90%; - color: #999; - border-left: 4px solid #e9e9e9; - padding-left: 0.8em; - margin: 1em 0; -} - -.markdown blockquote p { - margin: 0; -} - -.markdown .anchor { - opacity: 0; - transition: opacity 0.3s ease; - margin-left: 8px; -} - -.markdown .waiting { - color: #ccc; -} - -.markdown h1:hover .anchor, -.markdown h2:hover .anchor, -.markdown h3:hover .anchor, -.markdown h4:hover .anchor, -.markdown h5:hover .anchor, -.markdown h6:hover .anchor { - opacity: 1; - display: inline-block; -} - -.markdown>br, -.markdown>p>br { - clear: both; -} - - -.hljs { - display: block; - background: white; - padding: 0.5em; - color: #333333; - overflow-x: auto; -} - -.hljs-comment, -.hljs-meta { - color: #969896; -} - -.hljs-string, -.hljs-variable, -.hljs-template-variable, -.hljs-strong, -.hljs-emphasis, -.hljs-quote { - color: #df5000; -} - -.hljs-keyword, -.hljs-selector-tag, -.hljs-type { - color: #a71d5d; -} - -.hljs-literal, -.hljs-symbol, -.hljs-bullet, -.hljs-attribute { - color: #0086b3; -} - -.hljs-section, -.hljs-name { - color: #63a35c; -} - -.hljs-tag { - color: #333333; -} - -.hljs-title, -.hljs-attr, -.hljs-selector-id, -.hljs-selector-class, -.hljs-selector-attr, -.hljs-selector-pseudo { - color: #795da3; -} - -.hljs-addition { - color: #55a532; - background-color: #eaffea; -} - -.hljs-deletion { - color: #bd2c00; - background-color: #ffecec; -} - -.hljs-link { - text-decoration: underline; -} - -/* 代码高亮 */ -/* PrismJS 1.15.0 -https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */ -/** - * prism.js default theme for JavaScript, CSS and HTML - * Based on dabblet (http://dabblet.com) - * @author Lea Verou - */ -code[class*="language-"], -pre[class*="language-"] { - color: black; - background: none; - text-shadow: 0 1px white; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -pre[class*="language-"]::-moz-selection, -pre[class*="language-"] ::-moz-selection, -code[class*="language-"]::-moz-selection, -code[class*="language-"] ::-moz-selection { - text-shadow: none; - background: #b3d4fc; -} - -pre[class*="language-"]::selection, -pre[class*="language-"] ::selection, -code[class*="language-"]::selection, -code[class*="language-"] ::selection { - text-shadow: none; - background: #b3d4fc; -} - -@media print { - - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; -} - -:not(pre)>code[class*="language-"], -pre[class*="language-"] { - background: #f5f2f0; -} - -/* Inline code */ -:not(pre)>code[class*="language-"] { - padding: .1em; - border-radius: .3em; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: slategray; -} - -.token.punctuation { - color: #999; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.boolean, -.token.number, -.token.constant, -.token.symbol, -.token.deleted { - color: #905; -} - -.token.selector, -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: #690; -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string { - color: #9a6e3a; - background: hsla(0, 0%, 100%, .5); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: #07a; -} - -.token.function, -.token.class-name { - color: #DD4A68; -} - -.token.regex, -.token.important, -.token.variable { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} - -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} diff --git a/font/demo_index.html b/font/demo_index.html deleted file mode 100644 index b27784c..0000000 --- a/font/demo_index.html +++ /dev/null @@ -1,1412 +0,0 @@ - - - - - IconFont Demo - - - - - - - - - - - -
-

- -
-
-
    - -
  • - -
    404错误
    -
    
    -
  • - -
  • - -
    捐赠
    -
    
    -
  • - -
  • - -
    其他
    -
    
    -
  • - -
  • - -
    会员
    -
    
    -
  • - -
  • - -
    github
    -
    
    -
  • - -
  • - -
    微博
    -
    
    -
  • - -
  • - -
    留言
    -
    
    -
  • - -
  • - -
    菜单
    -
    
    -
  • - -
  • - -
    产品
    -
    
    -
  • - -
  • - -
    支付宝
    -
    
    -
  • - -
  • - -
    上升
    -
    
    -
  • - -
  • - -
    图表 折线图
    -
    
    -
  • - -
  • - -
    qq
    -
    
    -
  • - -
  • - -
    新闻
    -
    
    -
  • - -
  • - -
    使用帮助1
    -
    
    -
  • - -
  • - -
    添加
    -
    
    -
  • - -
  • - -
    home
    -
    
    -
  • - -
  • - -
    other
    -
    
    -
  • - -
  • - -
    商品
    -
    
    -
  • - -
  • - -
    友情链接
    -
    
    -
  • - -
  • - -
    403
    -
    
    -
  • - -
  • - -
    微信
    -
    
    -
  • - -
  • - -
    微信
    -
    
    -
  • - -
  • - -
    下载
    -
    
    -
  • - -
  • - -
    图表-柱状图
    -
    
    -
  • - -
  • - -
    字体
    -
    
    -
  • - -
  • - -
    文章
    -
    
    -
  • - -
  • - -
    下降
    -
    
    -
  • - -
  • - -
    页面
    -
    
    -
  • - -
  • - -
    500
    -
    
    -
  • - -
  • - -
    403
    -
    
    -
  • - -
  • - -
    404
    -
    
    -
  • - -
  • - -
    500
    -
    
    -
  • - -
  • - -
    tab
    -
    
    -
  • - -
  • - -
    评论
    -
    
    -
  • - -
  • - -
    登录
    -
    
    -
  • - -
  • - -
    流程
    -
    
    -
  • - -
  • - -
    角色
    -
    
    -
  • - -
  • - -
    符号-login
    -
    
    -
  • - -
  • - -
    设置
    -
    
    -
  • - -
  • - -
    屏蔽
    -
    
    -
  • - -
  • - -
    日志
    -
    
    -
  • - -
  • - -
    电力用户总数。
    -
    
    -
  • - -
  • - -
    人工智能
    -
    
    -
  • - -
  • - -
    角色授权
    -
    
    -
  • - -
  • - -
    gitee
    -
    
    -
  • - -
  • - -
    layer
    -
    
    -
  • - -
  • - -
    监控控制管理监管
    -
    
    -
  • - -
  • - -
    图片
    -
    
    -
  • - -
  • - -
    角色管理
    -
    
    -
  • - -
  • - -
    配置
    -
    
    -
  • - -
  • - -
    饼图
    -
    
    -
  • - -
  • - -
    工具
    -
    
    -
  • - -
  • - -
    环形图
    -
    
    -
  • - -
-
-

Unicode 引用

-
- -

Unicode 是字体在网页端最原始的应用方式,特点是:

-
    -
  • 兼容性最好,支持 IE6+,及所有现代浏览器。
  • -
  • 支持按字体的方式去动态调整图标大小,颜色等等。
  • -
  • 但是因为是字体,所以不支持多色。只能使用平台里单色的图标,就算项目里有多色图标也会自动去色。
  • -
-
-

注意:新版 iconfont 支持多色图标,这些多色图标在 Unicode 模式下将不能使用,如果有需求建议使用symbol 的引用方式

-
-

Unicode 使用步骤如下:

-

第一步:拷贝项目下面生成的 @font-face

-
@font-face {
-  font-family: 'iconfont';
-  src: url('iconfont.eot');
-  src: url('iconfont.eot?#iefix') format('embedded-opentype'),
-      url('iconfont.woff2') format('woff2'),
-      url('iconfont.woff') format('woff'),
-      url('iconfont.ttf') format('truetype'),
-      url('iconfont.svg#iconfont') format('svg');
-}
-
-

第二步:定义使用 iconfont 的样式

-
.iconfont {
-  font-family: "iconfont" !important;
-  font-size: 16px;
-  font-style: normal;
-  -webkit-font-smoothing: antialiased;
-  -moz-osx-font-smoothing: grayscale;
-}
-
-

第三步:挑选相应图标并获取字体编码,应用于页面

-
-<span class="iconfont">&#x33;</span>
-
-
-

"iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

-
-
-
-
-
    - -
  • - -
    - 404错误 -
    -
    .icon-404cuowu -
    -
  • - -
  • - -
    - 捐赠 -
    -
    .icon-juanzeng -
    -
  • - -
  • - -
    - 其他 -
    -
    .icon-map-setting -
    -
  • - -
  • - -
    - 会员 -
    -
    .icon-huiyuan -
    -
  • - -
  • - -
    - github -
    -
    .icon-github -
    -
  • - -
  • - -
    - 微博 -
    -
    .icon-logo-weibo -
    -
  • - -
  • - -
    - 留言 -
    -
    .icon-liuyan -
    -
  • - -
  • - -
    - 菜单 -
    -
    .icon-caidan -
    -
  • - -
  • - -
    - 产品 -
    -
    .icon-weibiaoti35 -
    -
  • - -
  • - -
    - 支付宝 -
    -
    .icon-zhifubao -
    -
  • - -
  • - -
    - 上升 -
    -
    .icon-shangsheng -
    -
  • - -
  • - -
    - 图表 折线图 -
    -
    .icon-tubiaozhexiantu -
    -
  • - -
  • - -
    - qq -
    -
    .icon-qq -
    -
  • - -
  • - -
    - 新闻 -
    -
    .icon-ai-new -
    -
  • - -
  • - -
    - 使用帮助1 -
    -
    .icon-shiyongbangzhu1 -
    -
  • - -
  • - -
    - 添加 -
    -
    .icon-tianjia -
    -
  • - -
  • - -
    - home -
    -
    .icon-home -
    -
  • - -
  • - -
    - other -
    -
    .icon-other -
    -
  • - -
  • - -
    - 商品 -
    -
    .icon-goods -
    -
  • - -
  • - -
    - 友情链接 -
    -
    .icon-youqinglianjie -
    -
  • - -
  • - -
    - 403 -
    -
    .icon-icon-test -
    -
  • - -
  • - -
    - 微信 -
    -
    .icon-wechat -
    -
  • - -
  • - -
    - 微信 -
    -
    .icon-weixin -
    -
  • - -
  • - -
    - 下载 -
    -
    .icon-xiazai -
    -
  • - -
  • - -
    - 图表-柱状图 -
    -
    .icon-zhuzhuangtu -
    -
  • - -
  • - -
    - 字体 -
    -
    .icon-font -
    -
  • - -
  • - -
    - 文章 -
    -
    .icon-wenzhang2 -
    -
  • - -
  • - -
    - 下降 -
    -
    .icon-web-icon- -
    -
  • - -
  • - -
    - 页面 -
    -
    .icon-webpage -
    -
  • - -
  • - -
    - 500 -
    -
    .icon-icon-test1 -
    -
  • - -
  • - -
    - 403 -
    -
    .icon-icon-test2 -
    -
  • - -
  • - -
    - 404 -
    -
    .icon-icon-test3 -
    -
  • - -
  • - -
    - 500 -
    -
    .icon-icon-test4 -
    -
  • - -
  • - -
    - tab -
    -
    .icon-tab -
    -
  • - -
  • - -
    - 评论 -
    -
    .icon-pinglun -
    -
  • - -
  • - -
    - 登录 -
    -
    .icon-denglu -
    -
  • - -
  • - -
    - 流程 -
    -
    .icon-liucheng -
    -
  • - -
  • - -
    - 角色 -
    -
    .icon-jiaose -
    -
  • - -
  • - -
    - 符号-login -
    -
    .icon-login -
    -
  • - -
  • - -
    - 设置 -
    -
    .icon-settings -
    -
  • - -
  • - -
    - 屏蔽 -
    -
    .icon-blacklist -
    -
  • - -
  • - -
    - 日志 -
    -
    .icon-rizhi -
    -
  • - -
  • - -
    - 电力用户总数。 -
    -
    .icon-dianliyonghuzongshu -
    -
  • - -
  • - -
    - 人工智能 -
    -
    .icon-rengongzhineng -
    -
  • - -
  • - -
    - 角色授权 -
    -
    .icon-jiaoseshouquan -
    -
  • - -
  • - -
    - gitee -
    -
    .icon-WechatIMG -
    -
  • - -
  • - -
    - layer -
    -
    .icon-layer -
    -
  • - -
  • - -
    - 监控控制管理监管 -
    -
    .icon-jiankongkongzhiguanlijianguan -
    -
  • - -
  • - -
    - 图片 -
    -
    .icon-tupian -
    -
  • - -
  • - -
    - 角色管理 -
    -
    .icon-jiaoseguanli -
    -
  • - -
  • - -
    - 配置 -
    -
    .icon-peizhi- -
    -
  • - -
  • - -
    - 饼图 -
    -
    .icon-bingtu -
    -
  • - -
  • - -
    - 工具 -
    -
    .icon-gongju -
    -
  • - -
  • - -
    - 环形图 -
    -
    .icon-huanxingtu -
    -
  • - -
-
-

font-class 引用

-
- -

font-class 是 Unicode 使用方式的一种变种,主要是解决 Unicode 书写不直观,语意不明确的问题。

-

与 Unicode 使用方式相比,具有如下特点:

-
    -
  • 兼容性良好,支持 IE8+,及所有现代浏览器。
  • -
  • 相比于 Unicode 语意明确,书写更直观。可以很容易分辨这个 icon 是什么。
  • -
  • 因为使用 class 来定义图标,所以当要替换图标时,只需要修改 class 里面的 Unicode 引用。
  • -
  • 不过因为本质上还是使用的字体,所以多色图标还是不支持的。
  • -
-

使用步骤如下:

-

第一步:引入项目下面生成的 fontclass 代码:

-
<link rel="stylesheet" href="./iconfont.css">
-
-

第二步:挑选相应图标并获取类名,应用于页面:

-
<span class="iconfont icon-xxx"></span>
-
-
-

" - iconfont" 是你项目下的 font-family。可以通过编辑项目查看,默认是 "iconfont"。

-
-
-
-
-
    - -
  • - -
    404错误
    -
    #icon-404cuowu
    -
  • - -
  • - -
    捐赠
    -
    #icon-juanzeng
    -
  • - -
  • - -
    其他
    -
    #icon-map-setting
    -
  • - -
  • - -
    会员
    -
    #icon-huiyuan
    -
  • - -
  • - -
    github
    -
    #icon-github
    -
  • - -
  • - -
    微博
    -
    #icon-logo-weibo
    -
  • - -
  • - -
    留言
    -
    #icon-liuyan
    -
  • - -
  • - -
    菜单
    -
    #icon-caidan
    -
  • - -
  • - -
    产品
    -
    #icon-weibiaoti35
    -
  • - -
  • - -
    支付宝
    -
    #icon-zhifubao
    -
  • - -
  • - -
    上升
    -
    #icon-shangsheng
    -
  • - -
  • - -
    图表 折线图
    -
    #icon-tubiaozhexiantu
    -
  • - -
  • - -
    qq
    -
    #icon-qq
    -
  • - -
  • - -
    新闻
    -
    #icon-ai-new
    -
  • - -
  • - -
    使用帮助1
    -
    #icon-shiyongbangzhu1
    -
  • - -
  • - -
    添加
    -
    #icon-tianjia
    -
  • - -
  • - -
    home
    -
    #icon-home
    -
  • - -
  • - -
    other
    -
    #icon-other
    -
  • - -
  • - -
    商品
    -
    #icon-goods
    -
  • - -
  • - -
    友情链接
    -
    #icon-youqinglianjie
    -
  • - -
  • - -
    403
    -
    #icon-icon-test
    -
  • - -
  • - -
    微信
    -
    #icon-wechat
    -
  • - -
  • - -
    微信
    -
    #icon-weixin
    -
  • - -
  • - -
    下载
    -
    #icon-xiazai
    -
  • - -
  • - -
    图表-柱状图
    -
    #icon-zhuzhuangtu
    -
  • - -
  • - -
    字体
    -
    #icon-font
    -
  • - -
  • - -
    文章
    -
    #icon-wenzhang2
    -
  • - -
  • - -
    下降
    -
    #icon-web-icon-
    -
  • - -
  • - -
    页面
    -
    #icon-webpage
    -
  • - -
  • - -
    500
    -
    #icon-icon-test1
    -
  • - -
  • - -
    403
    -
    #icon-icon-test2
    -
  • - -
  • - -
    404
    -
    #icon-icon-test3
    -
  • - -
  • - -
    500
    -
    #icon-icon-test4
    -
  • - -
  • - -
    tab
    -
    #icon-tab
    -
  • - -
  • - -
    评论
    -
    #icon-pinglun
    -
  • - -
  • - -
    登录
    -
    #icon-denglu
    -
  • - -
  • - -
    流程
    -
    #icon-liucheng
    -
  • - -
  • - -
    角色
    -
    #icon-jiaose
    -
  • - -
  • - -
    符号-login
    -
    #icon-login
    -
  • - -
  • - -
    设置
    -
    #icon-settings
    -
  • - -
  • - -
    屏蔽
    -
    #icon-blacklist
    -
  • - -
  • - -
    日志
    -
    #icon-rizhi
    -
  • - -
  • - -
    电力用户总数。
    -
    #icon-dianliyonghuzongshu
    -
  • - -
  • - -
    人工智能
    -
    #icon-rengongzhineng
    -
  • - -
  • - -
    角色授权
    -
    #icon-jiaoseshouquan
    -
  • - -
  • - -
    gitee
    -
    #icon-WechatIMG
    -
  • - -
  • - -
    layer
    -
    #icon-layer
    -
  • - -
  • - -
    监控控制管理监管
    -
    #icon-jiankongkongzhiguanlijianguan
    -
  • - -
  • - -
    图片
    -
    #icon-tupian
    -
  • - -
  • - -
    角色管理
    -
    #icon-jiaoseguanli
    -
  • - -
  • - -
    配置
    -
    #icon-peizhi-
    -
  • - -
  • - -
    饼图
    -
    #icon-bingtu
    -
  • - -
  • - -
    工具
    -
    #icon-gongju
    -
  • - -
  • - -
    环形图
    -
    #icon-huanxingtu
    -
  • - -
-
-

Symbol 引用

-
- -

这是一种全新的使用方式,应该说这才是未来的主流,也是平台目前推荐的用法。相关介绍可以参考这篇文章 - 这种用法其实是做了一个 SVG 的集合,与另外两种相比具有如下特点:

-
    -
  • 支持多色图标了,不再受单色限制。
  • -
  • 通过一些技巧,支持像字体那样,通过 font-size, color 来调整样式。
  • -
  • 兼容性较差,支持 IE9+,及现代浏览器。
  • -
  • 浏览器渲染 SVG 的性能一般,还不如 png。
  • -
-

使用步骤如下:

-

第一步:引入项目下面生成的 symbol 代码:

-
<script src="./iconfont.js"></script>
-
-

第二步:加入通用 CSS 代码(引入一次就行):

-
<style>
-.icon {
-  width: 1em;
-  height: 1em;
-  vertical-align: -0.15em;
-  fill: currentColor;
-  overflow: hidden;
-}
-</style>
-
-

第三步:挑选相应图标并获取类名,应用于页面:

-
<svg class="icon" aria-hidden="true">
-  <use xlink:href="#icon-xxx"></use>
-</svg>
-
-
-
- -
-
- - - diff --git a/font/iconfont.css b/font/iconfont.css deleted file mode 100644 index cbb4dab..0000000 --- a/font/iconfont.css +++ /dev/null @@ -1,233 +0,0 @@ -@font-face {font-family: "iconfont"; - src: url('iconfont.eot?t=1557734072589'); /* IE9 */ - src: url('iconfont.eot?t=1557734072589#iefix') format('embedded-opentype'), /* IE6-IE8 */ - url('data:application/x-font-woff2;charset=utf-8;base64,d09GMgABAAAAAC40AAsAAAAAUcAAAC3kAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHEIGVgCLHgqBh3TqfgE2AiQDgVwLcAAEIAWEbQeFGhsQQhXjmFXAxgGIDfFeR1SKWtn/XxI4GUOy8V/rEVG12mRh1Kq1VkRAzbFlSzeeD8WhD3Ow2Vf213nR3Y3SHhOBKbH5uBG22H4n6/AThCan2uV2maq48JqhlDz8/9r/9p2Z9/ybeESskkgiErpZpDRCg5BoVIhnWFACBHmii/akTqPhed3svf9+1vgJhAQCZLBGWGFLQsIIO2EEESFscQRQQMQVkCFOBKXiAosbW0Gsk1pcrXeCE90otFurxXlXtSXNz9Xne6fWjN0czNhJ+96AYZcNhQVul+lQtkoHSQrH3QPMj/Q7+rwB2Qp0s5ax5UDbUAkOCrL0ebepml3V/2lz7jgs3+qa3mZIgkjIFCCToNsw7pn//b3/1a8EeDAvRjWj7qU6gAm82FmDTFrLA0pudvkBsEgW2KGsshVWfw4Q1Fm6KZuMtFbj1g2Jsm9EHwg8/P/VgOb4TJvIFR6Vhn6vnYbacNIo93Ys45UlUe9KNW3BD1mBknMlWpOrVDQvdXaponPT3R7ofyxAvnig0pGfoAwqMSiQ1CvHSlb17uQuhQqAEiA6AI78dyKd6erpmKoUao+72m3pcefOZeu+MZSTaJmWwgsIu0lSOTnBQzaNQyYKCzSIpWgKQXX6f5+Epknr0um3SRmgriAfSkgPqawA1B1zRUCe1EdVws2imj6rqGdvslF8wt9P/+ymIFPJyQ+dvx1TDI4H+Pshd/47LuYd3tKrcXeLHOsoyKvETUZuNOtyzZfnKNJPXHBcxWCAIOnUz56EnBsFpVDhIqnFiKOXKUeJeeart8LVX0d/ffTrx9KUtrRKm5e59nTNrvx2/Xfwx+kP/3fQzIUcey58M1Xp6b8mL5ILSn7V9d5td7P7ZT7+Qx49+ixYVTVn2b49hUPdOgzpNSHZ1G9Np4YNK3YNWzdl2ozMrG2DRszLDRh3YFJNy5Iti+p2tI1pGtWlQqqC3TZkX4TtIQEQeggS+gg2FggrrBJCVAkR5ghbLBN22CfE2CPsURCO/exDAugm5OggXDBEuKKXcEtohS8gEQpsEkr0E6FYI8LRSUSiQaiwQaixQsRgl4jDMKHHOpGelCcyIIHIBMwQOciIEswS8xK2Yz5gkKjHCLEC88RV5MQoBohHGCc+4oBSjElKLWqUaWhRlmKJch62KM1YpGxHnbILO5Q70Ka8hDHK62jyB0yN4nCCWpc5uoI9FXAEVx6Thhn8xthLcjt9NuhaLZpc0sCVNSpFvKYKPFMHnqm88poCqIFJU3o8/qoGFkq8VxaZBmFb0DO5+p1SpSdUIsvqjImKOzjQ3fbZOzV++euJNQ98sMZ9Q5SchacUAnz6fK9O9ZxoB3HgxyanV1ZOL7zmzedHy36t4ZMakWEuGTVDfF5zKIGlRdGkWI5NXTiT/D8YI5rt06ew1mZP5PnBuIyhpqyRinAbYlO2FkURO5S9bno4jIvXiM8Qflz3Fem7hcjDePx5L9pgyexsARhdLt3VdSJkBqglGcgBt+50wtfqj1IvODSUE2UDiywD8qxsJtLPRUubBzkMHIWxASCIkAAkQkJD6Gr8RFxunrWveE3HUxZ0kSBv+GEfIGXPcHMkViXrZz67gMQbq86Xa9h7+7/Qtc4h8dq6+/YK9srnn24Ap06pB5lrPAVAYO4ZSpVDiIQXeykZcwUgUmuXc5exiBkPh26Ec8Xz0IL01BzJKjcYJzC0dwzmtEZxrJ09+zuUJNHg4RB+HQFJyGok3SfIQnS3npenPw05JNp4yKzsMB2eJI75GOQbRJYkaVW0ZgVEEsoX64Q062RJ80pxo36XFZqgLo9DR1ElpfOyB6jjmXAEGnW1onmHKscpSQ0hNxQgBDaiMaDcPsYhZBIUCnhB1riCa6EZg5ob26jHXm0+1ss81Y9BVLYeF4gIRBQOqdYbuH0kYxSz3Cs8fvGWH3r3ohv5xnSXCZbLM180XPcrfu7YMNw4j71nB4mleWb7ys7kh72hJIpc0m+EBXbCbjwdEeA8Dxv500PoWp0IcdyUiEyosmqPSKOfU6dzRN7WtEpYnSqh9hnWrlB508P0Wd4s6NsGGNzRBkV9psg7t9SdqjlbxeFpGpbNHTVtnCKNvLmlB/5NVf0qsX09zL/BnfNxwd83L63DG6DXok4oiiQzPb4lHBTdGAmRNteZzuohFrAlj8qQOS1m005L0sauxPblG7dnieC+d/YFfdNVui4+0P3Yder5i8AZnty6ie8+JFviQqF5gTEhlaJUHc/PL3l+0eMcOJLFseAmXBzS6ZSXoP2ibNwk80Hi7z0kDV9JVq61ouFa/mgE9gX9EmyNNN5Z7M3kGsaB11woZVtzFMyvX29cs6bhcHn4TE3WbIt5JOaZIU64xZqOEpbOnL1DN3J13ar5J9gJmmyn9sOAwXHB6todeLRmd18+gCMNmzoqumCT03MOoed0EVq6bxmZe5A4tnjPvGn6bhyy5N52PzpcOXxNX/6zMTOIrzu9v49KTcVjveVgy4pPWfKWnNvm/reknD9lRB+m3QHOej2Qcrp7neEaDiNSWY7IyNW9uU0EQuL64Qnonly5cXOzU361PDg5F/AMxBChGV3TwRg0UHMg9HN+FFKVTMXO+hauVyGc+Hqo9e54Ozteb1d0nBDf1UP417oWxOoefxmnGmtl3NkopvHyyS2b03boVWs+mLknPrC6hcPG7QtyoC1KdQNn7y/dNTnUSnstuiQlaUr18JayyocqBUXldNX1/ilWYKkWmMIgl2XoCgL4EfARpGy3Y0UBof8VVCIoRN0ZlBx0ASRTO24lRHPkQwMUUPkagHk65BBzgHlG88i3LQYQUXYSooDEIchlJGGHeWyhyigmnFP+EPOd1BhjH2vYawwxj1osat04T+WTML01lbQpuHlTjRbYsvzAOrJ/dGTsN2NgjDdREHk5lE1lDmc942qWkdJRvx0VmorHPNCFOq2C+4QkqaNR3uj12DHyTVIYnqFMw+ImCcekkqRdPWEMa56s3vm093DDJ6VWqdsFECzIpaLYMxzqCZtqh1cNH5ydP1GJrYXIrFRNdhu9Zvvy4/EvSv7w8AdG31PD9Ar1AiHwdREU/QJE6g3BAONpoNfLA6xBv1tj6smn35At0Wa6CV1ePGw6XkgP5hVwfD/90IGUUrEWuYORBhRjJTTeQeQqa9DVaceHIrIpNIEhkKzw8GQdzt+Hw+X6uLwYnPtvIl5cA7uRCIIpblOY9C3nYhxkyHDSs36dlEdrNiwRoAuFM6J1G66Oz9U6gcLqeKWGPSymRhfumjbN3Isfa7Qrzt6vIyCKQMwQY+1CMPC7SwTUDedM512CemXDHvCn+v9hxPfz7kVCw5eGGHITNNsEnosjmvPfnKxOdm7cHOSPR0m7FoXX/fWVK5y1AUlaM+erYGUYPh6lWefijBNJ6utmdonsiiI4pHhykHAWuBxPj2UzamMLQzuFIMo+xb8Y10owE8Oc0BC6waCDsRdSC7paSACgbcfvthBqEwtmA0d5BkJ7iQQKtr3TwImkogJDb+BeQLY32k33/dWjWTyOMyy37PCa2+NNmCSDeaEl5r75v51a8rzlaq3+X95BZDyU5mND/mNnZtSIWM/0zpsV0XLCfT1rYJ9YqlgvXoiF5YdpJFo7eTn++GclieLY8Y3fUvv0xZ5YtMfPH09NPYIyWIDxMtetNWOlW0qy/N3aw4JLW/BRfAyB+XjF3DKtdTdmm3B/Ijsts19nUtkfoTQ+nPkWrugI/sUWsPlIdiTzQ5xC+3AN70W78b4E42Gthsa/vidbvhPED2PoxgULke/pzh3v4umHogiD7rl1VZ1NZg3lr/ODSrMFj+7OzBI1WRgKFGrwm/rrpSUGm+uV0dYq+JazhsdqarmY/M9q5v/mSDQqNPy2a/CYp0Bt/0h4Ta3I4T37gmYFpd31NharIIVa/tT6dteFZQR/pPsVgGf7dVcz7haSUKp8acsM033dllIMuFHagAasuaH9OEGUaNghpU0AsTfZqnY49xrgOaR1LicbstvSmjH1Okb5gshuX7PtgRvGNOSe1kYTIglxwEqpaSk1JaeH+dsnLITK0W0bpTOiW6oH7ZXHOgM4cmDj8moMn3itjcSuVefN89h7fQO6VheJ7RfcHQPslcN8AzgfbGCDd7aTxSDQ7PYZ3jy5cSeRDyXuXFu6N2dt3XStPiyPv0xZzhRxieE3EGabqPKROdkcHijcZQyATKBiQ1nwBDzOKLAMKCJ2qUEAoG5xL8uZFm8yjUmfNjKQuRrtWeu9hp2Hs8o892ZPneKdvkCXQe5hsUUAQSATa0UNasIWJ0gbyF/W1B2p4d6fXsI/PzOoGEu3gdyDGtEF6IiAeFC8StwMtUXDdOzyI7VK7EdjTUUTOUPVMHUliTgRd0IE7a3L8xa0bG/bceeprri8+OzgTSGJ78woz/DAndW1j5epNCTIo+FgevuD1M29EgxWsLetB5xd4XHg3F1a3ze6CUM0MgZaqruG2jl2583Y1leCfoD1oQ72LkmcrceQWJ9Ma28z2YnueY5kltYfSc9t7MyeCQumplf/0uqClNPDWW9QTK+ycq0RmhnMUPQriOCWwRN6BD2EbFyrWzb2wrDh+CQsupXfIhIhG2CPTw4rmUaWVQ6Nxu1gvYTa64WRYANv8dbym/xVlGlFLksSwfTU5vlN2SSZK2Id3da7EbQ7iSw7D6aMzMd9nY2JYUNr1VkbNx5horkuVnONNW/jjyuJdZrkM8NkTXaKGRyP1ERIhu00iCCeuXS/frDussNITCOYgTtPOnEJSM2BnWgf6MDqIKsw670WgFj5G0VBJXUdrirwHHyw5lhNG5BJb3X7+jpjdjRKI60oDglCcnEXIEsbeZqfKIILYCx920vX6ESbYM0CyyTM5wbj5cTLNw5x7esS4JeC6Q3xsGRJsO/pJucGuusItQsF7fJiUMXeBhwWpgG3DQ6p6tHOgBI9GGgNQmSJrDAO83nlkJxfmoufqKOo8okl6942RennTBfmriTy4uG4rGjpsiXg/DMiSVds14x9QlV++mIcyUmH5uniJbNPyKfc8AG2Z3doeTSsYJMlGU27qaV2n2km6J7Pp1QBZxUhmYuX1ijjcA2M6aUN+qXqQIYr1bBHFfX4901AnmbBRhV3igyYvEPIwkVTg9JPUirQF1slIZ9xU5y9nMCKq/HlK9Z8CZ9rtOftuHnep0SSmUvxtHwFiLV0f/GBeG/hLmp1nWGmV+DC3YXzRu/ifXDI6i4dTp2lOo9r6alsXQeDzivkPV30m9yegFsTBiFTOHaE1L/lr5ZGS6vA5TgE1/WyTMmu/wUHs4WzvVRCu6LmBTTFfg6tktoLpd2fztN34LHO5nS8zEYe/kz+CBerDgHPvzgdFd2pMlyuXsFcQQHgyc73zlu1Wt3p6RnKH+hZai10c0Bq9peWFgh+5HdudrZfEXRnMBfMMv2Yubi8PCgas9FbDJe5f4g13ZjplRk5wCERkYUhld2trrvOGNcSSu0c3HCgF6sLxtJJC3d36xEnEo49CUOzv1wkvSIq+3PC0Yi6Xb2PMvtY3W3ud/zqw2Y1agEeByQZV0wGhDVgZc6sNVluZYTlp1mTeVjcPj1TnD2/m5gap1Zv1nf/n7K+K3u4pf8Wv3+L2o/uu3pYpUvuD1Pojag+H5dcEeC/k8qvIpTYU++WzHsbOO/eJLbJWgZMmLFxywmgFsFMxX6WdQVSzmopI6RNaqlsuub1KJBtfQcGzWDUtvbvqgdALxjsDjZ7kDduOoHbbKNOtsvTIXtDHLI/7iG2DacGTfQ/9Rql85wSjXRU3VWGDbQKqs6h8Z8p4hc2CvGiEUJYYMFz8rYLF+m9+F9+mbCFTvW7ZAr4OSkn+kTzT8CgmEZieSdW5a/StK88b6fzyq5bnHtFoNZ03m/g5EMvnA6euDxHrsbSVr+Y1Oc3Pkzg8lwh6KMoltLJWQBOr5pM6eO6o3ToQeXxw8ZlByYmxw+Y56n/fMI6qI4IlPl0R8NYmYu5JkgUNEu7ATedoabllQI0JCmJWL+KkJZ2WX5+manIXyRIyYMpg+knDz+XTJMvdklJFZA+Wdiupzlxp2NleKc62GFgsFLeRWlS0R7NKMb+sr1NWgqN6URa1iB+aSHikliZJYNGSbaYtt7khvVZOp/lCgd7ZlI49Gic63S41kjUmwnoTjFm+NTEIKzSLS/zNnJl85uBt+asinX396PQrhmPmPKGW34hMd0wm9rIqmF7IgJ+r8yQorb3Wwp2PXYm9oFEj0i7JVfOC7N6s2ibKg5prTFxRBDH5OWnf54an0zv/vlEenL85ysHJIhNR2T8PjGa3jv+x0PJBxzC30wkeOX1g5PDt7ZOxO94Ci1ocmaBC6GvoeJ0i5nkcn+3SxgLMGu4iAXcPkY+ZJkgAxQxYY+CcGsBExILOpvsdCJh0E7Uxn/OYACCKaHv3q+VvbEL5qfSGb5gHyWITO9lK1gXqIFUMZujp2npInopPZcYI2ySKn4Jj7ub0nVKuKNwLdOaSVuW9IZGvmMrYdZQxOO7ks2TRB+YUEuby524Jjf/fW1Ru/J3PrPfWEXzd4364nNv1NVZoZd7ktwTmhIVgSlDyyq9g6QTjUEvHEOvLyjkQoyKS6lcjInBNYgLeAhXVwFg5KFqCT8WYjCWL6lGPCMAVWrcBdUsBhCj4QRVEjqAA4Dxa7i+4ukBBEq5pNjPrfL7F4hUz3hJd2VMMAD9KcOV/opu/TvVtjK5BOqEjvHO3M//u5csOt5OzwDlybjad0FqIdmihjHRjnhjLs3SECes+9LO6cw4xD7NLXv9awgviFSpQxXhnOC50a2NMgnFl77/xzXUNat8UshyPz0lUL24CQgQEcAlkZPFH7eYWoKpJEWAYIsMkrat2YswooS8BOEYQsqtKkssDxBl8ADVBpcSkAIrOxDGw5gUlzQZzkMyAMlEbwGGySDEmfR2GoUK5Ri2b7oBhzwpiULBESHBkOHeKmg6yKq/+YX9Oty03b5t5CBrGVDe3n+mxCmJpqFnSea69aaviXfTesbR7xWYt2z6PeoKR+uo5RRfC129Ijmbvt9mc7nHTcm+Koi26rdJwnLjp+nXnPbI/jKv2HBU9OuZRJgd/f+Htv7vdGzdQmVbcvavs1ntB+3VTpyuX7ZW/XLm6K6fTZLxs5SuQI88IEHhu9DNm9iu+E2guu9Zz92WTGf3jNurPFNN2K5/DXb1N6HBAawJax5sksCSmiGMxAByWZ//iffnPjl/kdiMcPdOln+xXW0iwV+Qcua7kmVDmXuzAljKgIHSvnk1A2e8BdvDS70M/iyDn31J4kHnT/230tb1lZmWhLBkLhdOn7EkJdFo1WXBRYOwkSqj5VsvkLPpWAuZ2s85R1lCqu9KAcenjaCPk/JF3iLBRSt54zGQ43n+zrIatPsoakCNE6lBTtpzFGvEGjCoCSvBWrqwKqwyoiWYNbYSqxrJILzKsvngL2s8Xz9h1IU8QBHmuQKdX8yIpufdyYXJKYtTmm+rhPhmzUiMn0CXvCgSFcWe+MY5/t4WweBeZpNrmb//5crc3JLQVpcLF/SMP6fWeB78uX1pzX/+U/MqyYUqTVJ9i3/+jLf07QHY2focuO+Z3ZaEtM4eKaUZJa7NgY9Et8BeNTh1y0ab1trEJjcXLMZuSNVfyUDBqVnLq/hhXxXpba78nCsolwLg9htplRts27cgar/lgWJTA8iKt17ITuzbk7OoMCCWFEPJivWea1TMPl8xHW3nYVv7+JGGuHwj17Fv6WXN7NorGVvtG7cItqwBYMaRtT0/v81WZrtWp4vXbWdNsgk2QNzCkuJHl7JMbMKOxzZZMqmAmmmxcN/4TmbW9uEexVm3c279bkf6AY9HgHybngVNWR8mAxwDOB84GleknXhtdgg8N9AhgP23f0EQIYufmrrmeG1yathxeGrSeNBzEn2Piigl0Om4z1w3tym1moD6nUztn/s6bckIxOjyGzd6JOLRZ6urwl7FV3622fluLU44NsQMOQ6FkL/HmH7xpx1Px3QAkLhnnSxmKOCr6Fpr5wxQiH/76dP5ZiIDqnQeQimqwfmyyNmjm4ILPUE+X5kqnpQakvKaWO6U/XEOzTqUgwMlT5exo59cX1DhTDNMVdMDei29AXR1CmEGe03c06eFnkKLpdGaWqLPpFovjojYIdaKD0dGkl3JjY0VVtRMfQnVanVr68KaTiZY35BJs1g33cImxMTGKBHt0KI3M8ZHD4RU/iM2u9iYTiX+sX4IYnigCCfwLGdn6yAdcLRxXehmoxyJiw12HWuJljdF7C//8tKXFz88t3jI0LE1dmtPbczptrqy+WUr/XXxLiYlRemdzPfTxdDiXMoIT2lxd7G2rHfe8dC4QmpohXs47s6zmsH+Tgs6C6PHygPwLAQRRmAwVOjqEtKptVp2rlYBMchldpL0MqmKKHTmKnE+ncfmWWME71zomso1l+nRKgulYPDHe3pDqEbbYFdYO156P2QgSzr+/X1+OYRKGs8Kl/EmzkRjsDvaWVfWm5Ya7EJgW8tdAmV8CYHJaMBPixQuVnxaKF3AB8rjLSsXHKPLehMrtRT+Wb9XVa+OraiKqqqN/Bj1cRafNBw1XBsSqpcKyBseMF7ZvOx9MDBh8zRpnpr5VPCUqWa8Eryi71IP2CIdPZNFH6fodJXqyh5rI7NRq8J9sxnhybCsDCbLktzuZKh2jLhxxiv7I3tv0MU3Yn+tGPAjvj67mWY3mM0EIhxitGNbSPTnIoTzNHn0v5OqAwzKBU9XJnpm2m/yTom0/bzy6nSJ5e8odwgEM6nXSXweft1kyEOWwnsl244lrziIP3iKHcIOPnh4EC327KHq4dCzp/anaCpdJ+q3Btb9qLODiwD8Fe/owD3NeMdzwAHqB7/kA5UKJGdqKVYUbfxiOimk4fZtIDetIYREr+x+sj9+1MvrAO0v+pKz/LVWv1qtdZ3cM2extZKDG0h8IUPSS39FA34ySOvVB4I+wXJVcjh/uVVysnq5EV3Dc5ejc/wnKD5Ai5kaXlHzKX9aTJWjbrGa5UHJEbwoztLwZHw5ynjFmvQYqzI1vKTdDXQ3qVEpUteraBljsydmY8ulEclBywOvhZH79ar8GJgJY/Jtoi5/3Wz8CWaUqNAUMAq8Yf6WCVE+1KbHoHw3nEDwT3kf20tpH2ml7R8ttdi4djWbi/HMe9ebYQUciTguuXOpaLvrdjc2F3Fzm6vmwlzYUsXpJOk/bt0SIE+Kbj4VBL95XvF3EjuB/Z56/H0P2yhj2vWNkmgZNJyc//uB7+F/5nAejrc3nEnBvk4WCXeOP+HmnF9+KvH/J36YTwo70jgJYz9BCUEXSGnwbC7zjyfcot5/T1wv4jIes3OOLfzklv9pQbRC2O2t9VN3izQ+6PQHVxUziZtQMbHRHihVf7vogQkNvng+gA/iz5/vjwpl6xnj6ovufrPXF+YkrnUw79llFhdtEH28LV0WlylsrnJJ+RyUT1zgjWU+4el4Tw6nVluT17LqyOrcFqdfnInrmX8SCcSTI9qg7AZvSitrKSUnfdm6OXk8TdrZkNY7g7LAeFWY+IeiwfZme4Q6irSu/dKzdP+zDLCHw5kSFAzUL4XN2FAXtkQdPf+MY55ZeSV+hDPVI8Pmd21QZvMynDOcLjuf+G8K/8REnLU2/+IfzLSzcRFcArsasW13hbsalkCbv2uyfG1SUERu0VymTCQd4OpFht0snogY4apF0SDMQj3HPVvZ+5z7IrmAOcGkWJhMIYufM4ymYWl4EUCFKZmjYWRxrrvVVxkldEqe76H1gIlL8o0wCSxOZqk6aInQlAu1ggyLU+xP5g8/cXWwIN3BsTzqYBwsTnfElrcrmV5Cb5uXwj9Dt9Jul2/pfcR9DP46Vjm3umFXXkhLE9N0qc0D/9oxMuoXZkGTIc/F7P4daNal0sRpaRdCuTDCmhpoBIk5Zh1XUNS9ch7cZJNtr+PmmEEiNNbUDGSvXr3ddnvnjHW4XdPp0llJ/gOx0nW67SKZbWpSVg4gyhFMghmLybI6HwCdSJppSfXHvxqYXE5awN/3kO82zeEXmv0vVAaeTZpNBkpyyy3QtafOwzp9uNf2ozmBk9qItOmBePHetrzayQt38VrGQtUTl7IvfgsKYyOdV8rbv4Saga7jOwdm+MzAzl7NpJbry5jJzTAimVx8N3e3TQSH//X42xE5jdde1y6zjdl/eCqMoRHX/iISUmsSeC+Y6Th5KbkQLQ0gt5Kw3db1Od0/DHyjFdgB4PKPwG7fHKysjRYBS62QJ4yurTwIQhffyySAJG3mLx271fHpc/Qx3d/gPjJfrMD2Q4onOTu9XoXChXkSJbYoy8rKnKifUxPbmbaf7RdIpG2LtlGJD3LJ/AeR0aV+sgx3Mufbp0uGSF9hblKYwqWRiMUTblUDid9N8mZzt2yhlS/Q3x+1ir0hD4DuLghCnXj32CqdDCMhiVri1HnTVhbtKmwp0kwbYXU1NDp/l5VRTJBsjmXOes5byj9UNtwZ7lLetj1v8rEGCzSZWSyqBA/HTJhVJuBRLEj/1kHBil5R7avwEl8Ol4SUXnF2P2U3948D7qL6l/+0hF4nqkQSFGPWCf+s6vTr71zODk9vbHUSbnp7gphWg7RwUrEhIolkknKHQ1AJi1I5tTh1wI6f+y9IV8P0/zkxNBZwOa0xywd4xvvPK/YRk8T3m7b4f29Y4OGKy7lqUoCkEOPgCEoJRFLSfqhUydLJJOTlY6X3w6sDGnBCi99GOMSwwCIFJRBCXsxIE4WHCC4k3SIXQIyAdJKVikBkKiQw/FalHkE5i0KlkkkYRI2DBRhGEIiBrCABseh9BZDUQitrb6aXpatq6cb2FnrZs59dos87+LGjlzc5Krw8r4RxQkovO7v9UAHCSYP5//55QuQVZ9BDRSgoUwGkQdABWWFI4bWNgUiDeE4ABPKwdETEYKdXIGfInU3ZbrI11bHrxobSPR5L3r+fLOIfIpO3/RjT+C5QDyBGQVyEh07DQCe0b4Ur0gCIwbC0VAilGTBeDOCmKfD/mXznpzxcPFBOPiHjBF7cDivu0kvmvG6DX6YXgQ/bZX1gSemjRXySpyCOWV9BAgdOKRd5LznseUTqLVX6FeZGzPn3sOuc9u3tOSmftm/JmU97HqXJa3zBexEVnbfm+aId1jyNY5ybkkO/M1sVzWXPFKTEb3EREhvnMrlIXlw8KJT7Jfzd/fjD7x/6HuZ3zVOkvmp8SmmOKCgGRc6p3kPndzP6s7NU4zA7IJsQ8JtF61oVphUUnmzSTere4eP8m+R3mgO+93BN7N3em0BuoT9qecwf1Pko3JF6Ee/zH+4obISj3NMWihFt0MBRB0x1zrrRuoR/Pk24s5mYjRUe86VXJlnoMXRLUiUd394d7NjhqOyecvs74Q+3uFOuJLNII9SsM+sEBsaXorsncAGXdSpyyiKPcur2FApU7UeIHRaVnZXOT2atqurn1b8TAW8yPSF51WSphaA6UQlRoAg7yyfjrXtutHQNkAKM7p3dAbem5ojcvt3f0jDOU2mxJh0Ek3+s3ajl2XMv6NPs5eKY6R7r9bpZ6978uNgXmunf6BwORR1yADswK7dRoWNDdVaWGqrgeWugmq3QNUZbGxaBeNowf5gK4kymOBgP800wjjbKG6WBeMOi6b3sp5OTr9jsl1NTEws/nh/Phr5FZ0kHxk/6fvTLz+go6v/ll/6L+59/wfvxoz//DEL98Kxmvjbl5lJmH2vpzWdnLKuPmdBrBc2pVocXeC0z4W0CjHXoc6ib3CoptJfeR+99pmn8Wb00CSdty2m9zi8NUXAPAkp6X9GNcM3GG/V+Z6vuKIpCsbJ1bfMwE8qIlVEVRZc+PRptdZHMnpzayB+6im2K3CZv7N2Aa7r0cOFCmAb1CxfooYUL1LFpCxe+qYpSrLUFKwnxLbh4L7LOb8MYaDDSRmk/BO7tgF+osc3fjG7mT74eJV1U8R0+X/QtCMFKWltKB9NhhRmGZFgEURhngOmeqgXcI1mX7YdKdwCK4c0XpQmuAuo6Y4YpZsscpA6y2Qrs9VejCNwSSrvUToUUsKP2+Ai8B49wKQaVLOwkub3UXt4UgVV5i0q+JN0oOtHSKvXkh0E0HqjgUblUPh50BwdhfC9ZzKkvFcdblkojUBjALwUq5BSCKlMEXsJBOKJLl7YMCf93LQZgA1o6TeAamt7yRk1mryV+lxL/J9bezHiCvFkT6p4q1orRdKwkp4o0orOY5moTomn5UU/itEGaVPqRqy5y4dtmTQiKJDO0AxiIkTk4OmymVFr1YiDUZrO2tbbPt7N5qXaVayjAep1MrlSC6mKyGsQ4Ya7HtEubt/hsqanN2OQaxsH2OplcAgo63gw1BaT4p8hS5C7rVEfclYDCVQUSvOmg0zrTqPeY94T3kzTgmK9iE2wJCo9gG5XhyOE2qszSPTW11m5tw9Yjk9r21dGMqN5NDI6cjH2mMMDKCCHUexkeiLjwvIBf3Bmcfjx8eoIzFG4IDo3lF8SKhUYbse4QaggOH+JMTL9+PDi9szhcxiDZSBksjn5Tw9At7UzZJrurhoINRVCM5MGmPtQ0OM3dozSMGpR/wJlitoJXkJ3DUGQzOPAPg3JUadjDnR5oRgV8YwEPNQ/ORJt+zBD8O8ZhNBv509vNYP+G4LHmmUEDnvE7emRZaGT5UrLLwiLzsFUrYZ6LXbUqb++ASeVjFlRlZlYJKnyi8pnQYDYb1GnxcWRSNen1TSRyetDTqpi0mCp1BjCz+gFJIiFJD0/SA/whSeJI9ZQlndnSfiaZDkD9yqtmpTngha0pMTn5B5/mL3Pimn2WJyUnmmxfBJqDFl1dCUIaO3Z3a8Tv243UYaqxvc5SRo1kHwktYU4z6wTfcLFXQD2je6Aspowj45S2tcCjp7Mn/e0DONkcub2MPXbdBtj7T2ZPyuzlYCbcPmiZM1Mg00S7Jefw5RoXcWC58rDHQCLQOwjZs+aZwy3hqyPLOa5eO+2D6p0iLdG4JRGSwZZx9sryQLGLT5ECplN9kIVcMaucI3QoFZZTNkQXRvnPojrVkahdUe8iS4VMV86s8oqab6Sht6iz/FM0RRtAd7tUQ7QdaSPutn+NlDDbGEvFR6TzlBx5OpLFnLCvHeAKMrPEmomnE60lHDlrjCW3106eZNtylSrtTX92DNu/lGRFAr5OEMbJ7P0LFpbeXHHf7v5KtmrUc9QFjHDNrDS2eHuUqbUcmYOMo00NKrnpz1nLiQ9aXNYFHJCcel2DAL+oBfEHt6r4cYrQXTbptunNRVnACDZ5SiVID9kVp9jpf/YT1sci7KRsUFN96UbFT5SiWQe2XdNAw6JFBqiHIJQI5ddD11hxmX2MlK/jsaRiKYsXwGPJ7KQjPBWbJ+axwsUejPhEXSIz3sPLcRVbJlZGPh2OAFVVM6HnWZ39d2aLeMKQ/el81LKYiJZyj9yeDt1Onwp4hx2y/uOu0/72sAyvzN54NHsOFuc4iy2sbGiYqrG2HhOr4BvWA9eI1GX9vGm/chCUJiOBOSCX1m3pBFEiRRdVGCJOhb1An4yVFGEpQN9nEBVVpgMg7ZOdFp9e7fHZ/XN3GCnd1qFvQ9/x1TTD3jfba4M0n9QfY4IWiQ+By05kvL5STrFjMFIrA6m2lBjTa8dhN8r/2XcOVEtoX4lexy6iffpItm3Lju5qn4xabpJTuFw8HU/5+ucvU1ZIJtdSNbQ+Sga1jupP3TA8fVritzHcTxkIMc/Ob1g53/kHxvcNIG71nRK2uLMzkEyNyz5RfrsZuvCwnwIrcRZZA9SgeO6h7gASj7Y6fID/ss3GVq3saEdg68HMnPRro3KS18piXuf4umx5gtKIvSMUX6Uz7exY5LrLYyzbEVIrY+mDYXa7GC0jM7XFElyFBKhuxGgNgi/2ycQ7xKV2n2qseKfdUD/Z7c4p07zSvNRMaHTLE9KamqLV4+NHj4Lv59uXhpXwE0svUrrZE+Ibm1RVoJbG8PXHaO9v/H2d08gfpzOkmdyP3J+8/TKGfE9czlzha1TC7Jqa7KAnRIKhcXG16lJGZ4/iiKLnnmSxmMn7P1UmJFAopVVadAk/82clAAlyM985lKD2RzX6fG05D6Jvvp6bCH5oNnda750YAyc0No+X5uGUbWtMDZpDJaRRQNPj0LFv7ny3DauTE51LUlb8OuhZbIhjZJmfv/mnz9oEhjn3UOsO5t720qIQtrIZhGGregs/IcXCFcGOnccibqpuEqw8NrGowOKUqDzAEUX4+DZlR4gO2NWl1GXP+UA43ITIeio3AJjpqcf27sXqYXnDznn8ZlvHANs5/NKdlvKpWXNAL9p25co21AvEZAZ0nBEdeDvej3ZPF0b942/bItMKYc8wtiZa9hpsuEe4AqyekflffwbAzDUXsQ2Ae0XRCPYWmPkKLUbhAMxsxjFUBcDME6dQMAAz36ELSA3AzDN7EYzq78F6AyfQDVSx5oLvkIrkp2AXAyMuIjDxZ21I7P8doYAFh6gDB5w+S6AHB8h04492I8H1aBLlB06ifUi7ZhBtRClJ/Rewl4FLzqOoNTeNIEUW4ZEs/fXYqTVd6CEqFPws7GasEY3yGQDgBmyQFO/AzuL6HfXt8TjsXBmVEdqB2x5h/5zTiZ6jkixE1hWLs3YPzoCMkVrR1XV39SNPmrUTyhaW4hO660J/oAK5gb4MN6ItgJM0w5L/w70QeJJLnM/nRLynMv5dd9CDmfdPYzZTGz3eAcD/V4XAS/B/bHfAzQDMPM943yFj8NuhAIUxfDhI2h00o9+PJjXoGJjJRP5IZjjWzCQd/NGQSe3UYkknBsOHJfXqGZrKSfz/bV+v3/URHohMNaw7gnfxTO1/XClMytXN+4r69UkVLfuTquqOTWpac+7RW/o8l0tFA6tecJOSbl8nZTp9x5xU/wMLqP81qWLQ/fovfYtRCU1C6umFS6ySyqtXAUGxM83GUCvc5yKt9M1/ok0eAt8hXuovhkjC5uL0/H39O2QMNBzi0l6q9qYPMpq3nA16L2YKMmCrp4510+PZWf8whNNWxp3K+wIEFOoYjY02O2kJ1p9dVZ6v/ydkJR4IAbt9mf0vFER0940Lp84j+N4pHGm3rORGS9Yl5XnPoG0DMTLe8hx5ZY0wJvL5BqilTrkE+uTRGX+4Pqpymn14HI6KzrdHufBRwmRF1XRh/NeMp2U7rofAw2fF2u9xPyKERGzZEbPnwJGElIycE2cuXLlx58GTF28+fCn48RcgUBClYCGp2P/XbZJVKoYEvEW29QjTSURVYpu7RBuS18ySutRUXqycrJAayTyljZTeAnXAtdclgShd3RT1jvrUgFTRAdsWMPZE07UhbR2uCVjT3mKRAZ0wrp5ERxth24QjaOkir75/bgPBgZMRD0UdhkMr0sXjjaQFsfWiimWvtDpRjJqtsHVw0WlNnKWubYFqOvAIKcY0HXTDRLlC3rKCl0a0OUmIOWyYwGJF56CL53aX7a7Sr/erocknFhKJsw4xFtUgtyVk2XDHIx7WUA9xUX0OsWw8tHNPUQ8D1UvGi46AfYGBPdD06NJxiAsmXEM2QsepsOiKC+xHy3+lM/nw5d2hhw2Gl9cYz8OG5uFVm1KjPtTQMk2TFJolD5Jj+YS3XXqSFVJtyFk2sSFVlaOsPerODgA=') format('woff2'), - url('iconfont.woff?t=1557734072589') format('woff'), - url('iconfont.ttf?t=1557734072589') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+ */ - url('iconfont.svg?t=1557734072589#iconfont') format('svg'); /* iOS 4.1- */ -} - -.iconfont { - font-family: "iconfont" !important; - font-size: 16px; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} - -.icon-404cuowu:before { - content: "\e62f"; -} - -.icon-juanzeng:before { - content: "\e65a"; -} - -.icon-map-setting:before { - content: "\e6c8"; -} - -.icon-huiyuan:before { - content: "\e61d"; -} - -.icon-github:before { - content: "\eaf6"; -} - -.icon-logo-weibo:before { - content: "\e618"; -} - -.icon-liuyan:before { - content: "\e744"; -} - -.icon-caidan:before { - content: "\e790"; -} - -.icon-weibiaoti35:before { - content: "\e63d"; -} - -.icon-zhifubao:before { - content: "\e7ce"; -} - -.icon-shangsheng:before { - content: "\e750"; -} - -.icon-tubiaozhexiantu:before { - content: "\e79a"; -} - -.icon-qq:before { - content: "\e623"; -} - -.icon-ai-new:before { - content: "\e63b"; -} - -.icon-shiyongbangzhu1:before { - content: "\e824"; -} - -.icon-tianjia:before { - content: "\e620"; -} - -.icon-home:before { - content: "\e600"; -} - -.icon-other:before { - content: "\e627"; -} - -.icon-goods:before { - content: "\e605"; -} - -.icon-youqinglianjie:before { - content: "\e636"; -} - -.icon-icon-test:before { - content: "\e6cc"; -} - -.icon-wechat:before { - content: "\e66a"; -} - -.icon-weixin:before { - content: "\e626"; -} - -.icon-xiazai:before { - content: "\e647"; -} - -.icon-zhuzhuangtu:before { - content: "\e67a"; -} - -.icon-font:before { - content: "\e800"; -} - -.icon-wenzhang2:before { - content: "\e7c3"; -} - -.icon-web-icon-:before { - content: "\e6da"; -} - -.icon-webpage:before { - content: "\e628"; -} - -.icon-icon-test1:before { - content: "\e71c"; -} - -.icon-icon-test2:before { - content: "\e653"; -} - -.icon-icon-test3:before { - content: "\e654"; -} - -.icon-icon-test4:before { - content: "\e655"; -} - -.icon-tab:before { - content: "\e665"; -} - -.icon-pinglun:before { - content: "\e619"; -} - -.icon-denglu:before { - content: "\e67c"; -} - -.icon-liucheng:before { - content: "\e60e"; -} - -.icon-jiaose:before { - content: "\e76e"; -} - -.icon-login:before { - content: "\e766"; -} - -.icon-settings:before { - content: "\e61a"; -} - -.icon-blacklist:before { - content: "\e641"; -} - -.icon-rizhi:before { - content: "\e614"; -} - -.icon-dianliyonghuzongshu:before { - content: "\e639"; -} - -.icon-rengongzhineng:before { - content: "\e651"; -} - -.icon-jiaoseshouquan:before { - content: "\e640"; -} - -.icon-WechatIMG:before { - content: "\e630"; -} - -.icon-layer:before { - content: "\e768"; -} - -.icon-jiankongkongzhiguanlijianguan:before { - content: "\e668"; -} - -.icon-tupian:before { - content: "\e796"; -} - -.icon-jiaoseguanli:before { - content: "\e645"; -} - -.icon-peizhi-:before { - content: "\e61c"; -} - -.icon-bingtu:before { - content: "\e61b"; -} - -.icon-gongju:before { - content: "\e6fa"; -} - -.icon-huanxingtu:before { - content: "\e61f"; -} - diff --git a/font/iconfont.eot b/font/iconfont.eot deleted file mode 100644 index bd245b6..0000000 Binary files a/font/iconfont.eot and /dev/null differ diff --git a/font/iconfont.js b/font/iconfont.js deleted file mode 100644 index c1660f7..0000000 --- a/font/iconfont.js +++ /dev/null @@ -1 +0,0 @@ -!function(z){var c,a='',l=(c=document.getElementsByTagName("script"))[c.length-1].getAttribute("data-injectcss");if(l&&!z.__iconfont__svg__cssinject__){z.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}!function(c){if(document.addEventListener)if(~["complete","loaded","interactive"].indexOf(document.readyState))setTimeout(c,0);else{var l=function(){document.removeEventListener("DOMContentLoaded",l,!1),c()};document.addEventListener("DOMContentLoaded",l,!1)}else document.attachEvent&&(a=c,h=z.document,t=!1,o=function(){t||(t=!0,a())},(i=function(){try{h.documentElement.doScroll("left")}catch(c){return void setTimeout(i,50)}o()})(),h.onreadystatechange=function(){"complete"==h.readyState&&(h.onreadystatechange=null,o())});var a,h,t,o,i}(function(){var c,l;(c=document.createElement("div")).innerHTML=a,a=null,(l=c.getElementsByTagName("svg")[0])&&(l.setAttribute("aria-hidden","true"),l.style.position="absolute",l.style.width=0,l.style.height=0,l.style.overflow="hidden",function(c,l){l.firstChild?function(c,l){l.parentNode.insertBefore(c,l)}(c,l.firstChild):l.appendChild(c)}(l,document.body))})}(window); \ No newline at end of file diff --git a/font/iconfont.svg b/font/iconfont.svg deleted file mode 100644 index 46077a0..0000000 --- a/font/iconfont.svg +++ /dev/null @@ -1,188 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/font/iconfont.ttf b/font/iconfont.ttf deleted file mode 100644 index 5b92515..0000000 Binary files a/font/iconfont.ttf and /dev/null differ diff --git a/font/iconfont.woff b/font/iconfont.woff deleted file mode 100644 index 6595f5b..0000000 Binary files a/font/iconfont.woff and /dev/null differ diff --git a/font/iconfont.woff2 b/font/iconfont.woff2 deleted file mode 100644 index b8c3439..0000000 Binary files a/font/iconfont.woff2 and /dev/null differ diff --git a/imgs/bg.png b/imgs/bg.png deleted file mode 100644 index c518e9d..0000000 Binary files a/imgs/bg.png and /dev/null differ diff --git a/imgs/favicon.ico b/imgs/favicon.ico deleted file mode 100644 index 3523aa1..0000000 Binary files a/imgs/favicon.ico and /dev/null differ diff --git a/imgs/head.png b/imgs/head.png deleted file mode 100644 index cca76db..0000000 Binary files a/imgs/head.png and /dev/null differ diff --git a/imgs/ok.png b/imgs/ok.png deleted file mode 100644 index 9ffb82c..0000000 Binary files a/imgs/ok.png and /dev/null differ diff --git a/imgs/qq.jpeg b/imgs/qq.jpeg deleted file mode 100644 index d6d850e..0000000 Binary files a/imgs/qq.jpeg and /dev/null differ diff --git a/imgs/wx.jpg b/imgs/wx.jpg deleted file mode 100644 index ad22c4a..0000000 Binary files a/imgs/wx.jpg and /dev/null differ diff --git a/imgs/zfb.jpg b/imgs/zfb.jpg deleted file mode 100644 index ce88c7a..0000000 Binary files a/imgs/zfb.jpg and /dev/null differ diff --git a/index.html b/index.html deleted file mode 100644 index 0c9a092..0000000 --- a/index.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - ok-admin v1.0 | 很赞的后台模版 - - - - - - - -
- -
- - - - -
- -
-
-
    -
-
-
- -
-
-
    -
  • 控制台
  • -
-
-
- -
-
-
-
- - -
-
- - - - - - - - - - diff --git a/js/okadmin.js b/js/okadmin.js deleted file mode 100644 index de270ea..0000000 --- a/js/okadmin.js +++ /dev/null @@ -1,135 +0,0 @@ -layui.config({ - base: "lib/okPlugins/" -}).extend({ - okTab: "okTab", - okUtils: "okUtils", - okMenu: "okMenu" -}).use(["element", "layer", "okTab", "okMenu"], function () { - var element = layui.element; - var layer = layui.layer; - var okTab = layui.okTab; - var okMenu = layui.okMenu; - var $ = layui.jquery; - - /** - * localhost运行提示 - */ - var href = location.href; - if (href.substring(0, 4) != "http") { - layer.msg("请先部署到localhost环境下再访问!", {icon: 7, time: 3000, anim: 1}); - } - - /** - * 左边菜单显示/隐藏功能 - * @type {boolean} - */ - $(".menu-switch").click(function () { - if ($(".layui-layout-admin .layui-side").css("left") == '0px') { - $(".layui-layout-admin .layui-side").animate({left: "-200px"}); - $(".layui-layout-admin .content-body").animate({left: "0px"}); - $(".layui-layout-admin .layui-footer").animate({left: "0px"}); - } else { - $(".layui-layout-admin .layui-side").animate({left: "0px"}); - $(".layui-layout-admin .content-body").animate({left: "200px"}); - $(".layui-layout-admin .layui-footer").animate({left: "200px"}); - } - }); - - /** - * 生成左侧菜单树 - */ - okMenu.generatorMenu("data/menu.json", "get"); - - /** - * 监听导航菜单的点击 - */ - element.on("nav(navFilter)", function (elem) { - var path = elem.context.attributes.path; - if (path && path.textContent != "") { - // var title = elem.context.innerHTML; - var title = elem.context.innerText; - title = title.substring(title.indexOf(" "), title.length); - var path = path.textContent; - okTab.add(title, path) - } - }); - - /** - * 修改copyright结束时间 - */ - var data = new Date(); - var year = data.getFullYear(); - $("#endYear").text(year); - - /** - * 捐赠作者 - */ - $(".layui-footer button.donate").click(function () { - layer.tab({ - area: ["330px", "350px"], - tab: [{ - title: "支付宝", - content: "" - }, { - title: "微信", - content: "" - }] - }); - }); - - /** - * QQ群交流 - */ - $(".layui-footer button.communication").click(function () { - layer.tab({ - area: ["330px", "350px"], - tab: [{ - title: "QQ群", - content: "" - }] - }); - }); - - /** - * 退出操作 - */ - $("#logout").click(function () { - layer.confirm("确定要退出吗?", {skin: 'layui-layer-lan', icon: 3, title: '提示', anim: 6}, function () { - window.location = "pages/user/login.html"; - }); - }); - - /** - * 锁定账户 - */ - $("#lock").click(function () { - layer.confirm("确定要锁定账户吗?", {skin: 'layui-layer-lan', icon: 4, title: '提示', anim: 1}, function (index) { - layer.close(index); - $(".yy").show(); - layer.prompt({ - btn: ['确定'], - title: '输入密码解锁(123456)', - closeBtn: 0, - formType: 1 - }, function (value, index, elem) { - if (value == "123456") { - layer.close(index); - $(".yy").hide(); - } else { - layer.msg('密码错误', {anim: 6}); - } - }); - }); - }); - - console.log(" __ .___ .__ \n" + - " ____ | | __ _____ __| _/_____ |__| ____ \n" + - " / _ \\| |/ / ______ \\__ \\ / __ |/ \\| |/ \\ \n" + - "( <_> ) < /_____/ / __ \\_/ /_/ | Y Y \\ | | \\\n" + - " \\____/|__|_ \\ (____ /\\____ |__|_| /__|___| /\n" + - " \\/ \\/ \\/ \\/ \\/ \n" + - "版本:v1.0\n" + - "作者:bobi\n" + - "邮箱:bobi1234@foxmail.com\n" + - "描述:一个很赞的,扁平化风格的,响应式布局的后台管理模版,旨为后端程序员减压!") -}); diff --git a/lib/animate/animate.css b/lib/animate/animate.css deleted file mode 100644 index dfb774a..0000000 --- a/lib/animate/animate.css +++ /dev/null @@ -1,3623 +0,0 @@ -@charset "UTF-8"; - -/*! - * animate.css -http://daneden.me/animate - * Version - 3.7.0 - * Licensed under the MIT license - http://opensource.org/licenses/MIT - * - * Copyright (c) 2018 Daniel Eden - */ - -@-webkit-keyframes bounce { - from, - 20%, - 53%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 40%, - 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -4px, 0); - transform: translate3d(0, -4px, 0); - } -} - -@keyframes bounce { - from, - 20%, - 53%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 40%, - 43% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -30px, 0); - transform: translate3d(0, -30px, 0); - } - - 70% { - -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06); - -webkit-transform: translate3d(0, -15px, 0); - transform: translate3d(0, -15px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -4px, 0); - transform: translate3d(0, -4px, 0); - } -} - -.bounce { - -webkit-animation-name: bounce; - animation-name: bounce; - -webkit-transform-origin: center bottom; - transform-origin: center bottom; -} - -@-webkit-keyframes flash { - from, - 50%, - to { - opacity: 1; - } - - 25%, - 75% { - opacity: 0; - } -} - -@keyframes flash { - from, - 50%, - to { - opacity: 1; - } - - 25%, - 75% { - opacity: 0; - } -} - -.flash { - -webkit-animation-name: flash; - animation-name: flash; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes pulse { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 50% { - -webkit-transform: scale3d(1.05, 1.05, 1.05); - transform: scale3d(1.05, 1.05, 1.05); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.pulse { - -webkit-animation-name: pulse; - animation-name: pulse; -} - -@-webkit-keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes rubberBand { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 30% { - -webkit-transform: scale3d(1.25, 0.75, 1); - transform: scale3d(1.25, 0.75, 1); - } - - 40% { - -webkit-transform: scale3d(0.75, 1.25, 1); - transform: scale3d(0.75, 1.25, 1); - } - - 50% { - -webkit-transform: scale3d(1.15, 0.85, 1); - transform: scale3d(1.15, 0.85, 1); - } - - 65% { - -webkit-transform: scale3d(0.95, 1.05, 1); - transform: scale3d(0.95, 1.05, 1); - } - - 75% { - -webkit-transform: scale3d(1.05, 0.95, 1); - transform: scale3d(1.05, 0.95, 1); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.rubberBand { - -webkit-animation-name: rubberBand; - animation-name: rubberBand; -} - -@-webkit-keyframes shake { - from, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -@keyframes shake { - from, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 10%, - 30%, - 50%, - 70%, - 90% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 20%, - 40%, - 60%, - 80% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } -} - -.shake { - -webkit-animation-name: shake; - animation-name: shake; -} - -@-webkit-keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -@keyframes headShake { - 0% { - -webkit-transform: translateX(0); - transform: translateX(0); - } - - 6.5% { - -webkit-transform: translateX(-6px) rotateY(-9deg); - transform: translateX(-6px) rotateY(-9deg); - } - - 18.5% { - -webkit-transform: translateX(5px) rotateY(7deg); - transform: translateX(5px) rotateY(7deg); - } - - 31.5% { - -webkit-transform: translateX(-3px) rotateY(-5deg); - transform: translateX(-3px) rotateY(-5deg); - } - - 43.5% { - -webkit-transform: translateX(2px) rotateY(3deg); - transform: translateX(2px) rotateY(3deg); - } - - 50% { - -webkit-transform: translateX(0); - transform: translateX(0); - } -} - -.headShake { - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - -webkit-animation-name: headShake; - animation-name: headShake; -} - -@-webkit-keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -@keyframes swing { - 20% { - -webkit-transform: rotate3d(0, 0, 1, 15deg); - transform: rotate3d(0, 0, 1, 15deg); - } - - 40% { - -webkit-transform: rotate3d(0, 0, 1, -10deg); - transform: rotate3d(0, 0, 1, -10deg); - } - - 60% { - -webkit-transform: rotate3d(0, 0, 1, 5deg); - transform: rotate3d(0, 0, 1, 5deg); - } - - 80% { - -webkit-transform: rotate3d(0, 0, 1, -5deg); - transform: rotate3d(0, 0, 1, -5deg); - } - - to { - -webkit-transform: rotate3d(0, 0, 1, 0deg); - transform: rotate3d(0, 0, 1, 0deg); - } -} - -.swing { - -webkit-transform-origin: top center; - transform-origin: top center; - -webkit-animation-name: swing; - animation-name: swing; -} - -@-webkit-keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - } - - 30%, - 50%, - 70%, - 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, - 60%, - 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes tada { - from { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } - - 10%, - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg); - } - - 30%, - 50%, - 70%, - 90% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg); - } - - 40%, - 60%, - 80% { - -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg); - } - - to { - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.tada { - -webkit-animation-name: tada; - animation-name: tada; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes wobble { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes wobble { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 15% { - -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg); - } - - 30% { - -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg); - } - - 45% { - -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg); - } - - 60% { - -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg); - } - - 75% { - -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.wobble { - -webkit-animation-name: wobble; - animation-name: wobble; -} - -@-webkit-keyframes jello { - from, - 11.1%, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -@keyframes jello { - from, - 11.1%, - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - 22.2% { - -webkit-transform: skewX(-12.5deg) skewY(-12.5deg); - transform: skewX(-12.5deg) skewY(-12.5deg); - } - - 33.3% { - -webkit-transform: skewX(6.25deg) skewY(6.25deg); - transform: skewX(6.25deg) skewY(6.25deg); - } - - 44.4% { - -webkit-transform: skewX(-3.125deg) skewY(-3.125deg); - transform: skewX(-3.125deg) skewY(-3.125deg); - } - - 55.5% { - -webkit-transform: skewX(1.5625deg) skewY(1.5625deg); - transform: skewX(1.5625deg) skewY(1.5625deg); - } - - 66.6% { - -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg); - transform: skewX(-0.78125deg) skewY(-0.78125deg); - } - - 77.7% { - -webkit-transform: skewX(0.390625deg) skewY(0.390625deg); - transform: skewX(0.390625deg) skewY(0.390625deg); - } - - 88.8% { - -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - transform: skewX(-0.1953125deg) skewY(-0.1953125deg); - } -} - -.jello { - -webkit-animation-name: jello; - animation-name: jello; - -webkit-transform-origin: center; - transform-origin: center; -} - -@-webkit-keyframes heartBeat { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 14% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 28% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 42% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 70% { - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes heartBeat { - 0% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 14% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 28% { - -webkit-transform: scale(1); - transform: scale(1); - } - - 42% { - -webkit-transform: scale(1.3); - transform: scale(1.3); - } - - 70% { - -webkit-transform: scale(1); - transform: scale(1); - } -} - -.heartBeat { - -webkit-animation-name: heartBeat; - animation-name: heartBeat; - -webkit-animation-duration: 1.3s; - animation-duration: 1.3s; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; -} - -@-webkit-keyframes bounceIn { - from, - 20%, - 40%, - 60%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -@keyframes bounceIn { - from, - 20%, - 40%, - 60%, - 80%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 20% { - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - 40% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(1.03, 1.03, 1.03); - transform: scale3d(1.03, 1.03, 1.03); - } - - 80% { - -webkit-transform: scale3d(0.97, 0.97, 0.97); - transform: scale3d(0.97, 0.97, 0.97); - } - - to { - opacity: 1; - -webkit-transform: scale3d(1, 1, 1); - transform: scale3d(1, 1, 1); - } -} - -.bounceIn { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: bounceIn; - animation-name: bounceIn; -} - -@-webkit-keyframes bounceInDown { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInDown { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(0, -3000px, 0); - transform: translate3d(0, -3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, 25px, 0); - transform: translate3d(0, 25px, 0); - } - - 75% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, 5px, 0); - transform: translate3d(0, 5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInDown { - -webkit-animation-name: bounceInDown; - animation-name: bounceInDown; -} - -@-webkit-keyframes bounceInLeft { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInLeft { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - 0% { - opacity: 0; - -webkit-transform: translate3d(-3000px, 0, 0); - transform: translate3d(-3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(25px, 0, 0); - transform: translate3d(25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(-10px, 0, 0); - transform: translate3d(-10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(5px, 0, 0); - transform: translate3d(5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInLeft { - -webkit-animation-name: bounceInLeft; - animation-name: bounceInLeft; -} - -@-webkit-keyframes bounceInRight { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInRight { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(3000px, 0, 0); - transform: translate3d(3000px, 0, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(-25px, 0, 0); - transform: translate3d(-25px, 0, 0); - } - - 75% { - -webkit-transform: translate3d(10px, 0, 0); - transform: translate3d(10px, 0, 0); - } - - 90% { - -webkit-transform: translate3d(-5px, 0, 0); - transform: translate3d(-5px, 0, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInRight { - -webkit-animation-name: bounceInRight; - animation-name: bounceInRight; -} - -@-webkit-keyframes bounceInUp { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes bounceInUp { - from, - 60%, - 75%, - 90%, - to { - -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); - } - - from { - opacity: 0; - -webkit-transform: translate3d(0, 3000px, 0); - transform: translate3d(0, 3000px, 0); - } - - 60% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - 75% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 90% { - -webkit-transform: translate3d(0, -5px, 0); - transform: translate3d(0, -5px, 0); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.bounceInUp { - -webkit-animation-name: bounceInUp; - animation-name: bounceInUp; -} - -@-webkit-keyframes bounceOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -@keyframes bounceOut { - 20% { - -webkit-transform: scale3d(0.9, 0.9, 0.9); - transform: scale3d(0.9, 0.9, 0.9); - } - - 50%, - 55% { - opacity: 1; - -webkit-transform: scale3d(1.1, 1.1, 1.1); - transform: scale3d(1.1, 1.1, 1.1); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } -} - -.bounceOut { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: bounceOut; - animation-name: bounceOut; -} - -@-webkit-keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes bounceOutDown { - 20% { - -webkit-transform: translate3d(0, 10px, 0); - transform: translate3d(0, 10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, -20px, 0); - transform: translate3d(0, -20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.bounceOutDown { - -webkit-animation-name: bounceOutDown; - animation-name: bounceOutDown; -} - -@-webkit-keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes bounceOutLeft { - 20% { - opacity: 1; - -webkit-transform: translate3d(20px, 0, 0); - transform: translate3d(20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.bounceOutLeft { - -webkit-animation-name: bounceOutLeft; - animation-name: bounceOutLeft; -} - -@-webkit-keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes bounceOutRight { - 20% { - opacity: 1; - -webkit-transform: translate3d(-20px, 0, 0); - transform: translate3d(-20px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.bounceOutRight { - -webkit-animation-name: bounceOutRight; - animation-name: bounceOutRight; -} - -@-webkit-keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes bounceOutUp { - 20% { - -webkit-transform: translate3d(0, -10px, 0); - transform: translate3d(0, -10px, 0); - } - - 40%, - 45% { - opacity: 1; - -webkit-transform: translate3d(0, 20px, 0); - transform: translate3d(0, 20px, 0); - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.bounceOutUp { - -webkit-animation-name: bounceOutUp; - animation-name: bounceOutUp; -} - -@-webkit-keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -@keyframes fadeIn { - from { - opacity: 0; - } - - to { - opacity: 1; - } -} - -.fadeIn { - -webkit-animation-name: fadeIn; - animation-name: fadeIn; -} - -@-webkit-keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInDown { - from { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInDown { - -webkit-animation-name: fadeInDown; - animation-name: fadeInDown; -} - -@-webkit-keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInDownBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInDownBig { - -webkit-animation-name: fadeInDownBig; - animation-name: fadeInDownBig; -} - -@-webkit-keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInLeft { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInLeft { - -webkit-animation-name: fadeInLeft; - animation-name: fadeInLeft; -} - -@-webkit-keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInLeftBig { - from { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInLeftBig { - -webkit-animation-name: fadeInLeftBig; - animation-name: fadeInLeftBig; -} - -@-webkit-keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInRight { - from { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInRight { - -webkit-animation-name: fadeInRight; - animation-name: fadeInRight; -} - -@-webkit-keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInRightBig { - from { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInRightBig { - -webkit-animation-name: fadeInRightBig; - animation-name: fadeInRightBig; -} - -@-webkit-keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInUp { - from { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInUp { - -webkit-animation-name: fadeInUp; - animation-name: fadeInUp; -} - -@-webkit-keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes fadeInUpBig { - from { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.fadeInUpBig { - -webkit-animation-name: fadeInUpBig; - animation-name: fadeInUpBig; -} - -@-webkit-keyframes fadeOut { - from { - opacity: 1; - } - - to { - opacity: 0; - } -} - -@keyframes fadeOut { - from { - opacity: 1; - } - - to { - opacity: 0; - } -} - -.fadeOut { - -webkit-animation-name: fadeOut; - animation-name: fadeOut; -} - -@-webkit-keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes fadeOutDown { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.fadeOutDown { - -webkit-animation-name: fadeOutDown; - animation-name: fadeOutDown; -} - -@-webkit-keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -@keyframes fadeOutDownBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, 2000px, 0); - transform: translate3d(0, 2000px, 0); - } -} - -.fadeOutDownBig { - -webkit-animation-name: fadeOutDownBig; - animation-name: fadeOutDownBig; -} - -@-webkit-keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes fadeOutLeft { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.fadeOutLeft { - -webkit-animation-name: fadeOutLeft; - animation-name: fadeOutLeft; -} - -@-webkit-keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -@keyframes fadeOutLeftBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(-2000px, 0, 0); - transform: translate3d(-2000px, 0, 0); - } -} - -.fadeOutLeftBig { - -webkit-animation-name: fadeOutLeftBig; - animation-name: fadeOutLeftBig; -} - -@-webkit-keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes fadeOutRight { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.fadeOutRight { - -webkit-animation-name: fadeOutRight; - animation-name: fadeOutRight; -} - -@-webkit-keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -@keyframes fadeOutRightBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(2000px, 0, 0); - transform: translate3d(2000px, 0, 0); - } -} - -.fadeOutRightBig { - -webkit-animation-name: fadeOutRightBig; - animation-name: fadeOutRightBig; -} - -@-webkit-keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes fadeOutUp { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.fadeOutUp { - -webkit-animation-name: fadeOutUp; - animation-name: fadeOutUp; -} - -@-webkit-keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -@keyframes fadeOutUpBig { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(0, -2000px, 0); - transform: translate3d(0, -2000px, 0); - } -} - -.fadeOutUpBig { - -webkit-animation-name: fadeOutUpBig; - animation-name: fadeOutUpBig; -} - -@-webkit-keyframes flip { - from { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -@keyframes flip { - from { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, -360deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 40% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -190deg); - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; - } - - 50% { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) - rotate3d(0, 1, 0, -170deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 80% { - -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - to { - -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) - rotate3d(0, 1, 0, 0deg); - transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } -} - -.animated.flip { - -webkit-backface-visibility: visible; - backface-visibility: visible; - -webkit-animation-name: flip; - animation-name: flip; -} - -@-webkit-keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInX { - from { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - transform: perspective(400px) rotate3d(1, 0, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - transform: perspective(400px) rotate3d(1, 0, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInX { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInX; - animation-name: flipInX; -} - -@-webkit-keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -@keyframes flipInY { - from { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - opacity: 0; - } - - 40% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - transform: perspective(400px) rotate3d(0, 1, 0, -20deg); - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; - } - - 60% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - transform: perspective(400px) rotate3d(0, 1, 0, 10deg); - opacity: 1; - } - - 80% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - transform: perspective(400px) rotate3d(0, 1, 0, -5deg); - } - - to { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } -} - -.flipInY { - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipInY; - animation-name: flipInY; -} - -@-webkit-keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutX { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - transform: perspective(400px) rotate3d(1, 0, 0, -20deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - transform: perspective(400px) rotate3d(1, 0, 0, 90deg); - opacity: 0; - } -} - -.flipOutX { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-animation-name: flipOutX; - animation-name: flipOutX; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; -} - -@-webkit-keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -@keyframes flipOutY { - from { - -webkit-transform: perspective(400px); - transform: perspective(400px); - } - - 30% { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - transform: perspective(400px) rotate3d(0, 1, 0, -15deg); - opacity: 1; - } - - to { - -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - transform: perspective(400px) rotate3d(0, 1, 0, 90deg); - opacity: 0; - } -} - -.flipOutY { - -webkit-animation-duration: 0.75s; - animation-duration: 0.75s; - -webkit-backface-visibility: visible !important; - backface-visibility: visible !important; - -webkit-animation-name: flipOutY; - animation-name: flipOutY; -} - -@-webkit-keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes lightSpeedIn { - from { - -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg); - transform: translate3d(100%, 0, 0) skewX(-30deg); - opacity: 0; - } - - 60% { - -webkit-transform: skewX(20deg); - transform: skewX(20deg); - opacity: 1; - } - - 80% { - -webkit-transform: skewX(-5deg); - transform: skewX(-5deg); - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.lightSpeedIn { - -webkit-animation-name: lightSpeedIn; - animation-name: lightSpeedIn; - -webkit-animation-timing-function: ease-out; - animation-timing-function: ease-out; -} - -@-webkit-keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -@keyframes lightSpeedOut { - from { - opacity: 1; - } - - to { - -webkit-transform: translate3d(100%, 0, 0) skewX(30deg); - transform: translate3d(100%, 0, 0) skewX(30deg); - opacity: 0; - } -} - -.lightSpeedOut { - -webkit-animation-name: lightSpeedOut; - animation-name: lightSpeedOut; - -webkit-animation-timing-function: ease-in; - animation-timing-function: ease-in; -} - -@-webkit-keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateIn { - from { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, -200deg); - transform: rotate3d(0, 0, 1, -200deg); - opacity: 0; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateIn { - -webkit-animation-name: rotateIn; - animation-name: rotateIn; -} - -@-webkit-keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInDownLeft { - -webkit-animation-name: rotateInDownLeft; - animation-name: rotateInDownLeft; -} - -@-webkit-keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInDownRight { - -webkit-animation-name: rotateInDownRight; - animation-name: rotateInDownRight; -} - -@-webkit-keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInUpLeft { - -webkit-animation-name: rotateInUpLeft; - animation-name: rotateInUpLeft; -} - -@-webkit-keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -@keyframes rotateInUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -90deg); - transform: rotate3d(0, 0, 1, -90deg); - opacity: 0; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.rotateInUpRight { - -webkit-animation-name: rotateInUpRight; - animation-name: rotateInUpRight; -} - -@-webkit-keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -@keyframes rotateOut { - from { - -webkit-transform-origin: center; - transform-origin: center; - opacity: 1; - } - - to { - -webkit-transform-origin: center; - transform-origin: center; - -webkit-transform: rotate3d(0, 0, 1, 200deg); - transform: rotate3d(0, 0, 1, 200deg); - opacity: 0; - } -} - -.rotateOut { - -webkit-animation-name: rotateOut; - animation-name: rotateOut; -} - -@-webkit-keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, 45deg); - transform: rotate3d(0, 0, 1, 45deg); - opacity: 0; - } -} - -.rotateOutDownLeft { - -webkit-animation-name: rotateOutDownLeft; - animation-name: rotateOutDownLeft; -} - -@-webkit-keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutDownRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutDownRight { - -webkit-animation-name: rotateOutDownRight; - animation-name: rotateOutDownRight; -} - -@-webkit-keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -@keyframes rotateOutUpLeft { - from { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: left bottom; - transform-origin: left bottom; - -webkit-transform: rotate3d(0, 0, 1, -45deg); - transform: rotate3d(0, 0, 1, -45deg); - opacity: 0; - } -} - -.rotateOutUpLeft { - -webkit-animation-name: rotateOutUpLeft; - animation-name: rotateOutUpLeft; -} - -@-webkit-keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -@keyframes rotateOutUpRight { - from { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - opacity: 1; - } - - to { - -webkit-transform-origin: right bottom; - transform-origin: right bottom; - -webkit-transform: rotate3d(0, 0, 1, 90deg); - transform: rotate3d(0, 0, 1, 90deg); - opacity: 0; - } -} - -.rotateOutUpRight { - -webkit-animation-name: rotateOutUpRight; - animation-name: rotateOutUpRight; -} - -@-webkit-keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, - 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, - 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -@keyframes hinge { - 0% { - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 20%, - 60% { - -webkit-transform: rotate3d(0, 0, 1, 80deg); - transform: rotate3d(0, 0, 1, 80deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - } - - 40%, - 80% { - -webkit-transform: rotate3d(0, 0, 1, 60deg); - transform: rotate3d(0, 0, 1, 60deg); - -webkit-transform-origin: top left; - transform-origin: top left; - -webkit-animation-timing-function: ease-in-out; - animation-timing-function: ease-in-out; - opacity: 1; - } - - to { - -webkit-transform: translate3d(0, 700px, 0); - transform: translate3d(0, 700px, 0); - opacity: 0; - } -} - -.hinge { - -webkit-animation-duration: 2s; - animation-duration: 2s; - -webkit-animation-name: hinge; - animation-name: hinge; -} - -@-webkit-keyframes jackInTheBox { - from { - opacity: 0; - -webkit-transform: scale(0.1) rotate(30deg); - transform: scale(0.1) rotate(30deg); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - } - - 50% { - -webkit-transform: rotate(-10deg); - transform: rotate(-10deg); - } - - 70% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); - } - - to { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -@keyframes jackInTheBox { - from { - opacity: 0; - -webkit-transform: scale(0.1) rotate(30deg); - transform: scale(0.1) rotate(30deg); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - } - - 50% { - -webkit-transform: rotate(-10deg); - transform: rotate(-10deg); - } - - 70% { - -webkit-transform: rotate(3deg); - transform: rotate(3deg); - } - - to { - opacity: 1; - -webkit-transform: scale(1); - transform: scale(1); - } -} - -.jackInTheBox { - -webkit-animation-name: jackInTheBox; - animation-name: jackInTheBox; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes rollIn { - from { - opacity: 0; - -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg); - } - - to { - opacity: 1; - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.rollIn { - -webkit-animation-name: rollIn; - animation-name: rollIn; -} - -/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */ - -@-webkit-keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -@keyframes rollOut { - from { - opacity: 1; - } - - to { - opacity: 0; - -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg); - } -} - -.rollOut { - -webkit-animation-name: rollOut; - animation-name: rollOut; -} - -@-webkit-keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 50% { - opacity: 1; - } -} - -@keyframes zoomIn { - from { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - 50% { - opacity: 1; - } -} - -.zoomIn { - -webkit-animation-name: zoomIn; - animation-name: zoomIn; -} - -@-webkit-keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInDown { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInDown { - -webkit-animation-name: zoomInDown; - animation-name: zoomInDown; -} - -@-webkit-keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInLeft { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInLeft { - -webkit-animation-name: zoomInLeft; - animation-name: zoomInLeft; -} - -@-webkit-keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInRight { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInRight { - -webkit-animation-name: zoomInRight; - animation-name: zoomInRight; -} - -@-webkit-keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomInUp { - from { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - 60% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomInUp { - -webkit-animation-name: zoomInUp; - animation-name: zoomInUp; -} - -@-webkit-keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - to { - opacity: 0; - } -} - -@keyframes zoomOut { - from { - opacity: 1; - } - - 50% { - opacity: 0; - -webkit-transform: scale3d(0.3, 0.3, 0.3); - transform: scale3d(0.3, 0.3, 0.3); - } - - to { - opacity: 0; - } -} - -.zoomOut { - -webkit-animation-name: zoomOut; - animation-name: zoomOut; -} - -@-webkit-keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomOutDown { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomOutDown { - -webkit-animation-name: zoomOutDown; - animation-name: zoomOutDown; -} - -@-webkit-keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); - transform: scale(0.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -@keyframes zoomOutLeft { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0); - transform: scale(0.1) translate3d(-2000px, 0, 0); - -webkit-transform-origin: left center; - transform-origin: left center; - } -} - -.zoomOutLeft { - -webkit-animation-name: zoomOutLeft; - animation-name: zoomOutLeft; -} - -@-webkit-keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); - transform: scale(0.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -@keyframes zoomOutRight { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0); - } - - to { - opacity: 0; - -webkit-transform: scale(0.1) translate3d(2000px, 0, 0); - transform: scale(0.1) translate3d(2000px, 0, 0); - -webkit-transform-origin: right center; - transform-origin: right center; - } -} - -.zoomOutRight { - -webkit-animation-name: zoomOutRight; - animation-name: zoomOutRight; -} - -@-webkit-keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -@keyframes zoomOutUp { - 40% { - opacity: 1; - -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0); - -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); - } - - to { - opacity: 0; - -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0); - -webkit-transform-origin: center bottom; - transform-origin: center bottom; - -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1); - } -} - -.zoomOutUp { - -webkit-animation-name: zoomOutUp; - animation-name: zoomOutUp; -} - -@-webkit-keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInDown { - from { - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInDown { - -webkit-animation-name: slideInDown; - animation-name: slideInDown; -} - -@-webkit-keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInLeft { - from { - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInLeft { - -webkit-animation-name: slideInLeft; - animation-name: slideInLeft; -} - -@-webkit-keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInRight { - from { - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInRight { - -webkit-animation-name: slideInRight; - animation-name: slideInRight; -} - -@-webkit-keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -@keyframes slideInUp { - from { - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - visibility: visible; - } - - to { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } -} - -.slideInUp { - -webkit-animation-name: slideInUp; - animation-name: slideInUp; -} - -@-webkit-keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -@keyframes slideOutDown { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, 100%, 0); - transform: translate3d(0, 100%, 0); - } -} - -.slideOutDown { - -webkit-animation-name: slideOutDown; - animation-name: slideOutDown; -} - -@-webkit-keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -@keyframes slideOutLeft { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(-100%, 0, 0); - transform: translate3d(-100%, 0, 0); - } -} - -.slideOutLeft { - -webkit-animation-name: slideOutLeft; - animation-name: slideOutLeft; -} - -@-webkit-keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -@keyframes slideOutRight { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(100%, 0, 0); - transform: translate3d(100%, 0, 0); - } -} - -.slideOutRight { - -webkit-animation-name: slideOutRight; - animation-name: slideOutRight; -} - -@-webkit-keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -@keyframes slideOutUp { - from { - -webkit-transform: translate3d(0, 0, 0); - transform: translate3d(0, 0, 0); - } - - to { - visibility: hidden; - -webkit-transform: translate3d(0, -100%, 0); - transform: translate3d(0, -100%, 0); - } -} - -.slideOutUp { - -webkit-animation-name: slideOutUp; - animation-name: slideOutUp; -} - -.animated { - -webkit-animation-duration: 1s; - animation-duration: 1s; - -webkit-animation-fill-mode: both; - animation-fill-mode: both; -} - -.animated.infinite { - -webkit-animation-iteration-count: infinite; - animation-iteration-count: infinite; -} - -.animated.delay-1s { - -webkit-animation-delay: 1s; - animation-delay: 1s; -} - -.animated.delay-2s { - -webkit-animation-delay: 2s; - animation-delay: 2s; -} - -.animated.delay-3s { - -webkit-animation-delay: 3s; - animation-delay: 3s; -} - -.animated.delay-4s { - -webkit-animation-delay: 4s; - animation-delay: 4s; -} - -.animated.delay-5s { - -webkit-animation-delay: 5s; - animation-delay: 5s; -} - -.animated.fast { - -webkit-animation-duration: 800ms; - animation-duration: 800ms; -} - -.animated.faster { - -webkit-animation-duration: 500ms; - animation-duration: 500ms; -} - -.animated.slow { - -webkit-animation-duration: 2s; - animation-duration: 2s; -} - -.animated.slower { - -webkit-animation-duration: 3s; - animation-duration: 3s; -} - -@media (print), (prefers-reduced-motion) { - .animated { - -webkit-animation: unset !important; - animation: unset !important; - -webkit-transition: none !important; - transition: none !important; - } -} diff --git a/lib/echarts/echarts.common.min.js b/lib/echarts/echarts.common.min.js deleted file mode 100644 index cdf14db..0000000 --- a/lib/echarts/echarts.common.min.js +++ /dev/null @@ -1,22 +0,0 @@ - -/* -* Licensed to the Apache Software Foundation (ASF) under one -* or more contributor license agreements. See the NOTICE file -* distributed with this work for additional information -* regarding copyright ownership. The ASF licenses this file -* to you under the Apache License, Version 2.0 (the -* "License"); you may not use this file except in compliance -* with the License. You may obtain a copy of the License at -* -* http://www.apache.org/licenses/LICENSE-2.0 -* -* Unless required by applicable law or agreed to in writing, -* software distributed under the License is distributed on an -* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -* KIND, either express or implied. See the License for the -* specific language governing permissions and limitations -* under the License. -*/ - - -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(t.echarts={})}(this,function(t){"use strict";function e(t,e){"createCanvas"===t&&(zp=null),Lp[t]=e}function n(t){if(null==t||"object"!=typeof t)return t;var e=t,i=Ip.call(t);if("[object Array]"===i){if(!z(t)){e=[];for(var r=0,o=t.length;rKp||t<-Kp}function ft(t){this._target=t.target,this._life=t.life||1e3,this._delay=t.delay||0,this._initialized=!1,this.loop=null!=t.loop&&t.loop,this.gap=t.gap||0,this.easing=t.easing||"Linear",this.onframe=t.onframe,this.ondestroy=t.ondestroy,this.onrestart=t.onrestart,this._pausedTime=0,this._paused=!1}function pt(t){return(t=Math.round(t))<0?0:t>255?255:t}function gt(t){return(t=Math.round(t))<0?0:t>360?360:t}function mt(t){return t<0?0:t>1?1:t}function vt(t){return pt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100*255:parseInt(t,10))}function yt(t){return mt(t.length&&"%"===t.charAt(t.length-1)?parseFloat(t)/100:parseFloat(t))}function xt(t,e,n){return n<0?n+=1:n>1&&(n-=1),6*n<1?t+(e-t)*n*6:2*n<1?e:3*n<2?t+(e-t)*(2/3-n)*6:t}function _t(t,e,n){return t+(e-t)*n}function wt(t,e,n,i,r){return t[0]=e,t[1]=n,t[2]=i,t[3]=r,t}function bt(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t}function Mt(t,e){ug&&bt(ug,e),ug=lg.put(t,ug||e.slice())}function St(t,e){if(t){e=e||[];var n=lg.get(t);if(n)return bt(e,n);var i=(t+="").replace(/ /g,"").toLowerCase();if(i in sg)return bt(e,sg[i]),Mt(t,e),e;if("#"!==i.charAt(0)){var r=i.indexOf("("),o=i.indexOf(")");if(-1!==r&&o+1===i.length){var a=i.substr(0,r),s=i.substr(r+1,o-(r+1)).split(","),l=1;switch(a){case"rgba":if(4!==s.length)return void wt(e,0,0,0,1);l=yt(s.pop());case"rgb":return 3!==s.length?void wt(e,0,0,0,1):(wt(e,vt(s[0]),vt(s[1]),vt(s[2]),l),Mt(t,e),e);case"hsla":return 4!==s.length?void wt(e,0,0,0,1):(s[3]=yt(s[3]),It(s,e),Mt(t,e),e);case"hsl":return 3!==s.length?void wt(e,0,0,0,1):(It(s,e),Mt(t,e),e);default:return}}wt(e,0,0,0,1)}else{if(4===i.length)return(u=parseInt(i.substr(1),16))>=0&&u<=4095?(wt(e,(3840&u)>>4|(3840&u)>>8,240&u|(240&u)>>4,15&u|(15&u)<<4,1),Mt(t,e),e):void wt(e,0,0,0,1);if(7===i.length){var u=parseInt(i.substr(1),16);return u>=0&&u<=16777215?(wt(e,(16711680&u)>>16,(65280&u)>>8,255&u,1),Mt(t,e),e):void wt(e,0,0,0,1)}}}}function It(t,e){var n=(parseFloat(t[0])%360+360)%360/360,i=yt(t[1]),r=yt(t[2]),o=r<=.5?r*(i+1):r+i-r*i,a=2*r-o;return e=e||[],wt(e,pt(255*xt(a,o,n+1/3)),pt(255*xt(a,o,n)),pt(255*xt(a,o,n-1/3)),1),4===t.length&&(e[3]=t[3]),e}function Ct(t){if(t){var e,n,i=t[0]/255,r=t[1]/255,o=t[2]/255,a=Math.min(i,r,o),s=Math.max(i,r,o),l=s-a,u=(s+a)/2;if(0===l)e=0,n=0;else{n=u<.5?l/(s+a):l/(2-s-a);var h=((s-i)/6+l/2)/l,c=((s-r)/6+l/2)/l,d=((s-o)/6+l/2)/l;i===s?e=d-c:r===s?e=1/3+h-d:o===s&&(e=2/3+c-h),e<0&&(e+=1),e>1&&(e-=1)}var f=[360*e,n,u];return null!=t[3]&&f.push(t[3]),f}}function Tt(t,e){var n=St(t);if(n){for(var i=0;i<3;i++)n[i]=e<0?n[i]*(1-e)|0:(255-n[i])*e+n[i]|0,n[i]>255?n[i]=255:t[i]<0&&(n[i]=0);return Lt(n,4===n.length?"rgba":"rgb")}}function Dt(t){var e=St(t);if(e)return((1<<24)+(e[0]<<16)+(e[1]<<8)+ +e[2]).toString(16).slice(1)}function At(t,e,n){if(e&&e.length&&t>=0&&t<=1){n=n||[];var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=e[r],s=e[o],l=i-r;return n[0]=pt(_t(a[0],s[0],l)),n[1]=pt(_t(a[1],s[1],l)),n[2]=pt(_t(a[2],s[2],l)),n[3]=mt(_t(a[3],s[3],l)),n}}function kt(t,e,n){if(e&&e.length&&t>=0&&t<=1){var i=t*(e.length-1),r=Math.floor(i),o=Math.ceil(i),a=St(e[r]),s=St(e[o]),l=i-r,u=Lt([pt(_t(a[0],s[0],l)),pt(_t(a[1],s[1],l)),pt(_t(a[2],s[2],l)),mt(_t(a[3],s[3],l))],"rgba");return n?{color:u,leftIndex:r,rightIndex:o,value:i}:u}}function Pt(t,e){if((t=St(t))&&null!=e)return t[3]=mt(e),Lt(t,"rgba")}function Lt(t,e){if(t&&t.length){var n=t[0]+","+t[1]+","+t[2];return"rgba"!==e&&"hsva"!==e&&"hsla"!==e||(n+=","+t[3]),e+"("+n+")"}}function Ot(t,e){return t[e]}function zt(t,e,n){t[e]=n}function Et(t,e,n){return(e-t)*n+t}function Nt(t,e,n){return n>.5?e:t}function Rt(t,e,n,i,r){var o=t.length;if(1==r)for(s=0;sr)t.length=r;else for(a=i;a=0&&!(m[n]<=e);n--);n=Math.min(n,u-2)}else{for(n=k;ne);n++);n=Math.min(n-1,u-2)}k=n,P=e;var i=m[n+1]-m[n];if(0!==i)if(I=(e-m[n])/i,l)if(T=v[n],C=v[0===n?n:n-1],D=v[n>u-2?u-1:n+1],A=v[n>u-3?u-1:n+2],d)Ft(C,T,D,A,I,I*I,I*I*I,a(t,r),g);else{if(f)o=Ft(C,T,D,A,I,I*I,I*I*I,L,1),o=Wt(L);else{if(p)return Nt(T,D,I);o=Ht(C,T,D,A,I,I*I,I*I*I)}s(t,r,o)}else if(d)Rt(v[n],v[n+1],I,a(t,r),g);else{var o;if(f)Rt(v[n],v[n+1],I,L,1),o=Wt(L);else{if(p)return Nt(v[n],v[n+1],I);o=Et(v[n],v[n+1],I)}s(t,r,o)}},ondestroy:n});return e&&"spline"!==e&&(O.easing=e),O}}}function Xt(t,e,n,i){n<0&&(t+=n,n=-n),i<0&&(e+=i,i=-i),this.x=t,this.y=e,this.width=n,this.height=i}function jt(t){for(var e=0;t>=Ig;)e|=1&t,t>>=1;return t+e}function Yt(t,e,n,i){var r=e+1;if(r===n)return 1;if(i(t[r++],t[e])<0){for(;r=0;)r++;return r-e}function qt(t,e,n){for(n--;e>>1])<0?l=o:s=o+1;var u=i-s;switch(u){case 3:t[s+3]=t[s+2];case 2:t[s+2]=t[s+1];case 1:t[s+1]=t[s];break;default:for(;u>0;)t[s+u]=t[s+u-1],u--}t[s]=a}}function Kt(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])>0){for(s=i-r;l0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}else{for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}for(a++;a>>1);o(t,e[n+h])>0?a=h+1:l=h}return l}function Qt(t,e,n,i,r,o){var a=0,s=0,l=1;if(o(t,e[n+r])<0){for(s=r+1;ls&&(l=s);var u=a;a=r-l,l=r-u}else{for(s=i-r;l=0;)a=l,(l=1+(l<<1))<=0&&(l=s);l>s&&(l=s),a+=r,l+=r}for(a++;a>>1);o(t,e[n+h])<0?l=h:a=h+1}return l}function Jt(t,e){function n(n){var s=o[n],u=a[n],h=o[n+1],c=a[n+1];a[n]=u+c,n===l-3&&(o[n+1]=o[n+2],a[n+1]=a[n+2]),l--;var d=Qt(t[h],t,s,u,0,e);s+=d,0!==(u-=d)&&0!==(c=Kt(t[s+u-1],t,h,c,c-1,e))&&(u<=c?i(s,u,h,c):r(s,u,h,c))}function i(n,i,r,o){var a=0;for(a=0;a=Cg||f>=Cg);if(p)break;g<0&&(g=0),g+=2}if((s=g)<1&&(s=1),1===i){for(a=0;a=0;a--)t[f+a]=t[d+a];if(0===i){v=!0;break}}if(t[c--]=u[h--],1==--o){v=!0;break}if(0!=(m=o-Kt(t[l],u,0,o,o-1,e))){for(o-=m,f=(c-=m)+1,d=(h-=m)+1,a=0;a=Cg||m>=Cg);if(v)break;p<0&&(p=0),p+=2}if((s=p)<1&&(s=1),1===o){for(f=(c-=i)+1,d=(l-=i)+1,a=i-1;a>=0;a--)t[f+a]=t[d+a];t[c]=u[h]}else{if(0===o)throw new Error;for(d=c-(o-1),a=0;a=0;a--)t[f+a]=t[d+a];t[c]=u[h]}else for(d=c-(o-1),a=0;a1;){var t=l-2;if(t>=1&&a[t-1]<=a[t]+a[t+1]||t>=2&&a[t-2]<=a[t]+a[t-1])a[t-1]a[t+1])break;n(t)}},this.forceMergeRuns=function(){for(;l>1;){var t=l-2;t>0&&a[t-1]s&&(l=s),$t(t,n,n+l,n+o,e),o=l}a.pushRun(n,o),a.mergeRuns(),r-=o,n+=o}while(0!==r);a.forceMergeRuns()}}function ee(t,e){return t.zlevel===e.zlevel?t.z===e.z?t.z2-e.z2:t.z-e.z:t.zlevel-e.zlevel}function ne(t,e,n){var i=null==e.x?0:e.x,r=null==e.x2?1:e.x2,o=null==e.y?0:e.y,a=null==e.y2?0:e.y2;return e.global||(i=i*n.width+n.x,r=r*n.width+n.x,o=o*n.height+n.y,a=a*n.height+n.y),i=isNaN(i)?0:i,r=isNaN(r)?1:r,o=isNaN(o)?0:o,a=isNaN(a)?0:a,t.createLinearGradient(i,o,r,a)}function ie(t,e,n){var i=n.width,r=n.height,o=Math.min(i,r),a=null==e.x?.5:e.x,s=null==e.y?.5:e.y,l=null==e.r?.5:e.r;return e.global||(a=a*i+n.x,s=s*r+n.y,l*=o),t.createRadialGradient(a,s,0,a,s,l)}function re(){return!1}function oe(t,e,n){var i=Op(),r=e.getWidth(),o=e.getHeight(),a=i.style;return a&&(a.position="absolute",a.left=0,a.top=0,a.width=r+"px",a.height=o+"px",i.setAttribute("data-zr-dom-id",t)),i.width=r*n,i.height=o*n,i}function ae(t){if("string"==typeof t){var e=Bg.get(t);return e&&e.image}return t}function se(t,e,n,i,r){if(t){if("string"==typeof t){if(e&&e.__zrImageSrc===t||!n)return e;var o=Bg.get(t),a={hostEl:n,cb:i,cbPayload:r};return o?!ue(e=o.image)&&o.pending.push(a):(!e&&(e=new Image),e.onload=le,Bg.put(t,e.__cachedImgObj={image:e,pending:[a]}),e.src=e.__zrImageSrc=t),e}return t}return e}function le(){var t=this.__cachedImgObj;this.onload=this.__cachedImgObj=null;for(var e=0;eHg&&(Fg=0,Vg={}),Fg++,Vg[n]=r,r}function ce(t,e,n,i,r,o,a){return o?fe(t,e,n,i,r,o,a):de(t,e,n,i,r,a)}function de(t,e,n,i,r,o){var a=Me(t,e,r,o),s=he(t,e);r&&(s+=r[1]+r[3]);var l=a.outerHeight,u=new Xt(pe(0,s,n),ge(0,l,i),s,l);return u.lineHeight=a.lineHeight,u}function fe(t,e,n,i,r,o,a){var s=Se(t,{rich:o,truncate:a,font:e,textAlign:n,textPadding:r}),l=s.outerWidth,u=s.outerHeight;return new Xt(pe(0,l,n),ge(0,u,i),l,u)}function pe(t,e,n){return"right"===n?t-=e:"center"===n&&(t-=e/2),t}function ge(t,e,n){return"middle"===n?t-=e/2:"bottom"===n&&(t-=e),t}function me(t,e,n){var i=e.x,r=e.y,o=e.height,a=e.width,s=o/2,l="left",u="top";switch(t){case"left":i-=n,r+=s,l="right",u="middle";break;case"right":i+=n+a,r+=s,u="middle";break;case"top":i+=a/2,r-=n,l="center",u="bottom";break;case"bottom":i+=a/2,r+=o+n,l="center";break;case"inside":i+=a/2,r+=s,l="center",u="middle";break;case"insideLeft":i+=n,r+=s,u="middle";break;case"insideRight":i+=a-n,r+=s,l="right",u="middle";break;case"insideTop":i+=a/2,r+=n,l="center";break;case"insideBottom":i+=a/2,r+=o-n,l="center",u="bottom";break;case"insideTopLeft":i+=n,r+=n;break;case"insideTopRight":i+=a-n,r+=n,l="right";break;case"insideBottomLeft":i+=n,r+=o-n,u="bottom";break;case"insideBottomRight":i+=a-n,r+=o-n,l="right",u="bottom"}return{x:i,y:r,textAlign:l,textVerticalAlign:u}}function ve(t,e,n,i,r){if(!e)return"";var o=(t+"").split("\n");r=ye(e,n,i,r);for(var a=0,s=o.length;a=a;l++)s-=a;var u=he(n);return u>s&&(n="",u=0),s=t-u,i.ellipsis=n,i.ellipsisWidth=u,i.contentWidth=s,i.containerWidth=t,i}function xe(t,e){var n=e.containerWidth,i=e.font,r=e.contentWidth;if(!n)return"";var o=he(t,i);if(o<=n)return t;for(var a=0;;a++){if(o<=r||a>=e.maxIterations){t+=e.ellipsis;break}var s=0===a?_e(t,r,e.ascCharWidth,e.cnCharWidth):o>0?Math.floor(t.length*r/o):0;o=he(t=t.substr(0,s),i)}return""===t&&(t=e.placeholder),t}function _e(t,e,n,i){for(var r=0,o=0,a=t.length;ol)t="",o=[];else if(null!=u)for(var h=ye(u-(n?n[1]+n[3]:0),e,i.ellipsis,{minChar:i.minChar,placeholder:i.placeholder}),c=0,d=o.length;cr&&Ie(n,t.substring(r,o)),Ie(n,i[2],i[1]),r=Gg.lastIndex}rf)return{lines:[],width:0,height:0};P.textWidth=he(P.text,_);var b=y.textWidth,M=null==b||"auto"===b;if("string"==typeof b&&"%"===b.charAt(b.length-1))P.percentWidth=b,u.push(P),b=0;else{if(M){b=P.textWidth;var S=y.textBackgroundColor,I=S&&S.image;I&&ue(I=ae(I))&&(b=Math.max(b,I.width*w/I.height))}var C=x?x[1]+x[3]:0;b+=C;var A=null!=d?d-m:null;null!=A&&Al&&(n*=l/(c=n+i),i*=l/c),r+o>l&&(r*=l/(c=r+o),o*=l/c),i+r>u&&(i*=u/(c=i+r),r*=u/c),n+o>u&&(n*=u/(c=n+o),o*=u/c),t.moveTo(a+n,s),t.lineTo(a+l-i,s),0!==i&&t.arc(a+l-i,s+i,i,-Math.PI/2,0),t.lineTo(a+l,s+u-r),0!==r&&t.arc(a+l-r,s+u-r,r,0,Math.PI/2),t.lineTo(a+o,s+u),0!==o&&t.arc(a+o,s+u-o,o,Math.PI/2,Math.PI),t.lineTo(a,s+n),0!==n&&t.arc(a+n,s+n,n,Math.PI,1.5*Math.PI)}function De(t){return Ae(t),d(t.rich,Ae),t}function Ae(t){if(t){t.font=Ce(t);var e=t.textAlign;"middle"===e&&(e="center"),t.textAlign=null==e||Ug[e]?e:"left";var n=t.textVerticalAlign||t.textBaseline;"center"===n&&(n="middle"),t.textVerticalAlign=null==n||Xg[n]?n:"top",t.textPadding&&(t.textPadding=k(t.textPadding))}}function ke(t,e,n,i,r){i.rich?Le(t,e,n,i,r):Pe(t,e,n,i,r)}function Pe(t,e,n,i,r){var o=Fe(e,"font",i.font||Wg),a=i.textPadding,s=t.__textCotentBlock;s&&!t.__dirty||(s=t.__textCotentBlock=Me(n,o,a,i.truncate));var l=s.outerHeight,u=s.lines,h=s.lineHeight,c=Ve(l,i,r),d=c.baseX,f=c.baseY,p=c.textAlign,g=c.textVerticalAlign;ze(e,i,r,d,f);var m=ge(f,l,g),v=d,y=m,x=Ne(i);if(x||a){var _=he(n,o);a&&(_+=a[1]+a[3]);var w=pe(d,_,p);x&&Re(t,e,i,w,m,_,l),a&&(v=Ze(d,p,a),y+=a[0])}Fe(e,"textAlign",p||"left"),Fe(e,"textBaseline","middle"),Fe(e,"shadowBlur",i.textShadowBlur||0),Fe(e,"shadowColor",i.textShadowColor||"transparent"),Fe(e,"shadowOffsetX",i.textShadowOffsetX||0),Fe(e,"shadowOffsetY",i.textShadowOffsetY||0),y+=h/2;var b=i.textStrokeWidth,M=He(i.textStroke,b),S=Ge(i.textFill);M&&(Fe(e,"lineWidth",b),Fe(e,"strokeStyle",M)),S&&Fe(e,"fillStyle",S);for(var I=0;I=0&&"right"===(_=b[A]).textAlign;)Ee(t,e,_,i,S,v,D,"right"),I-=_.width,D-=_.width,A--;for(T+=(o-(T-m)-(y-D)-I)/2;C<=A;)Ee(t,e,_=b[C],i,S,v,T+_.width/2,"center"),T+=_.width,C++;v+=S}}function ze(t,e,n,i,r){if(n&&e.textRotation){var o=e.textOrigin;"center"===o?(i=n.width/2+n.x,r=n.height/2+n.y):o&&(i=o[0]+n.x,r=o[1]+n.y),t.translate(i,r),t.rotate(-e.textRotation),t.translate(-i,-r)}}function Ee(t,e,n,i,r,o,a,s){var l=i.rich[n.styleName]||{},u=n.textVerticalAlign,h=o+r/2;"top"===u?h=o+n.height/2:"bottom"===u&&(h=o+r-n.height/2),!n.isLineHolder&&Ne(l)&&Re(t,e,l,"right"===s?a-n.width:"center"===s?a-n.width/2:a,h-n.height/2,n.width,n.height);var c=n.textPadding;c&&(a=Ze(a,s,c),h-=n.height/2-c[2]-n.textHeight/2),Fe(e,"shadowBlur",D(l.textShadowBlur,i.textShadowBlur,0)),Fe(e,"shadowColor",l.textShadowColor||i.textShadowColor||"transparent"),Fe(e,"shadowOffsetX",D(l.textShadowOffsetX,i.textShadowOffsetX,0)),Fe(e,"shadowOffsetY",D(l.textShadowOffsetY,i.textShadowOffsetY,0)),Fe(e,"textAlign",s),Fe(e,"textBaseline","middle"),Fe(e,"font",n.font||Wg);var d=He(l.textStroke||i.textStroke,p),f=Ge(l.textFill||i.textFill),p=T(l.textStrokeWidth,i.textStrokeWidth);d&&(Fe(e,"lineWidth",p),Fe(e,"strokeStyle",d),e.strokeText(n.text,a,h)),f&&(Fe(e,"fillStyle",f),e.fillText(n.text,a,h))}function Ne(t){return t.textBackgroundColor||t.textBorderWidth&&t.textBorderColor}function Re(t,e,n,i,r,o,a){var s=n.textBackgroundColor,l=n.textBorderWidth,u=n.textBorderColor,h=_(s);if(Fe(e,"shadowBlur",n.textBoxShadowBlur||0),Fe(e,"shadowColor",n.textBoxShadowColor||"transparent"),Fe(e,"shadowOffsetX",n.textBoxShadowOffsetX||0),Fe(e,"shadowOffsetY",n.textBoxShadowOffsetY||0),h||l&&u){e.beginPath();var c=n.textBorderRadius;c?Te(e,{x:i,y:r,width:o,height:a,r:c}):e.rect(i,r,o,a),e.closePath()}if(h)Fe(e,"fillStyle",s),e.fill();else if(w(s)){var d=s.image;(d=se(d,null,t,Be,s))&&ue(d)&&e.drawImage(d,i,r,o,a)}l&&u&&(Fe(e,"lineWidth",l),Fe(e,"strokeStyle",u),e.stroke())}function Be(t,e){e.image=t}function Ve(t,e,n){var i=e.x||0,r=e.y||0,o=e.textAlign,a=e.textVerticalAlign;if(n){var s=e.textPosition;if(s instanceof Array)i=n.x+We(s[0],n.width),r=n.y+We(s[1],n.height);else{var l=me(s,n,e.textDistance);i=l.x,r=l.y,o=o||l.textAlign,a=a||l.textVerticalAlign}var u=e.textOffset;u&&(i+=u[0],r+=u[1])}return{baseX:i,baseY:r,textAlign:o,textVerticalAlign:a}}function Fe(t,e,n){return t[e]=Ag(t,e,n),t[e]}function He(t,e){return null==t||e<=0||"transparent"===t||"none"===t?null:t.image||t.colorStops?"#000":t}function Ge(t){return null==t||"none"===t?null:t.image||t.colorStops?"#000":t}function We(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t}function Ze(t,e,n){return"right"===e?t-n[1]:"center"===e?t+n[3]/2-n[1]/2:t+n[3]}function Ue(t,e){return null!=t&&(t||e.textBackgroundColor||e.textBorderWidth&&e.textBorderColor||e.textPadding)}function Xe(t){t=t||{},_g.call(this,t);for(var e in t)t.hasOwnProperty(e)&&"style"!==e&&(this[e]=t[e]);this.style=new Pg(t.style,this),this._rect=null,this.__clipPaths=[]}function je(t){Xe.call(this,t)}function Ye(t){return parseInt(t,10)}function qe(t){return!!t&&(!!t.__builtin__||"function"==typeof t.resize&&"function"==typeof t.refresh)}function $e(t,e,n){return qg.copy(t.getBoundingRect()),t.transform&&qg.applyTransform(t.transform),$g.width=e,$g.height=n,!qg.intersect($g)}function Ke(t,e){if(t==e)return!1;if(!t||!e||t.length!==e.length)return!0;for(var n=0;n=0){var r="touchend"!=i?e.targetTouches[0]:e.changedTouches[0];r&&en(t,r,e,n)}else en(t,e,e,n),e.zrDelta=e.wheelDelta?e.wheelDelta/120:-(e.detail||0)/3;var o=e.button;return null==e.which&&void 0!==o&&Jg.test(e.type)&&(e.which=1&o?1:2&o?3:4&o?2:0),e}function on(t,e,n){Qg?t.addEventListener(e,n):t.attachEvent("on"+e,n)}function an(t,e,n){Qg?t.removeEventListener(e,n):t.detachEvent("on"+e,n)}function sn(t){return t.which>1}function ln(t){var e=t[1][0]-t[0][0],n=t[1][1]-t[0][1];return Math.sqrt(e*e+n*n)}function un(t){return[(t[0][0]+t[1][0])/2,(t[0][1]+t[1][1])/2]}function hn(t){return"mousewheel"===t&&bp.browser.firefox?"DOMMouseScroll":t}function cn(t,e,n){var i=t._gestureMgr;"start"===n&&i.clear();var r=i.recognize(e,t.handler.findHover(e.zrX,e.zrY,null).target,t.dom);if("end"===n&&i.clear(),r){var o=r.type;e.gestureEvent=o,t.handler.dispatchToElement({target:r.target},o,r.event)}}function dn(t){t._touching=!0,clearTimeout(t._touchTimer),t._touchTimer=setTimeout(function(){t._touching=!1},700)}function fn(t){var e=t.pointerType;return"pen"===e||"touch"===e}function pn(t){function e(t,e){return function(){if(!e._touching)return t.apply(e,arguments)}}d(om,function(e){t._handlers[e]=m(lm[e],t)}),d(sm,function(e){t._handlers[e]=m(lm[e],t)}),d(rm,function(n){t._handlers[n]=e(lm[n],t)})}function gn(t){function e(e,n){d(e,function(e){on(t,hn(e),n._handlers[e])},n)}Zp.call(this),this.dom=t,this._touching=!1,this._touchTimer,this._gestureMgr=new nm,this._handlers={},pn(this),bp.pointerEventsSupported?e(sm,this):(bp.touchEventsSupported&&e(om,this),e(rm,this))}function mn(t,e){var n=new fm(_p(),t,e);return dm[n.id]=n,n}function vn(t,e){cm[t]=e}function yn(t){delete dm[t]}function xn(t){return t instanceof Array?t:null==t?[]:[t]}function _n(t,e,n){if(t){t[e]=t[e]||{},t.emphasis=t.emphasis||{},t.emphasis[e]=t.emphasis[e]||{};for(var i=0,r=n.length;i=n.length&&n.push({option:t})}}),n}function Sn(t){var e=N();gm(t,function(t,n){var i=t.exist;i&&e.set(i.id,t)}),gm(t,function(t,n){var i=t.option;P(!i||null==i.id||!e.get(i.id)||e.get(i.id)===t,"id duplicates: "+(i&&i.id)),i&&null!=i.id&&e.set(i.id,t),!t.keyInfo&&(t.keyInfo={})}),gm(t,function(t,n){var i=t.exist,r=t.option,o=t.keyInfo;if(mm(r)){if(o.name=null!=r.name?r.name+"":i?i.name:ym+n,i)o.id=i.id;else if(null!=r.id)o.id=r.id+"";else{var a=0;do{o.id="\0"+o.name+"\0"+a++}while(e.get(o.id))}e.set(o.id,t)}})}function In(t){var e=t.name;return!(!e||!e.indexOf(ym))}function Cn(t){return mm(t)&&t.id&&0===(t.id+"").indexOf("\0_ec_\0")}function Tn(t,e){return null!=e.dataIndexInside?e.dataIndexInside:null!=e.dataIndex?y(e.dataIndex)?f(e.dataIndex,function(e){return t.indexOfRawIndex(e)}):t.indexOfRawIndex(e.dataIndex):null!=e.name?y(e.name)?f(e.name,function(e){return t.indexOfName(e)}):t.indexOfName(e.name):void 0}function Dn(){var t="__\0ec_inner_"+_m+++"_"+Math.random().toFixed(5);return function(e){return e[t]||(e[t]={})}}function An(t,e,n){if(_(e)){var i={};i[e+"Index"]=0,e=i}var r=n&&n.defaultMainType;!r||kn(e,r+"Index")||kn(e,r+"Id")||kn(e,r+"Name")||(e[r+"Index"]=0);var o={};return gm(e,function(i,r){var i=e[r];if("dataIndex"!==r&&"dataIndexInside"!==r){var a=r.match(/^(\w+)(Index|Id|Name)$/)||[],s=a[1],u=(a[2]||"").toLowerCase();if(!(!s||!u||null==i||"index"===u&&"none"===i||n&&n.includeMainTypes&&l(n.includeMainTypes,s)<0)){var h={mainType:s};"index"===u&&"all"===i||(h[u]=i);var c=t.queryComponents(h);o[s+"Models"]=c,o[s+"Model"]=c[0]}}else o[r]=i}),o}function kn(t,e){return t&&t.hasOwnProperty(e)}function Pn(t,e,n){t.setAttribute?t.setAttribute(e,n):t[e]=n}function Ln(t,e){return t.getAttribute?t.getAttribute(e):t[e]}function On(t){var e={main:"",sub:""};return t&&(t=t.split(wm),e.main=t[0]||"",e.sub=t[1]||""),e}function zn(t){P(/^[a-zA-Z0-9_]+([.][a-zA-Z0-9_]+)?$/.test(t),'componentType "'+t+'" illegal')}function En(t,e){t.$constructor=t,t.extend=function(t){var e=this,n=function(){t.$constructor?t.$constructor.apply(this,arguments):e.apply(this,arguments)};return o(n.prototype,t),n.extend=this.extend,n.superCall=Rn,n.superApply=Bn,u(n,this),n.superClass=e,n}}function Nn(t){var e=["__\0is_clz",Mm++,Math.random().toFixed(3)].join("_");t.prototype[e]=!0,t.isInstance=function(t){return!(!t||!t[e])}}function Rn(t,e){var n=A(arguments,2);return this.superClass.prototype[e].apply(t,n)}function Bn(t,e,n){return this.superClass.prototype[e].apply(t,n)}function Vn(t,e){function n(t){var e=i[t.main];return e&&e[bm]||((e=i[t.main]={})[bm]=!0),e}e=e||{};var i={};if(t.registerClass=function(t,e){return e&&(zn(e),(e=On(e)).sub?e.sub!==bm&&(n(e)[e.sub]=t):i[e.main]=t),t},t.getClass=function(t,e,n){var r=i[t];if(r&&r[bm]&&(r=e?r[e]:null),n&&!r)throw new Error(e?"Component "+t+"."+(e||"")+" not exists. Load it first.":t+".type should be specified.");return r},t.getClassesByMainType=function(t){t=On(t);var e=[],n=i[t.main];return n&&n[bm]?d(n,function(t,n){n!==bm&&e.push(t)}):e.push(n),e},t.hasClass=function(t){return t=On(t),!!i[t.main]},t.getAllClassMainTypes=function(){var t=[];return d(i,function(e,n){t.push(n)}),t},t.hasSubTypes=function(t){t=On(t);var e=i[t.main];return e&&e[bm]},t.parseClassType=On,e.registerWhenExtend){var r=t.extend;r&&(t.extend=function(e){var n=r.call(this,e);return t.registerClass(n,e.type)})}return t}function Fn(t){return t>-Pm&&tPm||t<-Pm}function Gn(t,e,n,i,r){var o=1-r;return o*o*(o*t+3*r*e)+r*r*(r*i+3*o*n)}function Wn(t,e,n,i,r){var o=1-r;return 3*(((e-t)*o+2*(n-e)*r)*o+(i-n)*r*r)}function Zn(t,e,n,i,r,o){var a=i+3*(e-n)-t,s=3*(n-2*e+t),l=3*(e-t),u=t-r,h=s*s-3*a*l,c=s*l-9*a*u,d=l*l-3*s*u,f=0;if(Fn(h)&&Fn(c))Fn(s)?o[0]=0:(S=-l/s)>=0&&S<=1&&(o[f++]=S);else{var p=c*c-4*h*d;if(Fn(p)){var g=c/h,m=-g/2;(S=-s/a+g)>=0&&S<=1&&(o[f++]=S),m>=0&&m<=1&&(o[f++]=m)}else if(p>0){var v=km(p),y=h*s+1.5*a*(-c+v),x=h*s+1.5*a*(-c-v);(S=(-s-((y=y<0?-Am(-y,zm):Am(y,zm))+(x=x<0?-Am(-x,zm):Am(x,zm))))/(3*a))>=0&&S<=1&&(o[f++]=S)}else{var _=(2*h*s-3*a*c)/(2*km(h*h*h)),w=Math.acos(_)/3,b=km(h),M=Math.cos(w),S=(-s-2*b*M)/(3*a),m=(-s+b*(M+Om*Math.sin(w)))/(3*a),I=(-s+b*(M-Om*Math.sin(w)))/(3*a);S>=0&&S<=1&&(o[f++]=S),m>=0&&m<=1&&(o[f++]=m),I>=0&&I<=1&&(o[f++]=I)}}return f}function Un(t,e,n,i,r){var o=6*n-12*e+6*t,a=9*e+3*i-3*t-9*n,s=3*e-3*t,l=0;if(Fn(a))Hn(o)&&(c=-s/o)>=0&&c<=1&&(r[l++]=c);else{var u=o*o-4*a*s;if(Fn(u))r[0]=-o/(2*a);else if(u>0){var h=km(u),c=(-o+h)/(2*a),d=(-o-h)/(2*a);c>=0&&c<=1&&(r[l++]=c),d>=0&&d<=1&&(r[l++]=d)}}return l}function Xn(t,e,n,i,r,o){var a=(e-t)*r+t,s=(n-e)*r+e,l=(i-n)*r+n,u=(s-a)*r+a,h=(l-s)*r+s,c=(h-u)*r+u;o[0]=t,o[1]=a,o[2]=u,o[3]=c,o[4]=c,o[5]=h,o[6]=l,o[7]=i}function jn(t,e,n,i,r,o,a,s,l,u,h){var c,d,f,p,g,m=.005,v=1/0;Em[0]=l,Em[1]=u;for(var y=0;y<1;y+=.05)Nm[0]=Gn(t,n,r,a,y),Nm[1]=Gn(e,i,o,s,y),(p=Hp(Em,Nm))=0&&p=0&&c<=1&&(r[l++]=c);else{var u=a*a-4*o*s;if(Fn(u))(c=-a/(2*o))>=0&&c<=1&&(r[l++]=c);else if(u>0){var h=km(u),c=(-a+h)/(2*o),d=(-a-h)/(2*o);c>=0&&c<=1&&(r[l++]=c),d>=0&&d<=1&&(r[l++]=d)}}return l}function Kn(t,e,n){var i=t+n-2*e;return 0===i?.5:(t-e)/i}function Qn(t,e,n,i,r){var o=(e-t)*i+t,a=(n-e)*i+e,s=(a-o)*i+o;r[0]=t,r[1]=o,r[2]=s,r[3]=s,r[4]=a,r[5]=n}function Jn(t,e,n,i,r,o,a,s,l){var u,h=.005,c=1/0;Em[0]=a,Em[1]=s;for(var d=0;d<1;d+=.05)Nm[0]=Yn(t,n,r,d),Nm[1]=Yn(e,i,o,d),(m=Hp(Em,Nm))=0&&m1e-4)return s[0]=t-n,s[1]=e-i,l[0]=t+n,void(l[1]=e+i);if(Wm[0]=Hm(r)*n+t,Wm[1]=Fm(r)*i+e,Zm[0]=Hm(o)*n+t,Zm[1]=Fm(o)*i+e,u(s,Wm,Zm),h(l,Wm,Zm),(r%=Gm)<0&&(r+=Gm),(o%=Gm)<0&&(o+=Gm),r>o&&!a?o+=Gm:rr&&(Um[0]=Hm(f)*n+t,Um[1]=Fm(f)*i+e,u(s,Um,s),h(l,Um,l))}function oi(t,e,n,i,r,o,a){if(0===r)return!1;var s=r,l=0,u=t;if(a>e+s&&a>i+s||at+s&&o>n+s||oe+c&&h>i+c&&h>o+c&&h>s+c||ht+c&&u>n+c&&u>r+c&&u>a+c||ue+u&&l>i+u&&l>o+u||lt+u&&s>n+u&&s>r+u||sn||h+ur&&(r+=lv);var d=Math.atan2(l,s);return d<0&&(d+=lv),d>=i&&d<=r||d+lv>=i&&d+lv<=r}function hi(t,e,n,i,r,o){if(o>e&&o>i||or?a:0}function ci(t,e){return Math.abs(t-e)e&&u>i&&u>o&&u>s||u1&&di(),c=Gn(e,i,o,s,fv[0]),p>1&&(d=Gn(e,i,o,s,fv[1]))),2==p?me&&s>i&&s>o||s=0&&u<=1){for(var h=0,c=Yn(e,i,o,u),d=0;dn||s<-n)return 0;u=Math.sqrt(n*n-s*s);dv[0]=-u,dv[1]=u;var l=Math.abs(i-r);if(l<1e-4)return 0;if(l%hv<1e-4){i=0,r=hv;p=o?1:-1;return a>=dv[0]+t&&a<=dv[1]+t?p:0}if(o){var u=i;i=li(r),r=li(u)}else i=li(i),r=li(r);i>r&&(r+=hv);for(var h=0,c=0;c<2;c++){var d=dv[c];if(d+t>a){var f=Math.atan2(s,d),p=o?1:-1;f<0&&(f=hv+f),(f>=i&&f<=r||f+hv>=i&&f+hv<=r)&&(f>Math.PI/2&&f<1.5*Math.PI&&(p=-p),h+=p)}}return h}function mi(t,e,n,i,r){for(var o=0,a=0,s=0,l=0,u=0,h=0;h1&&(n||(o+=hi(a,s,l,u,i,r))),1==h&&(l=a=t[h],u=s=t[h+1]),c){case uv.M:a=l=t[h++],s=u=t[h++];break;case uv.L:if(n){if(oi(a,s,t[h],t[h+1],e,i,r))return!0}else o+=hi(a,s,t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.C:if(n){if(ai(a,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else o+=fi(a,s,t[h++],t[h++],t[h++],t[h++],t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.Q:if(n){if(si(a,s,t[h++],t[h++],t[h],t[h+1],e,i,r))return!0}else o+=pi(a,s,t[h++],t[h++],t[h],t[h+1],i,r)||0;a=t[h++],s=t[h++];break;case uv.A:var d=t[h++],f=t[h++],p=t[h++],g=t[h++],m=t[h++],v=t[h++],y=(t[h++],1-t[h++]),x=Math.cos(m)*p+d,_=Math.sin(m)*g+f;h>1?o+=hi(a,s,x,_,i,r):(l=x,u=_);var w=(i-d)*g/p+d;if(n){if(ui(d,f,g,m,m+v,y,e,w,r))return!0}else o+=gi(d,f,g,m,m+v,y,w,r);a=Math.cos(m+v)*p+d,s=Math.sin(m+v)*g+f;break;case uv.R:l=a=t[h++],u=s=t[h++];var x=l+t[h++],_=u+t[h++];if(n){if(oi(l,u,x,u,e,i,r)||oi(x,u,x,_,e,i,r)||oi(x,_,l,_,e,i,r)||oi(l,_,l,u,e,i,r))return!0}else o+=hi(x,u,x,_,i,r),o+=hi(l,_,l,u,i,r);break;case uv.Z:if(n){if(oi(a,s,l,u,e,i,r))return!0}else o+=hi(a,s,l,u,i,r);a=l,s=u}}return n||ci(s,u)||(o+=hi(a,s,l,u,i,r)||0),0!==o}function vi(t,e,n){return mi(t,0,!1,e,n)}function yi(t,e,n,i){return mi(t,e,!0,n,i)}function xi(t){Xe.call(this,t),this.path=null}function _i(t,e,n,i,r,o,a,s,l,u,h){var c=l*(Cv/180),d=Iv(c)*(t-n)/2+Sv(c)*(e-i)/2,f=-1*Sv(c)*(t-n)/2+Iv(c)*(e-i)/2,p=d*d/(a*a)+f*f/(s*s);p>1&&(a*=Mv(p),s*=Mv(p));var g=(r===o?-1:1)*Mv((a*a*(s*s)-a*a*(f*f)-s*s*(d*d))/(a*a*(f*f)+s*s*(d*d)))||0,m=g*a*f/s,v=g*-s*d/a,y=(t+n)/2+Iv(c)*m-Sv(c)*v,x=(e+i)/2+Sv(c)*m+Iv(c)*v,_=Av([1,0],[(d-m)/a,(f-v)/s]),w=[(d-m)/a,(f-v)/s],b=[(-1*d-m)/a,(-1*f-v)/s],M=Av(w,b);Dv(w,b)<=-1&&(M=Cv),Dv(w,b)>=1&&(M=0),0===o&&M>0&&(M-=2*Cv),1===o&&M<0&&(M+=2*Cv),h.addData(u,y,x,a,s,_,M,c,o)}function wi(t){if(!t)return[];var e,n=t.replace(/-/g," -").replace(/ /g," ").replace(/ /g,",").replace(/,,/g,",");for(e=0;e0&&""===f[0]&&f.shift();for(var p=0;p=2){if(r&&"spline"!==r){var o=Rv(i,r,n,e.smoothConstraint);t.moveTo(i[0][0],i[0][1]);for(var a=i.length,s=0;s<(n?a:a-1);s++){var l=o[2*s],u=o[2*s+1],h=i[(s+1)%a];t.bezierCurveTo(l[0],l[1],u[0],u[1],h[0],h[1])}}else{"spline"===r&&(i=Nv(i,n)),t.moveTo(i[0][0],i[0][1]);for(var s=1,c=i.length;s=0)&&(i={textFill:null,textStroke:t.textStroke,textStrokeWidth:t.textStrokeWidth},t.textFill="#fff",null==t.textStroke&&(t.textStroke=n.autoColor,null==t.textStrokeWidth&&(t.textStrokeWidth=2))),i}function ir(t){var e=t.insideRollback;e&&(t.textFill=e.textFill,t.textStroke=e.textStroke,t.textStrokeWidth=e.textStrokeWidth)}function rr(t,e){var n=e||e.getModel("textStyle");return L([t.fontStyle||n&&n.getShallow("fontStyle")||"",t.fontWeight||n&&n.getShallow("fontWeight")||"",(t.fontSize||n&&n.getShallow("fontSize")||12)+"px",t.fontFamily||n&&n.getShallow("fontFamily")||"sans-serif"].join(" "))}function or(t,e,n,i,r,o){if("function"==typeof r&&(o=r,r=null),i&&i.isAnimationEnabled()){var a=t?"Update":"",s=i.getShallow("animationDuration"+a),l=i.getShallow("animationEasing"+a),u=i.getShallow("animationDelay"+a);"function"==typeof u&&(u=u(r,i.getAnimationDelayParams?i.getAnimationDelayParams(e,r):null)),"function"==typeof s&&(s=s(r)),s>0?e.animateTo(n,s,u||0,l,o,!!o):(e.stopAnimation(),e.attr(n),o&&o())}else e.stopAnimation(),e.attr(n),o&&o()}function ar(t,e,n,i,r){or(!0,t,e,n,i,r)}function sr(t,e,n,i,r){or(!1,t,e,n,i,r)}function lr(t,e){for(var n=ot([]);t&&t!==e;)st(n,t.getLocalTransform(),n),t=t.parent;return n}function ur(t,e,n){return e&&!c(e)&&(e=Qp.getLocalTransform(e)),n&&(e=ct([],e)),$([],t,e)}function hr(t,e,n){var i=0===e[4]||0===e[5]||0===e[0]?1:Math.abs(2*e[4]/e[0]),r=0===e[4]||0===e[5]||0===e[2]?1:Math.abs(2*e[4]/e[2]),o=["left"===t?-i:"right"===t?i:0,"top"===t?-r:"bottom"===t?r:0];return o=ur(o,e,n),Math.abs(o[0])>Math.abs(o[1])?o[0]>0?"right":"left":o[1]>0?"bottom":"top"}function cr(t,e,n,i){function r(t){var e={position:F(t.position),rotation:t.rotation};return t.shape&&(e.shape=o({},t.shape)),e}if(t&&e){var a=function(t){var e={};return t.traverse(function(t){!t.isGroup&&t.anid&&(e[t.anid]=t)}),e}(t);e.traverse(function(t){if(!t.isGroup&&t.anid){var e=a[t.anid];if(e){var i=r(t);t.attr(r(e)),ar(t,i,n,t.dataIndex)}}})}}function dr(t,e){return f(t,function(t){var n=t[0];n=Kv(n,e.x),n=Qv(n,e.x+e.width);var i=t[1];return i=Kv(i,e.y),i=Qv(i,e.y+e.height),[n,i]})}function fr(t,e,n){var i=(e=o({rectHover:!0},e)).style={strokeNoScale:!0};if(n=n||{x:-1,y:-1,width:2,height:2},t)return 0===t.indexOf("image://")?(i.image=t.slice(8),a(i,n),new je(e)):ki(t.replace("path://",""),e,n,"center")}function pr(t,e,n){this.parentModel=e,this.ecModel=n,this.option=t}function gr(t,e,n){for(var i=0;i0){if(t<=e[0])return n[0];if(t>=e[1])return n[1]}else{if(t>=e[0])return n[0];if(t<=e[1])return n[1]}else{if(t===e[0])return n[0];if(t===e[1])return n[1]}return(t-e[0])/r*o+n[0]}function _r(t,e){switch(t){case"center":case"middle":t="50%";break;case"left":case"top":t="0%";break;case"right":case"bottom":t="100%"}return"string"==typeof t?yr(t).match(/%$/)?parseFloat(t)/100*e:parseFloat(t):null==t?NaN:+t}function wr(t,e,n){return null==e&&(e=10),e=Math.min(Math.max(0,e),20),t=(+t).toFixed(e),n?t:+t}function br(t){return t.sort(function(t,e){return t-e}),t}function Mr(t){if(t=+t,isNaN(t))return 0;for(var e=1,n=0;Math.round(t*e)/e!==t;)e*=10,n++;return n}function Sr(t){var e=t.toString(),n=e.indexOf("e");if(n>0){var i=+e.slice(n+1);return i<0?-i:0}var r=e.indexOf(".");return r<0?0:e.length-1-r}function Ir(t,e){var n=Math.log,i=Math.LN10,r=Math.floor(n(t[1]-t[0])/i),o=Math.round(n(Math.abs(e[1]-e[0]))/i),a=Math.min(Math.max(-r+o,0),20);return isFinite(a)?a:20}function Cr(t,e,n){if(!t[e])return 0;var i=p(t,function(t,e){return t+(isNaN(e)?0:e)},0);if(0===i)return 0;for(var r=Math.pow(10,n),o=f(t,function(t){return(isNaN(t)?0:t)/i*r*100}),a=100*r,s=f(o,function(t){return Math.floor(t)}),l=p(s,function(t,e){return t+e},0),u=f(o,function(t,e){return t-s[e]});lh&&(h=u[d],c=d);++s[c],u[c]=0,++l}return s[e]/r}function Tr(t){var e=2*Math.PI;return(t%e+e)%e}function Dr(t){return t>-ly&&t=-20?+t.toFixed(i<0?-i:0):t}function Or(t){return isNaN(t)?"-":(t=(t+"").split("."))[0].replace(/(\d{1,3})(?=(?:\d{3})+(?!\d))/g,"$1,")+(t.length>1?"."+t[1]:"")}function zr(t,e){return t=(t||"").toLowerCase().replace(/-(.)/g,function(t,e){return e.toUpperCase()}),e&&t&&(t=t.charAt(0).toUpperCase()+t.slice(1)),t}function Er(t){return null==t?"":(t+"").replace(dy,function(t,e){return fy[e]})}function Nr(t,e,n){y(e)||(e=[e]);var i=e.length;if(!i)return"";for(var r=e[0].$vars||[],o=0;o':'':""}function Br(t,e){return t+="","0000".substr(0,e-t.length)+t}function Vr(t,e,n){"week"!==t&&"month"!==t&&"quarter"!==t&&"half-year"!==t&&"year"!==t||(t="MM-dd\nyyyy");var i=Ar(e),r=n?"UTC":"",o=i["get"+r+"FullYear"](),a=i["get"+r+"Month"]()+1,s=i["get"+r+"Date"](),l=i["get"+r+"Hours"](),u=i["get"+r+"Minutes"](),h=i["get"+r+"Seconds"](),c=i["get"+r+"Milliseconds"]();return t=t.replace("MM",Br(a,2)).replace("M",a).replace("yyyy",o).replace("yy",o%100).replace("dd",Br(s,2)).replace("d",s).replace("hh",Br(l,2)).replace("h",l).replace("mm",Br(u,2)).replace("m",u).replace("ss",Br(h,2)).replace("s",h).replace("SSS",Br(c,3))}function Fr(t){return t?t.charAt(0).toUpperCase()+t.substr(1):t}function Hr(t,e,n,i,r){var o=0,a=0;null==i&&(i=1/0),null==r&&(r=1/0);var s=0;e.eachChild(function(l,u){var h,c,d=l.position,f=l.getBoundingRect(),p=e.childAt(u+1),g=p&&p.getBoundingRect();if("horizontal"===t){var m=f.width+(g?-g.x+f.x:0);(h=o+m)>i||l.newline?(o=0,h=m,a+=s+n,s=f.height):s=Math.max(s,f.height)}else{var v=f.height+(g?-g.y+f.y:0);(c=a+v)>r||l.newline?(o+=s+n,a=0,c=v,s=f.width):s=Math.max(s,f.width)}l.newline||(d[0]=o,d[1]=a,"horizontal"===t?o=h+n:a=c+n)})}function Gr(t,e,n){n=cy(n||0);var i=e.width,r=e.height,o=_r(t.left,i),a=_r(t.top,r),s=_r(t.right,i),l=_r(t.bottom,r),u=_r(t.width,i),h=_r(t.height,r),c=n[2]+n[0],d=n[1]+n[3],f=t.aspect;switch(isNaN(u)&&(u=i-s-d-o),isNaN(h)&&(h=r-l-c-a),null!=f&&(isNaN(u)&&isNaN(h)&&(f>i/r?u=.8*i:h=.8*r),isNaN(u)&&(u=f*h),isNaN(h)&&(h=u/f)),isNaN(o)&&(o=i-s-u-d),isNaN(a)&&(a=r-l-h-c),t.left||t.right){case"center":o=i/2-u/2-n[3];break;case"right":o=i-u-d}switch(t.top||t.bottom){case"middle":case"center":a=r/2-h/2-n[0];break;case"bottom":a=r-h-c}o=o||0,a=a||0,isNaN(u)&&(u=i-d-o-(s||0)),isNaN(h)&&(h=r-c-a-(l||0));var p=new Xt(o+n[3],a+n[0],u,h);return p.margin=n,p}function Wr(t,e,n,i,r){var o=!r||!r.hv||r.hv[0],s=!r||!r.hv||r.hv[1],l=r&&r.boundingMode||"all";if(o||s){var u;if("raw"===l)u="group"===t.type?new Xt(0,0,+e.width||0,+e.height||0):t.getBoundingRect();else if(u=t.getBoundingRect(),t.needLocalTransform()){var h=t.getLocalTransform();(u=u.clone()).applyTransform(h)}e=Gr(a({width:u.width,height:u.height},e),n,i);var c=t.position,d=o?e.x-u.x:0,f=s?e.y-u.y:0;t.attr("position","raw"===l?[d,f]:[c[0]+d,c[1]+f])}}function Zr(t,e,n){function i(n,i){var a={},l=0,u={},h=0;if(xy(n,function(e){u[e]=t[e]}),xy(n,function(t){r(e,t)&&(a[t]=u[t]=e[t]),o(a,t)&&l++,o(u,t)&&h++}),s[i])return o(e,n[1])?u[n[2]]=null:o(e,n[2])&&(u[n[1]]=null),u;if(2!==h&&l){if(l>=2)return a;for(var c=0;ce)return t[i];return t[n-1]}function Yr(t){var e=t.get("coordinateSystem"),n={coordSysName:e,coordSysDims:[],axisMap:N(),categoryAxisMap:N()},i=ky[e];if(i)return i(t,n,n.axisMap,n.categoryAxisMap),n}function qr(t){return"category"===t.get("type")}function $r(t){this.fromDataset=t.fromDataset,this.data=t.data||(t.sourceFormat===zy?{}:[]),this.sourceFormat=t.sourceFormat||Ey,this.seriesLayoutBy=t.seriesLayoutBy||Ry,this.dimensionsDefine=t.dimensionsDefine,this.encodeDefine=t.encodeDefine&&N(t.encodeDefine),this.startIndex=t.startIndex||0,this.dimensionsDetectCount=t.dimensionsDetectCount}function Kr(t){var e=t.option.source,n=Ey;if(M(e))n=Ny;else if(y(e))for(var i=0,r=e.length;i=e:"max"===n?t<=e:t===e}function Mo(t,e){return t.join(",")===e.join(",")}function So(t,e){Zy(e=e||{},function(e,n){if(null!=e){var i=t[n];if(Iy.hasClass(n)){e=xn(e);var r=Mn(i=xn(i),e);t[n]=Xy(r,function(t){return t.option&&t.exist?jy(t.exist,t.option,!0):t.exist||t.option})}else t[n]=jy(i,e,!0)}})}function Io(t){var e=t&&t.itemStyle;if(e)for(var n=0,r=Ky.length;n=0;p--){var g=t[p];if(s||(d=g.data.rawIndexOf(g.stackedByDimension,c)),d>=0){var m=g.data.getByRawIndex(g.stackResultDimension,d);if(h>=0&&m>0||h<=0&&m<0){h+=m,f=m;break}}}return i[0]=h,i[1]=f,i});a.hostModel.setData(l),e.data=l})}function Ro(t,e){$r.isInstance(t)||(t=$r.seriesDataToSource(t)),this._source=t;var n=this._data=t.data,i=t.sourceFormat;i===Ny&&(this._offset=0,this._dimSize=e,this._data=n),o(this,ix[i===Ly?i+"_"+t.seriesLayoutBy:i])}function Bo(){return this._data.length}function Vo(t){return this._data[t]}function Fo(t){for(var e=0;ee.outputData.count()&&e.model.getRawData().cloneShallow(e.outputData)}function ea(t,e){d(t.CHANGABLE_METHODS,function(n){t.wrapMethod(n,v(na,e))})}function na(t){var e=ia(t);e&&e.setOutputEnd(this.count())}function ia(t){var e=(t.ecModel||{}).scheduler,n=e&&e.getPipeline(t.uid);if(n){var i=n.currentTask;if(i){var r=i.agentStubMap;r&&(i=r.get(t.uid))}return i}}function ra(){this.group=new Sg,this.uid=vr("viewChart"),this.renderTask=Xo({plan:sa,reset:la}),this.renderTask.context={view:this}}function oa(t,e){if(t&&(t.trigger(e),"group"===t.type))for(var n=0;n=0?i():c=setTimeout(i,-o),u=r};return d.clear=function(){c&&(clearTimeout(c),c=null)},d.debounceNextCall=function(t){l=t},d}function ha(t,e,n,i){var r=t[e];if(r){var o=r[xx]||r,a=r[bx];if(r[_x]!==n||a!==i){if(null==n||!i)return t[e]=o;(r=t[e]=ua(o,n,"debounce"===i))[xx]=o,r[bx]=i,r[_x]=n}return r}}function ca(t,e){var n=t[e];n&&n[xx]&&(t[e]=n[xx])}function da(t,e,n,i){this.ecInstance=t,this.api=e,this.unfinished;var n=this._dataProcessorHandlers=n.slice(),i=this._visualHandlers=i.slice();this._allHandlers=n.concat(i),this._stageTaskMap=N()}function fa(t,e,n,i,r){function o(t,e){return t.setDirty&&(!t.dirtyMap||t.dirtyMap.get(e.__pipeline.id))}r=r||{};var a;d(e,function(e,s){if(!r.visualType||r.visualType===e.visualType){var l=t._stageTaskMap.get(e.uid),u=l.seriesTaskMap,h=l.overallTask;if(h){var c,d=h.agentStubMap;d.each(function(t){o(r,t)&&(t.dirty(),c=!0)}),c&&h.dirty(),Dx(h,i);var f=t.getPerformArgs(h,r.block);d.each(function(t){t.perform(f)}),a|=h.perform(f)}else u&&u.each(function(s,l){o(r,s)&&s.dirty();var u=t.getPerformArgs(s,r.block);u.skip=!e.performRawSeries&&n.isSeriesFiltered(s.context.model),Dx(s,i),a|=s.perform(u)})}}),t.unfinished|=a}function pa(t,e,n,i,r){function o(n){var o=n.uid,s=a.get(o)||a.set(o,Xo({plan:_a,reset:wa,count:Ma}));s.context={model:n,ecModel:i,api:r,useClearVisual:e.isVisual&&!e.isLayout,plan:e.plan,reset:e.reset,scheduler:t},Sa(t,n,s)}var a=n.seriesTaskMap||(n.seriesTaskMap=N()),s=e.seriesType,l=e.getTargetSeries;e.createOnAllSeries?i.eachRawSeries(o):s?i.eachRawSeriesByType(s,o):l&&l(i,r).each(o);var u=t._pipelineMap;a.each(function(t,e){u.get(e)||(t.dispose(),a.removeKey(e))})}function ga(t,e,n,i,r){function o(e){var n=e.uid,i=s.get(n);i||(i=s.set(n,Xo({reset:va,onDirty:xa})),a.dirty()),i.context={model:e,overallProgress:h,modifyOutputEnd:c},i.agent=a,i.__block=h,Sa(t,e,i)}var a=n.overallTask=n.overallTask||Xo({reset:ma});a.context={ecModel:i,api:r,overallReset:e.overallReset,scheduler:t};var s=a.agentStubMap=a.agentStubMap||N(),l=e.seriesType,u=e.getTargetSeries,h=!0,c=e.modifyOutputEnd;l?i.eachRawSeriesByType(l,o):u?u(i,r).each(o):(h=!1,d(i.getSeries(),o));var f=t._pipelineMap;s.each(function(t,e){f.get(e)||(t.dispose(),a.dirty(),s.removeKey(e))})}function ma(t){t.overallReset(t.ecModel,t.api,t.payload)}function va(t,e){return t.overallProgress&&ya}function ya(){this.agent.dirty(),this.getDownstream().dirty()}function xa(){this.agent&&this.agent.dirty()}function _a(t){return t.plan&&t.plan(t.model,t.ecModel,t.api,t.payload)}function wa(t){t.useClearVisual&&t.data.clearAllVisual();var e=t.resetDefines=xn(t.reset(t.model,t.ecModel,t.api,t.payload));return e.length>1?f(e,function(t,e){return ba(e)}):Ax}function ba(t){return function(e,n){var i=n.data,r=n.resetDefines[t];if(r&&r.dataEach)for(var o=e.start;oe.get("hoverLayerThreshold")&&!bp.node&&n.traverse(function(t){t.isGroup||(t.useHoverLayer=!0)})}function Ua(t,e){var n=t.get("blendMode")||null;e.group.traverse(function(t){t.isGroup||t.style.blend!==n&&t.setStyle("blend",n),t.eachPendingDisplayable&&t.eachPendingDisplayable(function(t){t.setStyle("blend",n)})})}function Xa(t,e){var n=t.get("z"),i=t.get("zlevel");e.group.traverse(function(t){"group"!==t.type&&(null!=n&&(t.z=n),null!=i&&(t.zlevel=i))})}function ja(t){var e=t._coordSysMgr;return o(new vo(t),{getCoordinateSystems:m(e.getCoordinateSystems,e),getComponentByElement:function(e){for(;e;){var n=e.__ecComponentInfo;if(null!=n)return t._model.getComponent(n.mainType,n.index);e=e.parent}}})}function Ya(t){function e(t,e){for(var i=0;i65535?x_:__}function ms(t){var e=t.constructor;return e===Array?t.slice():new e(t)}function vs(t,e){d(w_.concat(e.__wrappedMethods||[]),function(n){e.hasOwnProperty(n)&&(t[n]=e[n])}),t.__wrappedMethods=e.__wrappedMethods,d(b_,function(i){t[i]=n(e[i])}),t._calculationInfo=o(e._calculationInfo)}function ys(t){var e=t._invertedIndicesMap;d(e,function(n,i){var r=t._dimensionInfos[i].ordinalMeta;if(r){n=e[i]=new x_(r.categories.length);for(o=0;o=0?this._indices[t]:-1}function bs(t,e){var n=t._idList[e];return null==n&&(n=xs(t,t._idDimIdx,e)),null==n&&(n=v_+e),n}function Ms(t){return y(t)||(t=[t]),t}function Ss(t,e){var n=t.dimensions,i=new M_(f(n,t.getDimensionInfo,t),t.hostModel);vs(i,t);for(var r=i._storage={},o=t._storage,a=0;a=0?(r[s]=Is(o[s]),i._rawExtent[s]=Cs(),i._extent[s]=null):r[s]=o[s])}return i}function Is(t){for(var e=new Array(t.length),n=0;ni&&(a=r.interval=i);var s=r.intervalPrecision=Hs(a);return Ws(r.niceTickExtent=[k_(Math.ceil(t[0]/a)*a,s),k_(Math.floor(t[1]/a)*a,s)],t),r}function Hs(t){return Sr(t)+2}function Gs(t,e,n){t[e]=Math.max(Math.min(t[e],n[1]),n[0])}function Ws(t,e){!isFinite(t[0])&&(t[0]=e[0]),!isFinite(t[1])&&(t[1]=e[1]),Gs(t,0,e),Gs(t,1,e),t[0]>t[1]&&(t[0]=t[1])}function Zs(t,e,n,i){var r=[];if(!t)return r;e[0]1e4)return[];return e[1]>(r.length?r[r.length-1]:n[1])&&r.push(e[1]),r}function Us(t){return t.get("stack")||O_+t.seriesIndex}function Xs(t){return t.dim+t.index}function js(t,e){var n=[];return e.eachSeriesByType(t,function(t){Ks(t)&&!Qs(t)&&n.push(t)}),n}function Ys(t){var e=[];return d(t,function(t){var n=t.getData(),i=t.coordinateSystem.getBaseAxis(),r=i.getExtent(),o="category"===i.type?i.getBandWidth():Math.abs(r[1]-r[0])/n.count(),a=_r(t.get("barWidth"),o),s=_r(t.get("barMaxWidth"),o),l=t.get("barGap"),u=t.get("barCategoryGap");e.push({bandWidth:o,barWidth:a,barMaxWidth:s,barGap:l,barCategoryGap:u,axisKey:Xs(i),stackId:Us(t)})}),qs(e)}function qs(t){var e={};d(t,function(t,n){var i=t.axisKey,r=t.bandWidth,o=e[i]||{bandWidth:r,remainedWidth:r,autoWidthCount:0,categoryGap:"20%",gap:"30%",stacks:{}},a=o.stacks;e[i]=o;var s=t.stackId;a[s]||o.autoWidthCount++,a[s]=a[s]||{width:0,maxWidth:0};var l=t.barWidth;l&&!a[s].width&&(a[s].width=l,l=Math.min(o.remainedWidth,l),o.remainedWidth-=l);var u=t.barMaxWidth;u&&(a[s].maxWidth=u);var h=t.barGap;null!=h&&(o.gap=h);var c=t.barCategoryGap;null!=c&&(o.categoryGap=c)});var n={};return d(e,function(t,e){n[e]={};var i=t.stacks,r=t.bandWidth,o=_r(t.categoryGap,r),a=_r(t.gap,1),s=t.remainedWidth,l=t.autoWidthCount,u=(s-o)/(l+(l-1)*a);u=Math.max(u,0),d(i,function(t,e){var n=t.maxWidth;n&&n=0||n?e.toGlobalCoord(e.dataToCoord(0)):e.getGlobalExtent()[0]}function tl(t,e){return U_(t,Z_(e))}function el(t,e){var n,i,r,o=t.type,a=e.getMin(),s=e.getMax(),l=null!=a,u=null!=s,h=t.getExtent();"ordinal"===o?n=e.getCategories().length:(y(i=e.get("boundaryGap"))||(i=[i||0,i||0]),"boolean"==typeof i[0]&&(i=[0,0]),i[0]=_r(i[0],1),i[1]=_r(i[1],1),r=h[1]-h[0]||Math.abs(h[0])),null==a&&(a="ordinal"===o?n?0:NaN:h[0]-i[0]*r),null==s&&(s="ordinal"===o?n?n-1:NaN:h[1]+i[1]*r),"dataMin"===a?a=h[0]:"function"==typeof a&&(a=a({min:h[0],max:h[1]})),"dataMax"===s?s=h[1]:"function"==typeof s&&(s=s({min:h[0],max:h[1]})),(null==a||!isFinite(a))&&(a=NaN),(null==s||!isFinite(s))&&(s=NaN),t.setBlank(I(a)||I(s)||"ordinal"===o&&!t.getOrdinalMeta().categories.length),e.getNeedCrossZero()&&(a>0&&s>0&&!l&&(a=0),a<0&&s<0&&!u&&(s=0));var c=e.ecModel;if(c&&"time"===o){var f,p=js("bar",c);if(d(p,function(t){f|=t.getBaseAxis()===e.axis}),f){var g=Ys(p),m=nl(a,s,e,g);a=m.min,s=m.max}}return[a,s]}function nl(t,e,n,i){var r=n.axis.getExtent(),o=r[1]-r[0],a=$s(i,n.axis);if(void 0===a)return{min:t,max:e};var s=1/0;d(a,function(t){s=Math.min(t.offset,s)});var l=-1/0;d(a,function(t){l=Math.max(t.offset+t.width,l)}),s=Math.abs(s),l=Math.abs(l);var u=s+l,h=e-t,c=h/(1-(s+l)/o)-h;return e+=c*(l/u),t-=c*(s/u),{min:t,max:e}}function il(t,e){var n=el(t,e),i=null!=e.getMin(),r=null!=e.getMax(),o=e.get("splitNumber");"log"===t.type&&(t.base=e.get("logBase"));var a=t.type;t.setExtent(n[0],n[1]),t.niceExtent({splitNumber:o,fixMin:i,fixMax:r,minInterval:"interval"===a||"time"===a?e.get("minInterval"):null,maxInterval:"interval"===a||"time"===a?e.get("maxInterval"):null});var s=e.get("interval");null!=s&&t.setInterval&&t.setInterval(s)}function rl(t,e){if(e=e||t.get("type"))switch(e){case"category":return new A_(t.getOrdinalMeta?t.getOrdinalMeta():t.getCategories(),[1/0,-1/0]);case"value":return new L_;default:return(Ns.getClass(e)||L_).create(t)}}function ol(t){var e=t.scale.getExtent(),n=e[0],i=e[1];return!(n>0&&i>0||n<0&&i<0)}function al(t){var e=t.getLabelModel().get("formatter"),n="category"===t.type?t.scale.getExtent()[0]:null;return"string"==typeof e?e=function(t){return function(e){return t.replace("{value}",null!=e?e:"")}}(e):"function"==typeof e?function(i,r){return null!=n&&(r=i-n),e(sl(t,i),r)}:function(e){return t.scale.getLabel(e)}}function sl(t,e){return"category"===t.type?t.scale.getLabel(e):e}function ll(t){var e=t.model,n=t.scale;if(e.get("axisLabel.show")&&!n.isBlank()){var i,r,o="category"===t.type,a=n.getExtent();r=o?n.count():(i=n.getTicks()).length;var s,l=t.getLabelModel(),u=al(t),h=1;r>40&&(h=Math.ceil(r/40));for(var c=0;c>1^-(1&s),l=l>>1^-(1&l),r=s+=r,o=l+=o,i.push([s/n,l/n])}return i}function vl(t){return"category"===t.type?xl(t):bl(t)}function yl(t,e){return"category"===t.type?wl(t,e):{ticks:t.scale.getTicks()}}function xl(t){var e=t.getLabelModel(),n=_l(t,e);return!e.get("show")||t.scale.isBlank()?{labels:[],labelCategoryInterval:n.labelCategoryInterval}:n}function _l(t,e){var n=Ml(t,"labels"),i=Pl(e),r=Sl(n,i);if(r)return r;var o,a;return o=x(i)?kl(t,i):Al(t,a="auto"===i?Cl(t):i),Il(n,i,{labels:o,labelCategoryInterval:a})}function wl(t,e){var n=Ml(t,"ticks"),i=Pl(e),r=Sl(n,i);if(r)return r;var o,a;if(e.get("show")&&!t.scale.isBlank()||(o=[]),x(i))o=kl(t,i,!0);else if("auto"===i){var s=_l(t,t.getLabelModel());a=s.labelCategoryInterval,o=f(s.labels,function(t){return t.tickValue})}else o=Al(t,a=i,!0);return Il(n,i,{ticks:o,tickCategoryInterval:a})}function bl(t){var e=t.scale.getTicks(),n=al(t);return{labels:f(e,function(e,i){return{formattedLabel:n(e,i),rawLabel:t.scale.getLabel(e),tickValue:e}})}}function Ml(t,e){return uw(t)[e]||(uw(t)[e]=[])}function Sl(t,e){for(var n=0;n40&&(s=Math.max(1,Math.floor(a/40)));for(var l=o[0],u=t.dataToCoord(l+1)-t.dataToCoord(l),h=Math.abs(u*Math.cos(i)),c=Math.abs(u*Math.sin(i)),d=0,f=0;l<=o[1];l+=s){var p=0,g=0,m=ce(n(l),e.font,"center","top");p=1.3*m.width,g=1.3*m.height,d=Math.max(d,p,7),f=Math.max(f,g,7)}var v=d/h,y=f/c;isNaN(v)&&(v=1/0),isNaN(y)&&(y=1/0);var x=Math.max(0,Math.floor(Math.min(v,y))),_=uw(t.model),w=_.lastAutoInterval,b=_.lastTickCount;return null!=w&&null!=b&&Math.abs(w-x)<=1&&Math.abs(b-a)<=1&&w>x?x=w:(_.lastTickCount=a,_.lastAutoInterval=x),x}function Dl(t){var e=t.getLabelModel();return{axisRotate:t.getRotate?t.getRotate():t.isHorizontal&&!t.isHorizontal()?90:0,labelRotate:e.get("rotate")||0,font:e.getFont()}}function Al(t,e,n){function i(t){l.push(n?t:{formattedLabel:r(t),rawLabel:o.getLabel(t),tickValue:t})}var r=al(t),o=t.scale,a=o.getExtent(),s=t.getLabelModel(),l=[],u=Math.max((e||0)+1,1),h=a[0],c=o.count();0!==h&&u>1&&c/u>2&&(h=Math.round(Math.ceil(h/u)*u));var d={min:s.get("showMinLabel"),max:s.get("showMaxLabel")};d.min&&h!==a[0]&&i(a[0]);for(var f=h;f<=a[1];f+=u)i(f);return d.max&&f!==a[1]&&i(a[1]),l}function kl(t,e,n){var i=t.scale,r=al(t),o=[];return d(i.getTicks(),function(t){var a=i.getLabel(t);e(t,a)&&o.push(n?t:{formattedLabel:r(t),rawLabel:a,tickValue:t})}),o}function Pl(t){var e=t.get("interval");return null==e?"auto":e}function Ll(t,e){var n=(t[1]-t[0])/e/2;t[0]+=n,t[1]-=n}function Ol(t,e,n,i,r){function o(t,e){return h?t>e:t0&&(t.coord-=u/(2*(e+1)))}),s={coord:e[a-1].coord+u},e.push(s)}var h=l[0]>l[1];o(e[0].coord,l[0])&&(r?e[0].coord=l[0]:e.shift()),r&&o(l[0],e[0].coord)&&e.unshift({coord:l[0]}),o(l[1],s.coord)&&(r?s.coord=l[1]:e.pop()),r&&o(s.coord,l[1])&&e.push({coord:l[1]})}}function zl(t,e){var n=t.mapDimension("defaultedLabel",!0),i=n.length;if(1===i)return Zo(t,e,n[0]);if(i){for(var r=[],o=0;o0?n=i[0]:i[1]<0&&(n=i[1]),n}function Zl(t,e,n,i){var r=NaN;t.stacked&&(r=n.get(n.getCalculationInfo("stackedOverDimension"),i)),isNaN(r)&&(r=t.valueStart);var o=t.baseDataOffset,a=[];return a[o]=n.get(t.baseDim,i),a[1-o]=r,e.dataToPoint(a)}function Ul(t,e){var n=[];return e.diff(t).add(function(t){n.push({cmd:"+",idx:t})}).update(function(t,e){n.push({cmd:"=",idx:e,idx1:t})}).remove(function(t){n.push({cmd:"-",idx:t})}).execute(),n}function Xl(t){return isNaN(t[0])||isNaN(t[1])}function jl(t,e,n,i,r,o,a,s,l,u,h){return"none"!==u&&u?Yl.apply(this,arguments):ql.apply(this,arguments)}function Yl(t,e,n,i,r,o,a,s,l,u,h){for(var c=0,d=n,f=0;f=r||d<0)break;if(Xl(p)){if(h){d+=o;continue}break}if(d===n)t[o>0?"moveTo":"lineTo"](p[0],p[1]);else if(l>0){var g=e[c],m="y"===u?1:0,v=(p[m]-g[m])*l;Iw(Tw,g),Tw[m]=g[m]+v,Iw(Dw,p),Dw[m]=p[m]-v,t.bezierCurveTo(Tw[0],Tw[1],Dw[0],Dw[1],p[0],p[1])}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}function ql(t,e,n,i,r,o,a,s,l,u,h){for(var c=0,d=n,f=0;f=r||d<0)break;if(Xl(p)){if(h){d+=o;continue}break}if(d===n)t[o>0?"moveTo":"lineTo"](p[0],p[1]),Iw(Tw,p);else if(l>0){var g=d+o,m=e[g];if(h)for(;m&&Xl(e[g]);)m=e[g+=o];var v=.5,y=e[c];if(!(m=e[g])||Xl(m))Iw(Dw,p);else{Xl(m)&&!h&&(m=p),W(Cw,m,y);var x,_;if("x"===u||"y"===u){var w="x"===u?0:1;x=Math.abs(p[w]-y[w]),_=Math.abs(p[w]-m[w])}else x=Fp(p,y),_=Fp(p,m);Sw(Dw,p,Cw,-l*(1-(v=_/(_+x))))}bw(Tw,Tw,s),Mw(Tw,Tw,a),bw(Dw,Dw,s),Mw(Dw,Dw,a),t.bezierCurveTo(Tw[0],Tw[1],Dw[0],Dw[1],p[0],p[1]),Sw(Tw,p,Cw,l*v)}else t.lineTo(p[0],p[1]);c=d,d+=o}return f}function $l(t,e){var n=[1/0,1/0],i=[-1/0,-1/0];if(e)for(var r=0;ri[0]&&(i[0]=o[0]),o[1]>i[1]&&(i[1]=o[1])}return{min:e?n:i,max:e?i:n}}function Kl(t,e){if(t.length===e.length){for(var n=0;ne[0]?1:-1;e[0]+=i*n,e[1]-=i*n}return e}function tu(t,e,n){if(!n.valueDim)return[];for(var i=[],r=0,o=e.count();ro[1]&&o.reverse();var a=r.getExtent(),s=Math.PI/180;n&&(o[0]-=.5,o[1]+=.5);var l=new zv({shape:{cx:wr(t.cx,1),cy:wr(t.cy,1),r0:wr(o[0],1),r:wr(o[1],1),startAngle:-a[0]*s,endAngle:-a[1]*s,clockwise:r.inverse}});return e&&(l.shape.endAngle=-a[0]*s,sr(l,{shape:{endAngle:-a[1]*s}},i)),l}function iu(t,e,n,i){return"polar"===t.type?nu(t,e,n,i):eu(t,e,n,i)}function ru(t,e,n){for(var i=e.getBaseAxis(),r="x"===i.dim||"radius"===i.dim?0:1,o=[],a=0;a=0;o--){var a=n[o].dimension,s=t.dimensions[a],l=t.getDimensionInfo(s);if("x"===(i=l&&l.coordDim)||"y"===i){r=n[o];break}}if(r){var u=e.getAxis(i),h=f(r.stops,function(t){return{coord:u.toGlobalCoord(u.dataToCoord(t.value)),color:t.color}}),c=h.length,p=r.outerColors.slice();c&&h[0].coord>h[c-1].coord&&(h.reverse(),p.reverse());var g=h[0].coord-10,m=h[c-1].coord+10,v=m-g;if(v<.001)return"transparent";d(h,function(t){t.offset=(t.coord-g)/v}),h.push({offset:c?h[c-1].offset:.5,color:p[1]||"transparent"}),h.unshift({offset:c?h[0].offset:.5,color:p[0]||"transparent"});var y=new jv(0,0,0,0,h,!0);return y[i]=g,y[i+"2"]=m,y}}}function au(t,e,n){var i=t.get("showAllSymbol"),r="auto"===i;if(!i||r){var o=n.getAxesByScale("ordinal")[0];if(o&&(!r||!su(o,e))){var a=e.mapDimension(o.dim),s={};return d(o.getViewLabels(),function(t){s[t.tickValue]=1}),function(t){return!s.hasOwnProperty(e.get(a,t))}}}}function su(t,e){var n=t.getExtent(),i=Math.abs(n[1]-n[0])/t.scale.count();isNaN(i)&&(i=0);for(var r=e.count(),o=Math.max(1,Math.round(r/5)),a=0;ai)return!1;return!0}function lu(t){return this._axes[t]}function uu(t){Ew.call(this,t)}function hu(t,e){return e.type||(e.data?"category":"value")}function cu(t,e,n){return t.getCoordSysModel()===e}function du(t,e,n){this._coordsMap={},this._coordsList=[],this._axesMap={},this._axesList=[],this._initCartesian(t,e,n),this.model=t}function fu(t,e,n){n.getAxesOnZeroOf=function(){return i?[i]:[]};var i,r=t[e],o=n.model,a=o.get("axisLine.onZero"),s=o.get("axisLine.onZeroAxisIndex");if(a)if(null==s){for(var l in r)if(r.hasOwnProperty(l)&&pu(r[l])){i=r[l];break}}else pu(r[s])&&(i=r[s])}function pu(t){return t&&"category"!==t.type&&"time"!==t.type&&ol(t)}function gu(t,e){var n=t.getExtent(),i=n[0]+n[1];t.toGlobalCoord="x"===t.dim?function(t){return t+e}:function(t){return i-t+e},t.toLocalCoord="x"===t.dim?function(t){return t-e}:function(t){return i-t+e}}function mu(t,e){return f(Zw,function(e){return t.getReferringComponents(e)[0]})}function vu(t){return"cartesian2d"===t.get("coordinateSystem")}function yu(t){var e={componentType:t.mainType};return e[t.mainType+"Index"]=t.componentIndex,e}function xu(t,e,n,i){var r,o,a=Tr(n-t.rotation),s=i[0]>i[1],l="start"===e&&!s||"start"!==e&&s;return Dr(a-Uw/2)?(o=l?"bottom":"top",r="center"):Dr(a-1.5*Uw)?(o=l?"top":"bottom",r="center"):(o="middle",r=a<1.5*Uw&&a>Uw/2?l?"left":"right":l?"right":"left"),{rotation:a,textAlign:r,textVerticalAlign:o}}function _u(t){var e=t.get("tooltip");return t.get("silent")||!(t.get("triggerEvent")||e&&e.show)}function wu(t,e,n){var i=t.get("axisLabel.showMinLabel"),r=t.get("axisLabel.showMaxLabel");e=e||[],n=n||[];var o=e[0],a=e[1],s=e[e.length-1],l=e[e.length-2],u=n[0],h=n[1],c=n[n.length-1],d=n[n.length-2];!1===i?(bu(o),bu(u)):Mu(o,a)&&(i?(bu(a),bu(h)):(bu(o),bu(u))),!1===r?(bu(s),bu(c)):Mu(l,s)&&(r?(bu(l),bu(d)):(bu(s),bu(c)))}function bu(t){t&&(t.ignore=!0)}function Mu(t,e,n){var i=t&&t.getBoundingRect().clone(),r=e&&e.getBoundingRect().clone();if(i&&r){var o=ot([]);return ut(o,o,-t.rotation),i.applyTransform(st([],o,t.getLocalTransform())),r.applyTransform(st([],o,e.getLocalTransform())),i.intersect(r)}}function Su(t){return"middle"===t||"center"===t}function Iu(t,e,n){var i=e.axis;if(e.get("axisTick.show")&&!i.scale.isBlank()){for(var r=e.getModel("axisTick"),o=r.getModel("lineStyle"),s=r.get("length"),l=i.getTicksCoords(),u=[],h=[],c=t._transform,d=[],f=0;f=0||t===e}function Ou(t){var e=zu(t);if(e){var n=e.axisPointerModel,i=e.axis.scale,r=n.option,o=n.get("status"),a=n.get("value");null!=a&&(a=i.parse(a));var s=Nu(n);null==o&&(r.status=s?"show":"hide");var l=i.getExtent().slice();l[0]>l[1]&&l.reverse(),(null==a||a>l[1])&&(a=l[1]),a0?"bottom":"top":r.width>0?"left":"right";l||Hu(t.style,d,i,u,o,n,p),qi(t,d)}function Xu(t,e){var n=t.get(rb)||0;return Math.min(n,Math.abs(e.width),Math.abs(e.height))}function ju(t,e,n){var i=t.getData(),r=[],o=i.getLayout("valueAxisHorizontal")?1:0;r[1-o]=i.getLayout("valueAxisStart");var a=new sb({shape:{points:i.getLayout("largePoints")},incremental:!!n,__startPoint:r,__valueIdx:o});e.add(a),Yu(a,t,i)}function Yu(t,e,n){var i=n.getVisual("borderColor")||n.getVisual("color"),r=e.getModel("itemStyle").getItemStyle(["color","borderColor"]);t.useStyle(r),t.style.fill=null,t.style.stroke=i,t.style.lineWidth=n.getLayout("barWidth")}function qu(t,e,n,i){var r=e.getData(),o=this.dataIndex,a=r.getName(o),s=e.get("selectedOffset");i.dispatchAction({type:"pieToggleSelect",from:t,name:a,seriesId:e.id}),r.each(function(t){$u(r.getItemGraphicEl(t),r.getItemLayout(t),e.isSelected(r.getName(t)),s,n)})}function $u(t,e,n,i,r){var o=(e.startAngle+e.endAngle)/2,a=Math.cos(o),s=Math.sin(o),l=n?i:0,u=[a*l,s*l];r?t.animate().when(200,{position:u}).start("bounceOut"):t.attr("position",u)}function Ku(t,e){function n(){o.ignore=o.hoverIgnore,a.ignore=a.hoverIgnore}function i(){o.ignore=o.normalIgnore,a.ignore=a.normalIgnore}Sg.call(this);var r=new zv({z2:2}),o=new Vv,a=new kv;this.add(r),this.add(o),this.add(a),this.updateData(t,e,!0),this.on("emphasis",n).on("normal",i).on("mouseover",n).on("mouseout",i)}function Qu(t,e,n,i,r,o,a){function s(e,n){for(var i=e;i>=0&&(t[i].y-=n,!(i>0&&t[i].y>t[i-1].y+t[i-1].height));i--);}function l(t,e,n,i,r,o){for(var a=e?Number.MAX_VALUE:0,s=0,l=t.length;s=a&&(d=a-10),!e&&d<=a&&(d=a+10),t[s].x=n+d*o,a=d}}t.sort(function(t,e){return t.y-e.y});for(var u,h=0,c=t.length,d=[],f=[],p=0;pe&&o+1t[o].y+t[o].height)return void s(o,i/2);s(n-1,i/2)}(p,c,-u),h=t[p].y+t[p].height;a-h<0&&s(c-1,h-a);for(p=0;p=n?f.push(t[p]):d.push(t[p]);l(d,!1,e,n,i,r),l(f,!0,e,n,i,r)}function Ju(t,e,n,i,r,o){for(var a=[],s=[],l=0;l=0&&s<0)&&(a=p,s=f,r=u,o.length=0),xb(h,function(t){o.push({seriesIndex:e.seriesIndex,dataIndexInside:t,dataIndex:e.getData().getRawIndex(t)})}))}}),{payloadBatch:o,snapToValue:r}}function hh(t,e,n,i){t[e.key]={value:n,payloadBatch:i}}function ch(t,e,n,i){var r=n.payloadBatch,o=e.axis,a=o.model,s=e.axisPointerModel;if(e.triggerTooltip&&r.length){var l=e.coordSys.model,u=Ru(l),h=t.map[u];h||(h=t.map[u]={coordSysId:l.id,coordSysIndex:l.componentIndex,coordSysType:l.type,coordSysMainType:l.mainType,dataByAxis:[]},t.list.push(h)),h.dataByAxis.push({axisDim:o.dim,axisIndex:a.componentIndex,axisType:a.type,axisId:a.id,value:i,valueLabelOpt:{precision:s.get("label.precision"),formatter:s.get("label.formatter")},seriesDataIndices:r.slice()})}}function dh(t,e,n){var i=n.axesInfo=[];xb(e,function(e,n){var r=e.axisPointerModel.option,o=t[n];o?(!e.useHandle&&(r.status="show"),r.value=o.value,r.seriesDataIndices=(o.payloadBatch||[]).slice()):!e.useHandle&&(r.status="hide"),"show"===r.status&&i.push({axisDim:e.axis.dim,axisIndex:e.axis.model.componentIndex,value:r.value})})}function fh(t,e,n,i){if(!vh(e)&&t.list.length){var r=((t.list[0].dataByAxis[0]||{}).seriesDataIndices||[])[0]||{};i({type:"showTip",escapeConnect:!0,x:e[0],y:e[1],tooltipOption:n.tooltipOption,position:n.position,dataIndexInside:r.dataIndexInside,dataIndex:r.dataIndex,seriesIndex:r.seriesIndex,dataByCoordSys:t.list})}else i({type:"hideTip"})}function ph(t,e,n){var i=n.getZr(),r=wb(i).axisPointerLastHighlights||{},o=wb(i).axisPointerLastHighlights={};xb(t,function(t,e){var n=t.axisPointerModel.option;"show"===n.status&&xb(n.seriesDataIndices,function(t){var e=t.seriesIndex+" | "+t.dataIndex;o[e]=t})});var a=[],s=[];d(r,function(t,e){!o[e]&&s.push(t)}),d(o,function(t,e){!r[e]&&a.push(t)}),s.length&&n.dispatchAction({type:"downplay",escapeConnect:!0,batch:s}),a.length&&n.dispatchAction({type:"highlight",escapeConnect:!0,batch:a})}function gh(t,e){for(var n=0;n<(t||[]).length;n++){var i=t[n];if(e.axis.dim===i.axisDim&&e.axis.model.componentIndex===i.axisIndex)return i}}function mh(t){var e=t.axis.model,n={},i=n.axisDim=t.axis.dim;return n.axisIndex=n[i+"AxisIndex"]=e.componentIndex,n.axisName=n[i+"AxisName"]=e.name,n.axisId=n[i+"AxisId"]=e.id,n}function vh(t){return!t||null==t[0]||isNaN(t[0])||null==t[1]||isNaN(t[1])}function yh(t,e,n){if(!bp.node){var i=e.getZr();bb(i).records||(bb(i).records={}),xh(i,e),(bb(i).records[t]||(bb(i).records[t]={})).handler=n}}function xh(t,e){function n(n,i){t.on(n,function(n){var r=Mh(e);Mb(bb(t).records,function(t){t&&i(t,n,r.dispatchAction)}),_h(r.pendings,e)})}bb(t).initialized||(bb(t).initialized=!0,n("click",v(bh,"click")),n("mousemove",v(bh,"mousemove")),n("globalout",wh))}function _h(t,e){var n,i=t.showTip.length,r=t.hideTip.length;i?n=t.showTip[i-1]:r&&(n=t.hideTip[r-1]),n&&(n.dispatchAction=null,e.dispatchAction(n))}function wh(t,e,n){t.handler("leave",null,n)}function bh(t,e,n,i){e.handler(t,n,i)}function Mh(t){var e={showTip:[],hideTip:[]},n=function(i){var r=e[i.type];r?r.push(i):(i.dispatchAction=n,t.dispatchAction(i))};return{dispatchAction:n,pendings:e}}function Sh(t,e){if(!bp.node){var n=e.getZr();(bb(n).records||{})[t]&&(bb(n).records[t]=null)}}function Ih(){}function Ch(t,e,n,i){Th(Ib(n).lastProp,i)||(Ib(n).lastProp=i,e?ar(n,i,t):(n.stopAnimation(),n.attr(i)))}function Th(t,e){if(w(t)&&w(e)){var n=!0;return d(e,function(e,i){n=n&&Th(t[i],e)}),!!n}return t===e}function Dh(t,e){t[e.get("label.show")?"show":"hide"]()}function Ah(t){return{position:t.position.slice(),rotation:t.rotation||0}}function kh(t,e,n){var i=e.get("z"),r=e.get("zlevel");t&&t.traverse(function(t){"group"!==t.type&&(null!=i&&(t.z=i),null!=r&&(t.zlevel=r),t.silent=n)})}function Ph(t){var e,n=t.get("type"),i=t.getModel(n+"Style");return"line"===n?(e=i.getLineStyle()).fill=null:"shadow"===n&&((e=i.getAreaStyle()).stroke=null),e}function Lh(t,e,n,i,r){var o=zh(n.get("value"),e.axis,e.ecModel,n.get("seriesDataIndices"),{precision:n.get("label.precision"),formatter:n.get("label.formatter")}),a=n.getModel("label"),s=cy(a.get("padding")||0),l=a.getFont(),u=ce(o,l),h=r.position,c=u.width+s[1]+s[3],d=u.height+s[0]+s[2],f=r.align;"right"===f&&(h[0]-=c),"center"===f&&(h[0]-=c/2);var p=r.verticalAlign;"bottom"===p&&(h[1]-=d),"middle"===p&&(h[1]-=d/2),Oh(h,c,d,i);var g=a.get("backgroundColor");g&&"auto"!==g||(g=e.get("axisLine.lineStyle.color")),t.label={shape:{x:0,y:0,width:c,height:d,r:a.get("borderRadius")},position:h.slice(),style:{text:o,textFont:l,textFill:a.getTextColor(),textPosition:"inside",fill:g,stroke:a.get("borderColor")||"transparent",lineWidth:a.get("borderWidth")||0,shadowBlur:a.get("shadowBlur"),shadowColor:a.get("shadowColor"),shadowOffsetX:a.get("shadowOffsetX"),shadowOffsetY:a.get("shadowOffsetY")},z2:10}}function Oh(t,e,n,i){var r=i.getWidth(),o=i.getHeight();t[0]=Math.min(t[0]+e,r)-e,t[1]=Math.min(t[1]+n,o)-n,t[0]=Math.max(t[0],0),t[1]=Math.max(t[1],0)}function zh(t,e,n,i,r){t=e.scale.parse(t);var o=e.scale.getLabel(t,{precision:r.precision}),a=r.formatter;if(a){var s={value:sl(e,t),seriesData:[]};d(i,function(t){var e=n.getSeriesByIndex(t.seriesIndex),i=t.dataIndexInside,r=e&&e.getDataParams(i);r&&s.seriesData.push(r)}),_(a)?o=a.replace("{value}",o):x(a)&&(o=a(s))}return o}function Eh(t,e,n){var i=rt();return ut(i,i,n.rotation),lt(i,i,n.position),ur([t.dataToCoord(e),(n.labelOffset||0)+(n.labelDirection||1)*(n.labelMargin||0)],i)}function Nh(t,e,n,i,r,o){var a=Xw.innerTextLayout(n.rotation,0,n.labelDirection);n.labelMargin=r.get("label.margin"),Lh(e,i,r,o,{position:Eh(i.axis,t,n),align:a.textAlign,verticalAlign:a.textVerticalAlign})}function Rh(t,e,n){return n=n||0,{x1:t[n],y1:t[1-n],x2:e[n],y2:e[1-n]}}function Bh(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}function Vh(t,e){var n={};return n[e.dim+"AxisIndex"]=e.index,t.getCartesian(n)}function Fh(t){return"x"===t.dim?0:1}function Hh(t){var e="left "+t+"s cubic-bezier(0.23, 1, 0.32, 1),top "+t+"s cubic-bezier(0.23, 1, 0.32, 1)";return f(Lb,function(t){return t+"transition:"+e}).join(";")}function Gh(t){var e=[],n=t.get("fontSize"),i=t.getTextColor();return i&&e.push("color:"+i),e.push("font:"+t.getFont()),n&&e.push("line-height:"+Math.round(3*n/2)+"px"),kb(["decoration","align"],function(n){var i=t.get(n);i&&e.push("text-"+n+":"+i)}),e.join(";")}function Wh(t){var e=[],n=t.get("transitionDuration"),i=t.get("backgroundColor"),r=t.getModel("textStyle"),o=t.get("padding");return n&&e.push(Hh(n)),i&&(bp.canvasSupported?e.push("background-Color:"+i):(e.push("background-Color:#"+Dt(i)),e.push("filter:alpha(opacity=70)"))),kb(["width","color","radius"],function(n){var i="border-"+n,r=Pb(i),o=t.get(r);null!=o&&e.push(i+":"+o+("color"===n?"":"px"))}),e.push(Gh(r)),null!=o&&e.push("padding:"+cy(o).join("px ")+"px"),e.join(";")+";"}function Zh(t,e){if(bp.wxa)return null;var n=document.createElement("div"),i=this._zr=e.getZr();this.el=n,this._x=e.getWidth()/2,this._y=e.getHeight()/2,t.appendChild(n),this._container=t,this._show=!1,this._hideTimeout;var r=this;n.onmouseenter=function(){r._enterable&&(clearTimeout(r._hideTimeout),r._show=!0),r._inContent=!0},n.onmousemove=function(e){if(e=e||window.event,!r._enterable){var n=i.handler;rn(t,e,!0),n.dispatch("mousemove",e)}},n.onmouseleave=function(){r._enterable&&r._show&&r.hideLater(r._hideDelay),r._inContent=!1}}function Uh(t){for(var e=t.pop();t.length;){var n=t.pop();n&&(pr.isInstance(n)&&(n=n.get("tooltip",!0)),"string"==typeof n&&(n={formatter:n}),e=new pr(n,e,e.ecModel))}return e}function Xh(t,e){return t.dispatchAction||m(e.dispatchAction,e)}function jh(t,e,n,i,r,o,a){var s=qh(n),l=s.width,u=s.height;return null!=o&&(t+l+o>i?t-=l+o:t+=o),null!=a&&(e+u+a>r?e-=u+a:e+=a),[t,e]}function Yh(t,e,n,i,r){var o=qh(n),a=o.width,s=o.height;return t=Math.min(t+a,i)-a,e=Math.min(e+s,r)-s,t=Math.max(t,0),e=Math.max(e,0),[t,e]}function qh(t){var e=t.clientWidth,n=t.clientHeight;if(document.defaultView&&document.defaultView.getComputedStyle){var i=document.defaultView.getComputedStyle(t);i&&(e+=parseInt(i.paddingLeft,10)+parseInt(i.paddingRight,10)+parseInt(i.borderLeftWidth,10)+parseInt(i.borderRightWidth,10),n+=parseInt(i.paddingTop,10)+parseInt(i.paddingBottom,10)+parseInt(i.borderTopWidth,10)+parseInt(i.borderBottomWidth,10))}return{width:e,height:n}}function $h(t,e,n){var i=n[0],r=n[1],o=0,a=0,s=e.width,l=e.height;switch(t){case"inside":o=e.x+s/2-i/2,a=e.y+l/2-r/2;break;case"top":o=e.x+s/2-i/2,a=e.y-r-5;break;case"bottom":o=e.x+s/2-i/2,a=e.y+l+5;break;case"left":o=e.x-i-5,a=e.y+l/2-r/2;break;case"right":o=e.x+s+5,a=e.y+l/2-r/2}return[o,a]}function Kh(t){return"center"===t||"middle"===t}function Qh(t,e,n){var i,r={},o="toggleSelected"===t;return n.eachComponent("legend",function(n){o&&null!=i?n[i?"select":"unSelect"](e.name):(n[t](e.name),i=n.isSelected(e.name)),d(n.getData(),function(t){var e=t.get("name");if("\n"!==e&&""!==e){var i=n.isSelected(e);r.hasOwnProperty(e)?r[e]=r[e]&&i:r[e]=i}})}),{name:e.name,selected:r}}function Jh(t,e,n){var i=e.getBoxLayoutParams(),r=e.get("padding"),o={width:n.getWidth(),height:n.getHeight()},a=Gr(i,o,r);by(e.get("orient"),t,e.get("itemGap"),a.width,a.height),Wr(t,i,o,r)}function tc(t,e){var n=cy(e.get("padding")),i=e.getItemStyle(["color","opacity"]);return i.fill=e.get("backgroundColor"),t=new Fv({shape:{x:t.x-n[3],y:t.y-n[0],width:t.width+n[1]+n[3],height:t.height+n[0]+n[2],r:e.get("borderRadius")},style:i,silent:!0,z2:-1})}function ec(t,e){e.dispatchAction({type:"legendToggleSelect",name:t})}function nc(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"highlight",seriesName:t.name,name:e,excludeSeriesId:i})}function ic(t,e,n,i){var r=n.getZr().storage.getDisplayList()[0];r&&r.useHoverLayer||n.dispatchAction({type:"downplay",seriesName:t.name,name:e,excludeSeriesId:i})}function rc(t,e,n){var i=[1,1];i[t.getOrient().index]=0,Zr(e,n,{type:"box",ignoreSize:i})}function oc(t){_n(t,"label",["show"])}function ac(t){return!(isNaN(parseFloat(t.x))&&isNaN(parseFloat(t.y)))}function sc(t){return!isNaN(parseFloat(t.x))&&!isNaN(parseFloat(t.y))}function lc(t,e,n,i,r,o){var a=[],s=Ps(e,i)?e.getCalculationInfo("stackResultDimension"):i,l=pc(e,s,t),u=e.indicesOfNearest(s,l)[0];a[r]=e.get(n,u),a[o]=e.get(i,u);var h=Mr(e.get(i,u));return(h=Math.min(h,20))>=0&&(a[o]=+a[o].toFixed(h)),a}function uc(t,e){var i=t.getData(),r=t.coordinateSystem;if(e&&!sc(e)&&!y(e.coord)&&r){var o=r.dimensions,a=hc(e,i,r,t);if((e=n(e)).type&&Qb[e.type]&&a.baseAxis&&a.valueAxis){var s=$b(o,a.baseAxis.dim),l=$b(o,a.valueAxis.dim);e.coord=Qb[e.type](i,a.baseDataDim,a.valueDataDim,s,l),e.value=e.coord[l]}else{for(var u=[null!=e.xAxis?e.xAxis:e.radiusAxis,null!=e.yAxis?e.yAxis:e.angleAxis],h=0;h<2;h++)Qb[u[h]]&&(u[h]=pc(i,i.mapDimension(o[h]),u[h]));e.coord=u}}return e}function hc(t,e,n,i){var r={};return null!=t.valueIndex||null!=t.valueDim?(r.valueDataDim=null!=t.valueIndex?e.getDimension(t.valueIndex):t.valueDim,r.valueAxis=n.getAxis(cc(i,r.valueDataDim)),r.baseAxis=n.getOtherAxis(r.valueAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim)):(r.baseAxis=i.getBaseAxis(),r.valueAxis=n.getOtherAxis(r.baseAxis),r.baseDataDim=e.mapDimension(r.baseAxis.dim),r.valueDataDim=e.mapDimension(r.valueAxis.dim)),r}function cc(t,e){var n=t.getData(),i=n.dimensions;e=n.getDimension(e);for(var r=0;r=0}function Fc(t,e,n){function i(t,e){return l(e.nodes,t)>=0}function r(t,i){var r=!1;return e(function(e){d(n(t,e)||[],function(t){i.records[e.name][t]&&(r=!0)})}),r}function o(t,i){i.nodes.push(t),e(function(e){d(n(t,e)||[],function(t){i.records[e.name][t]=!0})})}return function(n){var a={nodes:[],records:{}};if(e(function(t){a.records[t.name]={}}),!n)return a;o(n,a);var s;do{s=!1,t(function(t){!i(t,a)&&r(t,a)&&(o(t,a),s=!0)})}while(s);return a}}function Hc(t,e,n){var i=[1/0,-1/0];return cM(n,function(t){var n=t.getData();n&&cM(n.mapDimension(e,!0),function(t){var e=n.getApproximateExtent(t);e[0]i[1]&&(i[1]=e[1])})}),i[1]0?0:NaN);var a=n.getMax(!0);return null!=a&&"dataMax"!==a&&"function"!=typeof a?e[1]=a:r&&(e[1]=o>0?o-1:NaN),n.get("scale",!0)||(e[0]>0&&(e[0]=0),e[1]<0&&(e[1]=0)),e}function Wc(t,e){var n=t.getAxisModel(),i=t._percentWindow,r=t._valueWindow;if(i){var o=Ir(r,[0,500]);o=Math.min(o,20);var a=e||0===i[0]&&100===i[1];n.setRange(a?null:+r[0].toFixed(o),a?null:+r[1].toFixed(o))}}function Zc(t){var e=t._minMaxSpan={},n=t._dataZoomModel;cM(["min","max"],function(i){e[i+"Span"]=n.get(i+"Span");var r=n.get(i+"ValueSpan");if(null!=r&&(e[i+"ValueSpan"]=r,null!=(r=t.getAxisModel().axis.scale.parse(r)))){var o=t._dataExtent;e[i+"Span"]=xr(o[0]+r,o,[0,100],!0)}})}function Uc(t){var e={};return pM(["start","end","startValue","endValue","throttle"],function(n){t.hasOwnProperty(n)&&(e[n]=t[n])}),e}function Xc(t,e){var n=t._rangePropMode,i=t.get("rangeMode");pM([["start","startValue"],["end","endValue"]],function(t,r){var o=null!=e[t[0]],a=null!=e[t[1]];o&&!a?n[r]="percent":!o&&a?n[r]="value":i?n[r]=i[r]:o&&(n[r]="percent")})}function jc(t,e){var n=t[e]-t[1-e];return{span:Math.abs(n),sign:n>0?-1:n<0?1:e?-1:1}}function Yc(t,e){return Math.min(e[1],Math.max(e[0],t))}function qc(t){return{x:"y",y:"x",radius:"angle",angle:"radius"}[t]}function $c(t){return"vertical"===t?"ns-resize":"ew-resize"}function Kc(t,e,n){td(t)[e]=n}function Qc(t,e,n){var i=td(t);i[e]===n&&(i[e]=null)}function Jc(t,e){return!!td(t)[e]}function td(t){return t[DM]||(t[DM]={})}function ed(t){this.pointerChecker,this._zr=t,this._opt={};var e=m,i=e(nd,this),r=e(id,this),o=e(rd,this),s=e(od,this),l=e(ad,this);Zp.call(this),this.setPointerChecker=function(t){this.pointerChecker=t},this.enable=function(e,u){this.disable(),this._opt=a(n(u)||{},{zoomOnMouseWheel:!0,moveOnMouseMove:!0,preventDefaultMouseMove:!0}),null==e&&(e=!0),!0!==e&&"move"!==e&&"pan"!==e||(t.on("mousedown",i),t.on("mousemove",r),t.on("mouseup",o)),!0!==e&&"scale"!==e&&"zoom"!==e||(t.on("mousewheel",s),t.on("pinch",l))},this.disable=function(){t.off("mousedown",i),t.off("mousemove",r),t.off("mouseup",o),t.off("mousewheel",s),t.off("pinch",l)},this.dispose=this.disable,this.isDragging=function(){return this._dragging},this.isPinching=function(){return this._pinching}}function nd(t){if(!(sn(t)||t.target&&t.target.draggable)){var e=t.offsetX,n=t.offsetY;this.pointerChecker&&this.pointerChecker(t,e,n)&&(this._x=e,this._y=n,this._dragging=!0)}}function id(t){if(!sn(t)&&ld(this,"moveOnMouseMove",t)&&this._dragging&&"pinch"!==t.gestureEvent&&!Jc(this._zr,"globalPan")){var e=t.offsetX,n=t.offsetY,i=this._x,r=this._y,o=e-i,a=n-r;this._x=e,this._y=n,this._opt.preventDefaultMouseMove&&tm(t.event),this.trigger("pan",o,a,i,r,e,n)}}function rd(t){sn(t)||(this._dragging=!1)}function od(t){if(ld(this,"zoomOnMouseWheel",t)&&0!==t.wheelDelta){var e=t.wheelDelta>0?1.1:1/1.1;sd.call(this,t,e,t.offsetX,t.offsetY)}}function ad(t){if(!Jc(this._zr,"globalPan")){var e=t.pinchScale>1?1.1:1/1.1;sd.call(this,t,e,t.pinchX,t.pinchY)}}function sd(t,e,n,i){this.pointerChecker&&this.pointerChecker(t,n,i)&&(tm(t.event),this.trigger("zoom",e,n,i))}function ld(t,e,n){var i=t._opt[e];return i&&(!_(i)||n.event[i+"Key"])}function ud(t,e){var n=dd(t),i=e.dataZoomId,r=e.coordId;d(n,function(t,n){var o=t.dataZoomInfos;o[i]&&l(e.allCoordIds,r)<0&&(delete o[i],t.count--)}),pd(n);var o=n[r];o||((o=n[r]={coordId:r,dataZoomInfos:{},count:0}).controller=fd(t,o),o.dispatchAction=v(yd,t)),!o.dataZoomInfos[i]&&o.count++,o.dataZoomInfos[i]=e;var a=xd(o.dataZoomInfos);o.controller.enable(a.controlType,a.opt),o.controller.setPointerChecker(e.containsPoint),ha(o,"dispatchAction",e.throttleRate,"fixRate")}function hd(t,e){var n=dd(t);d(n,function(t){t.controller.dispose();var n=t.dataZoomInfos;n[e]&&(delete n[e],t.count--)}),pd(n)}function cd(t){return t.type+"\0_"+t.id}function dd(t){var e=t.getZr();return e[kM]||(e[kM]={})}function fd(t,e){var n=new ed(t.getZr());return n.on("pan",AM(gd,e)),n.on("zoom",AM(md,e)),n}function pd(t){d(t,function(e,n){e.count||(e.controller.dispose(),delete t[n])})}function gd(t,e,n,i,r,o,a){vd(t,function(s){return s.panGetRange(t.controller,e,n,i,r,o,a)})}function md(t,e,n,i){vd(t,function(r){return r.zoomGetRange(t.controller,e,n,i)})}function vd(t,e){var n=[];d(t.dataZoomInfos,function(t){var i=e(t);!t.disabled&&i&&n.push({dataZoomId:t.dataZoomId,start:i[0],end:i[1]})}),n.length&&t.dispatchAction(n)}function yd(t,e){t.dispatchAction({type:"dataZoom",batch:e})}function xd(t){var e,n={},i={type_true:2,type_move:1,type_false:0,type_undefined:-1};return d(t,function(t){var r=!t.disabled&&(!t.zoomLock||"move");i["type_"+r]>i["type_"+e]&&(e=r),o(n,t.roamControllerOpt)}),{controlType:e,opt:n}}function _d(t,e){zM[t]=e}function wd(t){return zM[t]}function bd(t){return 0===t.indexOf("my")}function Md(t){this.model=t}function Sd(t){this.model=t}function Id(t){var e={},n=[],i=[];return t.eachRawSeries(function(t){var r=t.coordinateSystem;if(!r||"cartesian2d"!==r.type&&"polar"!==r.type)n.push(t);else{var o=r.getBaseAxis();if("category"===o.type){var a=o.dim+"_"+o.index;e[a]||(e[a]={categoryAxis:o,valueAxis:r.getOtherAxis(o),series:[]},i.push({axisDim:o.dim,axisIndex:o.index})),e[a].series.push(t)}else n.push(t)}}),{seriesGroupByCategoryAxis:e,other:n,meta:i}}function Cd(t){var e=[];return d(t,function(t,n){var i=t.categoryAxis,r=t.valueAxis.dim,o=[" "].concat(f(t.series,function(t){return t.name})),a=[i.model.getCategories()];d(t.series,function(t){a.push(t.getRawData().mapArray(r,function(t){return t}))});for(var s=[o.join(WM)],l=0;l=0)return!0}function Pd(t){for(var e=t.split(/\n+/g),n=[],i=f(Ad(e.shift()).split(ZM),function(t){return{name:t,data:[]}}),r=0;rQM}function $d(t){var e=t.length-1;return e<0&&(e=0),[t[0],t[e]]}function Kd(t,e,n,i){var r=new Sg;return r.add(new Fv({name:"main",style:ef(n),silent:!0,draggable:!0,cursor:"move",drift:UM(t,e,r,"nswe"),ondragend:UM(Yd,e,{isEnd:!0})})),XM(i,function(n){r.add(new Fv({name:n,style:{opacity:0},draggable:!0,silent:!0,invisible:!0,drift:UM(t,e,r,n),ondragend:UM(Yd,e,{isEnd:!0})}))}),r}function Qd(t,e,n,i){var r=i.brushStyle.lineWidth||0,o=qM(r,JM),a=n[0][0],s=n[1][0],l=a-r/2,u=s-r/2,h=n[0][1],c=n[1][1],d=h-o+r/2,f=c-o+r/2,p=h-a,g=c-s,m=p+r,v=g+r;tf(t,e,"main",a,s,p,g),i.transformable&&(tf(t,e,"w",l,u,o,v),tf(t,e,"e",d,u,o,v),tf(t,e,"n",l,u,m,o),tf(t,e,"s",l,f,m,o),tf(t,e,"nw",l,u,o,o),tf(t,e,"ne",d,u,o,o),tf(t,e,"sw",l,f,o,o),tf(t,e,"se",d,f,o,o))}function Jd(t,e){var n=e.__brushOption,i=n.transformable,r=e.childAt(0);r.useStyle(ef(n)),r.attr({silent:!i,cursor:i?"move":"default"}),XM(["w","e","n","s","se","sw","ne","nw"],function(n){var r=e.childOfName(n),o=of(t,n);r&&r.attr({silent:!i,invisible:!i,cursor:i?nS[o]+"-resize":null})})}function tf(t,e,n,i,r,o,a){var s=e.childOfName(n);s&&s.setShape(hf(uf(t,e,[[i,r],[i+o,r+a]])))}function ef(t){return a({strokeNoScale:!0},t.brushStyle)}function nf(t,e,n,i){var r=[YM(t,n),YM(e,i)],o=[qM(t,n),qM(e,i)];return[[r[0],o[0]],[r[1],o[1]]]}function rf(t){return lr(t.group)}function of(t,e){if(e.length>1)return("e"===(i=[of(t,(e=e.split(""))[0]),of(t,e[1])])[0]||"w"===i[0])&&i.reverse(),i.join("");var n={left:"w",right:"e",top:"n",bottom:"s"},i=hr({w:"left",e:"right",n:"top",s:"bottom"}[e],rf(t));return n[i]}function af(t,e,n,i,r,o,a,s){var l=i.__brushOption,u=t(l.range),h=lf(n,o,a);XM(r.split(""),function(t){var e=eS[t];u[e[0]][e[1]]+=h[e[0]]}),l.range=e(nf(u[0][0],u[1][0],u[0][1],u[1][1])),Wd(n,i),Yd(n,{isEnd:!1})}function sf(t,e,n,i,r){var o=e.__brushOption.range,a=lf(t,n,i);XM(o,function(t){t[0]+=a[0],t[1]+=a[1]}),Wd(t,e),Yd(t,{isEnd:!1})}function lf(t,e,n){var i=t.group,r=i.transformCoordToLocal(e,n),o=i.transformCoordToLocal(0,0);return[r[0]-o[0],r[1]-o[1]]}function uf(t,e,i){var r=Xd(t,e);return r&&!0!==r?r.clipPath(i,t._transform):n(i)}function hf(t){var e=YM(t[0][0],t[1][0]),n=YM(t[0][1],t[1][1]);return{x:e,y:n,width:qM(t[0][0],t[1][0])-e,height:qM(t[0][1],t[1][1])-n}}function cf(t,e,n){if(t._brushType){var i=t._zr,r=t._covers,o=Ud(t,e,n);if(!t._dragging)for(var a=0;a=0)&&t(o,i,r)})}function Sf(t){return t[0]>t[1]&&t.reverse(),t}function If(t,e){return An(t,e,{includeMainTypes:dS})}function Cf(t,e,n,i){var r=n.getAxis(["x","y"][t]),o=Sf(f([0,1],function(t){return e?r.coordToData(r.toLocalCoord(i[t])):r.toGlobalCoord(r.dataToCoord(i[t]))})),a=[];return a[t]=o,a[1-t]=[NaN,NaN],{values:o,xyMinMax:a}}function Tf(t,e,n,i){return[e[0]-i[t]*n[0],e[1]-i[t]*n[1]]}function Df(t,e){var n=Af(t),i=Af(e),r=[n[0]/i[0],n[1]/i[1]];return isNaN(r[0])&&(r[0]=1),isNaN(r[1])&&(r[1]=1),r}function Af(t){return t?[t[0][1]-t[0][0],t[1][1]-t[1][0]]:[NaN,NaN]}function kf(t,e){var n=zf(t);xS(e,function(e,i){for(var r=n.length-1;r>=0&&!n[r][i];r--);if(r<0){var o=t.queryComponents({mainType:"dataZoom",subType:"select",id:i})[0];if(o){var a=o.getPercentRange();n[0][i]={dataZoomId:i,start:a[0],end:a[1]}}}}),n.push(e)}function Pf(t){var e=zf(t),n=e[e.length-1];e.length>1&&e.pop();var i={};return xS(n,function(t,n){for(var r=e.length-1;r>=0;r--)if(t=e[r][n]){i[n]=t;break}}),i}function Lf(t){t[_S]=null}function Of(t){return zf(t).length}function zf(t){var e=t[_S];return e||(e=t[_S]=[{}]),e}function Ef(t,e,n){(this._brushController=new Nd(n.getZr())).on("brush",m(this._onBrush,this)).mount(),this._isZoomActive}function Nf(t){var e={};return d(["xAxisIndex","yAxisIndex"],function(n){e[n]=t[n],null==e[n]&&(e[n]="all"),(!1===e[n]||"none"===e[n])&&(e[n]=[])}),e}function Rf(t,e){t.setIconStatus("back",Of(e)>1?"emphasis":"normal")}function Bf(t,e,n,i,r){var o=n._isZoomActive;i&&"takeGlobalCursor"===i.type&&(o="dataZoomSelect"===i.key&&i.dataZoomSelectActive),n._isZoomActive=o,t.setIconStatus("zoom",o?"emphasis":"normal");var a=new Mf(Nf(t.option),e,{include:["grid"]});n._brushController.setPanels(a.makePanelOpts(r,function(t){return t.xAxisDeclared&&!t.yAxisDeclared?"lineX":!t.xAxisDeclared&&t.yAxisDeclared?"lineY":"rect"})).enableBrush(!!o&&{brushType:"auto",brushStyle:{lineWidth:0,fill:"rgba(0,0,0,0.2)"}})}function Vf(t){this.model=t}function Ff(t){return TS(t)}function Hf(){if(!kS&&PS){kS=!0;var t=PS.styleSheets;t.length<31?PS.createStyleSheet().addRule(".zrvml","behavior:url(#default#VML)"):t[0].addRule(".zrvml","behavior:url(#default#VML)")}}function Gf(t){return parseInt(t,10)}function Wf(t,e){Hf(),this.root=t,this.storage=e;var n=document.createElement("div"),i=document.createElement("div");n.style.cssText="display:inline-block;overflow:hidden;position:relative;width:300px;height:150px;",i.style.cssText="position:absolute;left:0;top:0;",t.appendChild(n),this._vmlRoot=i,this._vmlViewport=n,this.resize();var r=e.delFromStorage,o=e.addToStorage;e.delFromStorage=function(t){r.call(e,t),t&&t.onRemove&&t.onRemove(i)},e.addToStorage=function(t){t.onAdd&&t.onAdd(i),o.call(e,t)},this._firstPaint=!0}function Zf(t){return function(){yg('In IE8.0 VML mode painter not support method "'+t+'"')}}function Uf(t){return document.createElementNS(cI,t)}function Xf(t){return gI(1e4*t)/1e4}function jf(t){return t-wI}function Yf(t,e){var n=e?t.textFill:t.fill;return null!=n&&n!==pI}function qf(t,e){var n=e?t.textStroke:t.stroke;return null!=n&&n!==pI}function $f(t,e){e&&Kf(t,"transform","matrix("+fI.call(e,",")+")")}function Kf(t,e,n){(!n||"linear"!==n.type&&"radial"!==n.type)&&("string"==typeof n&&n.indexOf("NaN")>-1&&console.log(n),t.setAttribute(e,n))}function Qf(t,e,n){t.setAttributeNS("http://www.w3.org/1999/xlink",e,n)}function Jf(t,e,n){if(Yf(e,n)){var i=n?e.textFill:e.fill;i="transparent"===i?pI:i,"none"!==t.getAttribute("clip-path")&&i===pI&&(i="rgba(0, 0, 0, 0.002)"),Kf(t,"fill",i),Kf(t,"fill-opacity",e.opacity)}else Kf(t,"fill",pI);if(qf(e,n)){var r=n?e.textStroke:e.stroke;Kf(t,"stroke",r="transparent"===r?pI:r),Kf(t,"stroke-width",(n?e.textStrokeWidth:e.lineWidth)/(!n&&e.strokeNoScale?e.host.getLineScale():1)),Kf(t,"paint-order",n?"stroke":"fill"),Kf(t,"stroke-opacity",e.opacity),e.lineDash?(Kf(t,"stroke-dasharray",e.lineDash.join(",")),Kf(t,"stroke-dashoffset",gI(e.lineDashOffset||0))):Kf(t,"stroke-dasharray",""),e.lineCap&&Kf(t,"stroke-linecap",e.lineCap),e.lineJoin&&Kf(t,"stroke-linejoin",e.lineJoin),e.miterLimit&&Kf(t,"stroke-miterlimit",e.miterLimit)}else Kf(t,"stroke",pI)}function tp(t){for(var e=[],n=t.data,i=t.len(),r=0;r=xI||!jf(g)&&(d>-yI&&d<0||d>yI)==!!p;var y=Xf(s+u*vI(c)),x=Xf(l+h*mI(c));m&&(d=p?xI-1e-4:1e-4-xI,v=!0,9===r&&e.push("M",y,x));var _=Xf(s+u*vI(c+d)),w=Xf(l+h*mI(c+d));e.push("A",Xf(u),Xf(h),gI(f*_I),+v,+p,_,w);break;case dI.Z:o="Z";break;case dI.R:var _=Xf(n[r++]),w=Xf(n[r++]),b=Xf(n[r++]),M=Xf(n[r++]);e.push("M",_,w,"L",_+b,w,"L",_+b,w+M,"L",_,w+M,"L",_,w)}o&&e.push(o);for(var S=0;S=11)}}(navigator.userAgent),Mp={"[object Function]":1,"[object RegExp]":1,"[object Date]":1,"[object Error]":1,"[object CanvasGradient]":1,"[object CanvasPattern]":1,"[object Image]":1,"[object Canvas]":1},Sp={"[object Int8Array]":1,"[object Uint8Array]":1,"[object Uint8ClampedArray]":1,"[object Int16Array]":1,"[object Uint16Array]":1,"[object Int32Array]":1,"[object Uint32Array]":1,"[object Float32Array]":1,"[object Float64Array]":1},Ip=Object.prototype.toString,Cp=Array.prototype,Tp=Cp.forEach,Dp=Cp.filter,Ap=Cp.slice,kp=Cp.map,Pp=Cp.reduce,Lp={},Op=function(){return Lp.createCanvas()};Lp.createCanvas=function(){return document.createElement("canvas")};var zp,Ep="__ec_primitive__";E.prototype={constructor:E,get:function(t){return this.hasOwnProperty(t)?this[t]:null},set:function(t,e){return this[t]=e},each:function(t,e){void 0!==e&&(t=m(t,e));for(var n in this)this.hasOwnProperty(n)&&t(this[n],n)},removeKey:function(t){delete this[t]}};var Np=(Object.freeze||Object)({$override:e,clone:n,merge:i,mergeAll:r,extend:o,defaults:a,createCanvas:Op,getContext:s,indexOf:l,inherits:u,mixin:h,isArrayLike:c,each:d,map:f,reduce:p,filter:g,find:function(t,e,n){if(t&&e)for(var i=0,r=t.length;i3&&(e=Wp.call(e,1));for(var i=this._$handlers[t],r=i.length,o=0;o4&&(e=Wp.call(e,1,e.length-1));for(var i=e[e.length-1],r=this._$handlers[t],o=r.length,a=0;a=0;o--){var a;if(i[o]!==n&&!i[o].ignore&&(a=it(i[o],t,e))&&(!r.topTarget&&(r.topTarget=i[o]),a!==Up)){r.target=i[o];break}}return r}},d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){jp.prototype[t]=function(e){var n=this.findHover(e.zrX,e.zrY),i=n.target;if("mousedown"===t)this._downEl=i,this._downPoint=[e.zrX,e.zrY],this._upEl=i;else if("mouseup"===t)this._upEl=i;else if("click"===t){if(this._downEl!==this._upEl||!this._downPoint||Fp(this._downPoint,[e.zrX,e.zrY])>4)return;this._downPoint=null}this.dispatchToElement(n,t,e)}}),h(jp,Zp),h(jp,J);var Yp="undefined"==typeof Float32Array?Array:Float32Array,qp=(Object.freeze||Object)({create:rt,identity:ot,copy:at,mul:st,translate:lt,rotate:ut,scale:ht,invert:ct,clone:function(t){var e=rt();return at(e,t),e}}),$p=ot,Kp=5e-5,Qp=function(t){(t=t||{}).position||(this.position=[0,0]),null==t.rotation&&(this.rotation=0),t.scale||(this.scale=[1,1]),this.origin=this.origin||null},Jp=Qp.prototype;Jp.transform=null,Jp.needLocalTransform=function(){return dt(this.rotation)||dt(this.position[0])||dt(this.position[1])||dt(this.scale[0]-1)||dt(this.scale[1]-1)},Jp.updateTransform=function(){var t=this.parent,e=t&&t.transform,n=this.needLocalTransform(),i=this.transform;n||e?(i=i||rt(),n?this.getLocalTransform(i):$p(i),e&&(n?st(i,t.transform,i):at(i,t.transform)),this.transform=i,this.invTransform=this.invTransform||rt(),ct(this.invTransform,i)):i&&$p(i)},Jp.getLocalTransform=function(t){return Qp.getLocalTransform(this,t)},Jp.setTransform=function(t){var e=this.transform,n=t.dpr||1;e?t.setTransform(n*e[0],n*e[1],n*e[2],n*e[3],n*e[4],n*e[5]):t.setTransform(n,0,0,n,0,0)},Jp.restoreTransform=function(t){var e=t.dpr||1;t.setTransform(e,0,0,e,0,0)};var tg=[];Jp.decomposeTransform=function(){if(this.transform){var t=this.parent,e=this.transform;t&&t.transform&&(st(tg,t.invTransform,e),e=tg);var n=e[0]*e[0]+e[1]*e[1],i=e[2]*e[2]+e[3]*e[3],r=this.position,o=this.scale;dt(n-1)&&(n=Math.sqrt(n)),dt(i-1)&&(i=Math.sqrt(i)),e[0]<0&&(n=-n),e[3]<0&&(i=-i),r[0]=e[4],r[1]=e[5],o[0]=n,o[1]=i,this.rotation=Math.atan2(-e[1]/i,e[0]/n)}},Jp.getGlobalScale=function(){var t=this.transform;if(!t)return[1,1];var e=Math.sqrt(t[0]*t[0]+t[1]*t[1]),n=Math.sqrt(t[2]*t[2]+t[3]*t[3]);return t[0]<0&&(e=-e),t[3]<0&&(n=-n),[e,n]},Jp.transformCoordToLocal=function(t,e){var n=[t,e],i=this.invTransform;return i&&$(n,n,i),n},Jp.transformCoordToGlobal=function(t,e){var n=[t,e],i=this.transform;return i&&$(n,n,i),n},Qp.getLocalTransform=function(t,e){$p(e=e||[]);var n=t.origin,i=t.scale||[1,1],r=t.rotation||0,o=t.position||[0,0];return n&&(e[4]-=n[0],e[5]-=n[1]),ht(e,e,i),r&&ut(e,e,r),n&&(e[4]+=n[0],e[5]+=n[1]),e[4]+=o[0],e[5]+=o[1],e};var eg={linear:function(t){return t},quadraticIn:function(t){return t*t},quadraticOut:function(t){return t*(2-t)},quadraticInOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)},cubicIn:function(t){return t*t*t},cubicOut:function(t){return--t*t*t+1},cubicInOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)},quarticIn:function(t){return t*t*t*t},quarticOut:function(t){return 1- --t*t*t*t},quarticInOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)},quinticIn:function(t){return t*t*t*t*t},quinticOut:function(t){return--t*t*t*t*t+1},quinticInOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)},sinusoidalIn:function(t){return 1-Math.cos(t*Math.PI/2)},sinusoidalOut:function(t){return Math.sin(t*Math.PI/2)},sinusoidalInOut:function(t){return.5*(1-Math.cos(Math.PI*t))},exponentialIn:function(t){return 0===t?0:Math.pow(1024,t-1)},exponentialOut:function(t){return 1===t?1:1-Math.pow(2,-10*t)},exponentialInOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))},circularIn:function(t){return 1-Math.sqrt(1-t*t)},circularOut:function(t){return Math.sqrt(1- --t*t)},circularInOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)},elasticIn:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),-n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4))},elasticOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),n*Math.pow(2,-10*t)*Math.sin((t-e)*(2*Math.PI)/.4)+1)},elasticInOut:function(t){var e,n=.1;return 0===t?0:1===t?1:(!n||n<1?(n=1,e=.1):e=.4*Math.asin(1/n)/(2*Math.PI),(t*=2)<1?n*Math.pow(2,10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*-.5:n*Math.pow(2,-10*(t-=1))*Math.sin((t-e)*(2*Math.PI)/.4)*.5+1)},backIn:function(t){var e=1.70158;return t*t*((e+1)*t-e)},backOut:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},backInOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)},bounceIn:function(t){return 1-eg.bounceOut(1-t)},bounceOut:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},bounceInOut:function(t){return t<.5?.5*eg.bounceIn(2*t):.5*eg.bounceOut(2*t-1)+.5}};ft.prototype={constructor:ft,step:function(t,e){if(this._initialized||(this._startTime=t+this._delay,this._initialized=!0),this._paused)this._pausedTime+=e;else{var n=(t-this._startTime-this._pausedTime)/this._life;if(!(n<0)){n=Math.min(n,1);var i=this.easing,r="string"==typeof i?eg[i]:i,o="function"==typeof r?r(n):n;return this.fire("frame",o),1==n?this.loop?(this.restart(t),"restart"):(this._needsRemove=!0,"destroy"):null}}},restart:function(t){var e=(t-this._startTime-this._pausedTime)%this._life;this._startTime=t-e+this.gap,this._pausedTime=0,this._needsRemove=!1},fire:function(t,e){this[t="on"+t]&&this[t](this._target,e)},pause:function(){this._paused=!0},resume:function(){this._paused=!1}};var ng=function(){this.head=null,this.tail=null,this._len=0},ig=ng.prototype;ig.insert=function(t){var e=new rg(t);return this.insertEntry(e),e},ig.insertEntry=function(t){this.head?(this.tail.next=t,t.prev=this.tail,t.next=null,this.tail=t):this.head=this.tail=t,this._len++},ig.remove=function(t){var e=t.prev,n=t.next;e?e.next=n:this.head=n,n?n.prev=e:this.tail=e,t.next=t.prev=null,this._len--},ig.len=function(){return this._len},ig.clear=function(){this.head=this.tail=null,this._len=0};var rg=function(t){this.value=t,this.next,this.prev},og=function(t){this._list=new ng,this._map={},this._maxSize=t||10,this._lastRemovedEntry=null},ag=og.prototype;ag.put=function(t,e){var n=this._list,i=this._map,r=null;if(null==i[t]){var o=n.len(),a=this._lastRemovedEntry;if(o>=this._maxSize&&o>0){var s=n.head;n.remove(s),delete i[s.key],r=s.value,this._lastRemovedEntry=s}a?a.value=e:a=new rg(e),a.key=t,n.insertEntry(a),i[t]=a}return r},ag.get=function(t){var e=this._map[t],n=this._list;if(null!=e)return e!==n.tail&&(n.remove(e),n.insertEntry(e)),e.value},ag.clear=function(){this._list.clear(),this._map={}};var sg={transparent:[0,0,0,0],aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1]},lg=new og(20),ug=null,hg=At,cg=kt,dg=(Object.freeze||Object)({parse:St,lift:Tt,toHex:Dt,fastLerp:At,fastMapToColor:hg,lerp:kt,mapToColor:cg,modifyHSL:function(t,e,n,i){if(t=St(t))return t=Ct(t),null!=e&&(t[0]=gt(e)),null!=n&&(t[1]=yt(n)),null!=i&&(t[2]=yt(i)),Lt(It(t),"rgba")},modifyAlpha:Pt,stringify:Lt}),fg=Array.prototype.slice,pg=function(t,e,n,i){this._tracks={},this._target=t,this._loop=e||!1,this._getter=n||Ot,this._setter=i||zt,this._clipCount=0,this._delay=0,this._doneList=[],this._onframeList=[],this._clipList=[]};pg.prototype={when:function(t,e){var n=this._tracks;for(var i in e)if(e.hasOwnProperty(i)){if(!n[i]){n[i]=[];var r=this._getter(this._target,i);if(null==r)continue;0!==t&&n[i].push({time:0,value:Gt(r)})}n[i].push({time:t,value:e[i]})}return this},during:function(t){return this._onframeList.push(t),this},pause:function(){for(var t=0;t0&&this.animate(t,!1).when(null==i?500:i,o).delay(r||0),this}};var _g=function(t){Qp.call(this,t),Zp.call(this,t),xg.call(this,t),this.id=t.id||_p()};_g.prototype={type:"element",name:"",__zr:null,ignore:!1,clipPath:null,isGroup:!1,drift:function(t,e){switch(this.draggable){case"horizontal":e=0;break;case"vertical":t=0}var n=this.transform;n||(n=this.transform=[1,0,0,1,0,0]),n[4]+=t,n[5]+=e,this.decomposeTransform(),this.dirty(!1)},beforeUpdate:function(){},afterUpdate:function(){},update:function(){this.updateTransform()},traverse:function(t,e){},attrKV:function(t,e){if("position"===t||"scale"===t||"origin"===t){if(e){var n=this[t];n||(n=this[t]=[]),n[0]=e[0],n[1]=e[1]}}else this[t]=e},hide:function(){this.ignore=!0,this.__zr&&this.__zr.refresh()},show:function(){this.ignore=!1,this.__zr&&this.__zr.refresh()},attr:function(t,e){if("string"==typeof t)this.attrKV(t,e);else if(w(t))for(var n in t)t.hasOwnProperty(n)&&this.attrKV(n,t[n]);return this.dirty(!1),this},setClipPath:function(t){var e=this.__zr;e&&t.addSelfToZr(e),this.clipPath&&this.clipPath!==t&&this.removeClipPath(),this.clipPath=t,t.__zr=e,t.__clipTarget=this,this.dirty(!1)},removeClipPath:function(){var t=this.clipPath;t&&(t.__zr&&t.removeSelfFromZr(t.__zr),t.__zr=null,t.__clipTarget=null,this.clipPath=null,this.dirty(!1))},addSelfToZr:function(t){this.__zr=t;var e=this.animators;if(e)for(var n=0;n=n.x&&t<=n.x+n.width&&e>=n.y&&e<=n.y+n.height},clone:function(){return new Xt(this.x,this.y,this.width,this.height)},copy:function(t){this.x=t.x,this.y=t.y,this.width=t.width,this.height=t.height},plain:function(){return{x:this.x,y:this.y,width:this.width,height:this.height}}},Xt.create=function(t){return new Xt(t.x,t.y,t.width,t.height)};var Sg=function(t){t=t||{},_g.call(this,t);for(var e in t)t.hasOwnProperty(e)&&(this[e]=t[e]);this._children=[],this.__storage=null,this.__dirty=!0};Sg.prototype={constructor:Sg,isGroup:!0,type:"group",silent:!1,children:function(){return this._children.slice()},childAt:function(t){return this._children[t]},childOfName:function(t){for(var e=this._children,n=0;n=0&&(n.splice(i,0,t),this._doAdd(t))}return this},_doAdd:function(t){t.parent&&t.parent.remove(t),t.parent=this;var e=this.__storage,n=this.__zr;e&&e!==t.__storage&&(e.addToStorage(t),t instanceof Sg&&t.addChildrenToStorage(e)),n&&n.refresh()},remove:function(t){var e=this.__zr,n=this.__storage,i=this._children,r=l(i,t);return r<0?this:(i.splice(r,1),t.parent=null,n&&(n.delFromStorage(t),t instanceof Sg&&t.delChildrenFromStorage(n)),e&&e.refresh(),this)},removeAll:function(){var t,e,n=this._children,i=this.__storage;for(e=0;e=0&&(this.delFromStorage(t),this._roots.splice(r,1),t instanceof Sg&&t.delChildrenFromStorage(this))}},addToStorage:function(t){return t&&(t.__storage=this,t.dirty(!1)),this},delFromStorage:function(t){return t&&(t.__storage=null),this},dispose:function(){this._renderList=this._roots=null},displayableSortFunc:ee};var Dg={shadowBlur:1,shadowOffsetX:1,shadowOffsetY:1,textShadowBlur:1,textShadowOffsetX:1,textShadowOffsetY:1,textBoxShadowBlur:1,textBoxShadowOffsetX:1,textBoxShadowOffsetY:1},Ag=function(t,e,n){return Dg.hasOwnProperty(e)?n*=t.dpr:n},kg=[["shadowBlur",0],["shadowOffsetX",0],["shadowOffsetY",0],["shadowColor","#000"],["lineCap","butt"],["lineJoin","miter"],["miterLimit",10]],Pg=function(t,e){this.extendFrom(t,!1),this.host=e};Pg.prototype={constructor:Pg,host:null,fill:"#000",stroke:null,opacity:1,lineDash:null,lineDashOffset:0,shadowBlur:0,shadowOffsetX:0,shadowOffsetY:0,lineWidth:1,strokeNoScale:!1,text:null,font:null,textFont:null,fontStyle:null,fontWeight:null,fontSize:null,fontFamily:null,textTag:null,textFill:"#000",textStroke:null,textWidth:null,textHeight:null,textStrokeWidth:0,textLineHeight:null,textPosition:"inside",textRect:null,textOffset:null,textAlign:null,textVerticalAlign:null,textDistance:5,textShadowColor:"transparent",textShadowBlur:0,textShadowOffsetX:0,textShadowOffsetY:0,textBoxShadowColor:"transparent",textBoxShadowBlur:0,textBoxShadowOffsetX:0,textBoxShadowOffsetY:0,transformText:!1,textRotation:0,textOrigin:null,textBackgroundColor:null,textBorderColor:null,textBorderWidth:0,textBorderRadius:0,textPadding:null,rich:null,truncate:null,blend:null,bind:function(t,e,n){for(var i=this,r=n&&n.style,o=!r,a=0;a0},extendFrom:function(t,e){if(t)for(var n in t)!t.hasOwnProperty(n)||!0!==e&&(!1===e?this.hasOwnProperty(n):null==t[n])||(this[n]=t[n])},set:function(t,e){"string"==typeof t?this[t]=e:this.extendFrom(t,!0)},clone:function(){var t=new this.constructor;return t.extendFrom(this,!0),t},getGradient:function(t,e,n){for(var i=("radial"===e.type?ie:ne)(t,e,n),r=e.colorStops,o=0;o=0&&n.splice(i,1),t.__hoverMir=null},clearHover:function(t){for(var e=this._hoverElements,n=0;n15)break}s.__drawIndex=m,s.__drawIndex0&&t>i[0]){for(a=0;at);a++);o=n[i[a]]}if(i.splice(a+1,0,t),n[t]=e,!e.virtual)if(o){var l=o.dom;l.nextSibling?s.insertBefore(e.dom,l.nextSibling):s.appendChild(e.dom)}else s.firstChild?s.insertBefore(e.dom,s.firstChild):s.appendChild(e.dom)}else yg("Layer of zlevel "+t+" is not valid")},eachLayer:function(t,e){var n,i,r=this._zlevelList;for(i=0;i0?.01:0),this._needsManuallyCompositing),o.__builtin__||yg("ZLevel "+s+" has been used by unkown layer "+o.id),o!==n&&(o.__used=!0,o.__startIndex!==r&&(o.__dirty=!0),o.__startIndex=r,o.incremental?o.__drawIndex=-1:o.__drawIndex=r,e(r),n=o),a.__dirty&&(o.__dirty=!0,o.incremental&&o.__drawIndex<0&&(o.__drawIndex=r))}e(r),this.eachBuiltinLayer(function(t,e){!t.__used&&t.getElementCount()>0&&(t.__dirty=!0,t.__startIndex=t.__endIndex=t.__drawIndex=0),t.__dirty&&t.__drawIndex<0&&(t.__drawIndex=t.__startIndex)})},clear:function(){return this.eachBuiltinLayer(this._clearLayer),this},_clearLayer:function(t){t.clear()},setBackgroundColor:function(t){this._backgroundColor=t},configLayer:function(t,e){if(e){var n=this._layerConfig;n[t]?i(n[t],e,!0):n[t]=e;for(var r=0;r=0&&this._clips.splice(e,1)},removeAnimator:function(t){for(var e=t.getClips(),n=0;n1&&i&&i.length>1){var o=ln(i)/ln(r);!isFinite(o)&&(o=1),e.pinchScale=o;var a=un(i);return e.pinchX=a[0],e.pinchY=a[1],{type:"pinch",target:t[0].target,event:e}}}}},rm=["click","dblclick","mousewheel","mouseout","mouseup","mousedown","mousemove","contextmenu"],om=["touchstart","touchend","touchmove"],am={pointerdown:1,pointerup:1,pointermove:1,pointerout:1},sm=f(rm,function(t){var e=t.replace("mouse","pointer");return am[e]?e:t}),lm={mousemove:function(t){t=rn(this.dom,t),this.trigger("mousemove",t)},mouseout:function(t){var e=(t=rn(this.dom,t)).toElement||t.relatedTarget;if(e!=this.dom)for(;e&&9!=e.nodeType;){if(e===this.dom)return;e=e.parentNode}this.trigger("mouseout",t)},touchstart:function(t){(t=rn(this.dom,t)).zrByTouch=!0,this._lastTouchMoment=new Date,cn(this,t,"start"),lm.mousemove.call(this,t),lm.mousedown.call(this,t),dn(this)},touchmove:function(t){(t=rn(this.dom,t)).zrByTouch=!0,cn(this,t,"change"),lm.mousemove.call(this,t),dn(this)},touchend:function(t){(t=rn(this.dom,t)).zrByTouch=!0,cn(this,t,"end"),lm.mouseup.call(this,t),+new Date-this._lastTouchMoment<300&&lm.click.call(this,t),dn(this)},pointerdown:function(t){lm.mousedown.call(this,t)},pointermove:function(t){fn(t)||lm.mousemove.call(this,t)},pointerup:function(t){lm.mouseup.call(this,t)},pointerout:function(t){fn(t)||lm.mouseout.call(this,t)}};d(["click","mousedown","mouseup","mousewheel","dblclick","contextmenu"],function(t){lm[t]=function(e){e=rn(this.dom,e),this.trigger(t,e)}});var um=gn.prototype;um.dispose=function(){for(var t=rm.concat(om),e=0;e=0||i&&l(i,a)<0)){var s=e.getShallow(a);null!=s&&(r[t[o][0]]=s)}}return r}},Im=Sm([["lineWidth","width"],["stroke","color"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),Cm={getLineStyle:function(t){var e=Im(this,t),n=this.getLineDash(e.lineWidth);return n&&(e.lineDash=n),e},getLineDash:function(t){null==t&&(t=1);var e=this.get("type"),n=Math.max(t,2),i=4*t;return"solid"===e||null==e?null:"dashed"===e?[i,i]:[n,n]}},Tm=Sm([["fill","color"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["opacity"],["shadowColor"]]),Dm={getAreaStyle:function(t,e){return Tm(this,t,e)}},Am=Math.pow,km=Math.sqrt,Pm=1e-8,Lm=1e-4,Om=km(3),zm=1/3,Em=B(),Nm=B(),Rm=B(),Bm=Math.min,Vm=Math.max,Fm=Math.sin,Hm=Math.cos,Gm=2*Math.PI,Wm=B(),Zm=B(),Um=B(),Xm=[],jm=[],Ym={M:1,L:2,C:3,Q:4,A:5,Z:6,R:7},qm=[],$m=[],Km=[],Qm=[],Jm=Math.min,tv=Math.max,ev=Math.cos,nv=Math.sin,iv=Math.sqrt,rv=Math.abs,ov="undefined"!=typeof Float32Array,av=function(t){this._saveData=!t,this._saveData&&(this.data=[]),this._ctx=null};av.prototype={constructor:av,_xi:0,_yi:0,_x0:0,_y0:0,_ux:0,_uy:0,_len:0,_lineDash:null,_dashOffset:0,_dashIdx:0,_dashSum:0,setScale:function(t,e){this._ux=rv(1/mg/t)||0,this._uy=rv(1/mg/e)||0},getContext:function(){return this._ctx},beginPath:function(t){return this._ctx=t,t&&t.beginPath(),t&&(this.dpr=t.dpr),this._saveData&&(this._len=0),this._lineDash&&(this._lineDash=null,this._dashOffset=0),this},moveTo:function(t,e){return this.addData(Ym.M,t,e),this._ctx&&this._ctx.moveTo(t,e),this._x0=t,this._y0=e,this._xi=t,this._yi=e,this},lineTo:function(t,e){var n=rv(t-this._xi)>this._ux||rv(e-this._yi)>this._uy||this._len<5;return this.addData(Ym.L,t,e),this._ctx&&n&&(this._needsDash()?this._dashedLineTo(t,e):this._ctx.lineTo(t,e)),n&&(this._xi=t,this._yi=e),this},bezierCurveTo:function(t,e,n,i,r,o){return this.addData(Ym.C,t,e,n,i,r,o),this._ctx&&(this._needsDash()?this._dashedBezierTo(t,e,n,i,r,o):this._ctx.bezierCurveTo(t,e,n,i,r,o)),this._xi=r,this._yi=o,this},quadraticCurveTo:function(t,e,n,i){return this.addData(Ym.Q,t,e,n,i),this._ctx&&(this._needsDash()?this._dashedQuadraticTo(t,e,n,i):this._ctx.quadraticCurveTo(t,e,n,i)),this._xi=n,this._yi=i,this},arc:function(t,e,n,i,r,o){return this.addData(Ym.A,t,e,n,n,i,r-i,0,o?0:1),this._ctx&&this._ctx.arc(t,e,n,i,r,o),this._xi=ev(r)*n+t,this._yi=nv(r)*n+t,this},arcTo:function(t,e,n,i,r){return this._ctx&&this._ctx.arcTo(t,e,n,i,r),this},rect:function(t,e,n,i){return this._ctx&&this._ctx.rect(t,e,n,i),this.addData(Ym.R,t,e,n,i),this},closePath:function(){this.addData(Ym.Z);var t=this._ctx,e=this._x0,n=this._y0;return t&&(this._needsDash()&&this._dashedLineTo(e,n),t.closePath()),this._xi=e,this._yi=n,this},fill:function(t){t&&t.fill(),this.toStatic()},stroke:function(t){t&&t.stroke(),this.toStatic()},setLineDash:function(t){if(t instanceof Array){this._lineDash=t,this._dashIdx=0;for(var e=0,n=0;ne.length&&(this._expandData(),e=this.data);for(var n=0;n0&&f<=t||h<0&&f>=t||0==h&&(c>0&&p<=e||c<0&&p>=e);)f+=h*(n=a[i=this._dashIdx]),p+=c*n,this._dashIdx=(i+1)%g,h>0&&fl||c>0&&pu||s[i%2?"moveTo":"lineTo"](h>=0?Jm(f,t):tv(f,t),c>=0?Jm(p,e):tv(p,e));h=f-t,c=p-e,this._dashOffset=-iv(h*h+c*c)},_dashedBezierTo:function(t,e,n,i,r,o){var a,s,l,u,h,c=this._dashSum,d=this._dashOffset,f=this._lineDash,p=this._ctx,g=this._xi,m=this._yi,v=Gn,y=0,x=this._dashIdx,_=f.length,w=0;for(d<0&&(d=c+d),d%=c,a=0;a<1;a+=.1)s=v(g,t,n,r,a+.1)-v(g,t,n,r,a),l=v(m,e,i,o,a+.1)-v(m,e,i,o,a),y+=iv(s*s+l*l);for(;x<_&&!((w+=f[x])>d);x++);for(a=(w-d)/y;a<=1;)u=v(g,t,n,r,a),h=v(m,e,i,o,a),x%2?p.moveTo(u,h):p.lineTo(u,h),a+=f[x]/y,x=(x+1)%_;x%2!=0&&p.lineTo(r,o),s=r-u,l=o-h,this._dashOffset=-iv(s*s+l*l)},_dashedQuadraticTo:function(t,e,n,i){var r=n,o=i;n=(n+2*t)/3,i=(i+2*e)/3,t=(this._xi+2*t)/3,e=(this._yi+2*e)/3,this._dashedBezierTo(t,e,n,i,r,o)},toStatic:function(){var t=this.data;t instanceof Array&&(t.length=this._len,ov&&(this.data=new Float32Array(t)))},getBoundingRect:function(){qm[0]=qm[1]=Km[0]=Km[1]=Number.MAX_VALUE,$m[0]=$m[1]=Qm[0]=Qm[1]=-Number.MAX_VALUE;for(var t=this.data,e=0,n=0,i=0,r=0,o=0;ol||rv(a-r)>u||c===h-1)&&(t.lineTo(o,a),i=o,r=a);break;case Ym.C:t.bezierCurveTo(s[c++],s[c++],s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case Ym.Q:t.quadraticCurveTo(s[c++],s[c++],s[c++],s[c++]),i=s[c-2],r=s[c-1];break;case Ym.A:var f=s[c++],p=s[c++],g=s[c++],m=s[c++],v=s[c++],y=s[c++],x=s[c++],_=s[c++],w=g>m?g:m,b=g>m?1:g/m,M=g>m?m/g:1,S=v+y;Math.abs(g-m)>.001?(t.translate(f,p),t.rotate(x),t.scale(b,M),t.arc(0,0,w,v,S,1-_),t.scale(1/b,1/M),t.rotate(-x),t.translate(-f,-p)):t.arc(f,p,w,v,S,1-_),1==c&&(e=ev(v)*g+f,n=nv(v)*m+p),i=ev(S)*g+f,r=nv(S)*m+p;break;case Ym.R:e=i=s[c],n=r=s[c+1],t.rect(s[c++],s[c++],s[c++],s[c++]);break;case Ym.Z:t.closePath(),i=e,r=n}}}},av.CMD=Ym;var sv=2*Math.PI,lv=2*Math.PI,uv=av.CMD,hv=2*Math.PI,cv=1e-4,dv=[-1,-1,-1],fv=[-1,-1],pv=Eg.prototype.getCanvasPattern,gv=Math.abs,mv=new av(!0);xi.prototype={constructor:xi,type:"path",__dirtyPath:!0,strokeContainThreshold:5,brush:function(t,e){var n=this.style,i=this.path||mv,r=n.hasStroke(),o=n.hasFill(),a=n.fill,s=n.stroke,l=o&&!!a.colorStops,u=r&&!!s.colorStops,h=o&&!!a.image,c=r&&!!s.image;if(n.bind(t,this,e),this.setTransform(t),this.__dirty){var d;l&&(d=d||this.getBoundingRect(),this._fillGradient=n.getGradient(t,a,d)),u&&(d=d||this.getBoundingRect(),this._strokeGradient=n.getGradient(t,s,d))}l?t.fillStyle=this._fillGradient:h&&(t.fillStyle=pv.call(a,t)),u?t.strokeStyle=this._strokeGradient:c&&(t.strokeStyle=pv.call(s,t));var f=n.lineDash,p=n.lineDashOffset,g=!!t.setLineDash,m=this.getGlobalScale();i.setScale(m[0],m[1]),this.__dirtyPath||f&&!g&&r?(i.beginPath(t),f&&!g&&(i.setLineDash(f),i.setLineDashOffset(p)),this.buildPath(i,this.shape,!1),this.path&&(this.__dirtyPath=!1)):(t.beginPath(),this.path.rebuildPath(t)),o&&i.fill(t),f&&g&&(t.setLineDash(f),t.lineDashOffset=p),r&&i.stroke(t),f&&g&&t.setLineDash([]),null!=n.text&&(this.restoreTransform(t),this.drawRectText(t,this.getBoundingRect()))},buildPath:function(t,e,n){},createPathProxy:function(){this.path=new av},getBoundingRect:function(){var t=this._rect,e=this.style,n=!t;if(n){var i=this.path;i||(i=this.path=new av),this.__dirtyPath&&(i.beginPath(),this.buildPath(i,this.shape,!1)),t=i.getBoundingRect()}if(this._rect=t,e.hasStroke()){var r=this._rectWithStroke||(this._rectWithStroke=t.clone());if(this.__dirty||n){r.copy(t);var o=e.lineWidth,a=e.strokeNoScale?this.getLineScale():1;e.hasFill()||(o=Math.max(o,this.strokeContainThreshold||4)),a>1e-10&&(r.width+=o/a,r.height+=o/a,r.x-=o/a/2,r.y-=o/a/2)}return r}return t},contain:function(t,e){var n=this.transformCoordToLocal(t,e),i=this.getBoundingRect(),r=this.style;if(t=n[0],e=n[1],i.contain(t,e)){var o=this.path.data;if(r.hasStroke()){var a=r.lineWidth,s=r.strokeNoScale?this.getLineScale():1;if(s>1e-10&&(r.hasFill()||(a=Math.max(a,this.strokeContainThreshold)),yi(o,a/s,t,e)))return!0}if(r.hasFill())return vi(o,t,e)}return!1},dirty:function(t){null==t&&(t=!0),t&&(this.__dirtyPath=t,this._rect=null),this.__dirty=!0,this.__zr&&this.__zr.refresh(),this.__clipTarget&&this.__clipTarget.dirty()},animateShape:function(t){return this.animate("shape",t)},attrKV:function(t,e){"shape"===t?(this.setShape(e),this.__dirtyPath=!0,this._rect=null):Xe.prototype.attrKV.call(this,t,e)},setShape:function(t,e){var n=this.shape;if(n){if(w(t))for(var i in t)t.hasOwnProperty(i)&&(n[i]=t[i]);else n[t]=e;this.dirty(!0)}return this},getLineScale:function(){var t=this.transform;return t&&gv(t[0]-1)>1e-10&&gv(t[3]-1)>1e-10?Math.sqrt(gv(t[0]*t[3]-t[2]*t[1])):1}},xi.extend=function(t){var e=function(e){xi.call(this,e),t.style&&this.style.extendFrom(t.style,!1);var n=t.shape;if(n){this.shape=this.shape||{};var i=this.shape;for(var r in n)!i.hasOwnProperty(r)&&n.hasOwnProperty(r)&&(i[r]=n[r])}t.init&&t.init.call(this,e)};u(e,xi);for(var n in t)"style"!==n&&"shape"!==n&&(e.prototype[n]=t[n]);return e},u(xi,Xe);var vv=av.CMD,yv=[[],[],[]],xv=Math.sqrt,_v=Math.atan2,wv=function(t,e){var n,i,r,o,a,s,l=t.data,u=vv.M,h=vv.C,c=vv.L,d=vv.R,f=vv.A,p=vv.Q;for(r=0,o=0;r=11?function(){var e,n=this.__clipPaths,i=this.style;if(n)for(var r=0;rn-2?n-1:c+1],u=t[c>n-3?n-1:c+2]);var p=d*d,g=d*p;i.push([Ii(s[0],f[0],l[0],u[0],d,p,g),Ii(s[1],f[1],l[1],u[1],d,p,g)])}return i},Rv=function(t,e,n,i){var r,o,a,s,l=[],u=[],h=[],c=[];if(i){a=[1/0,1/0],s=[-1/0,-1/0];for(var d=0,f=t.length;d=n&&o>=r)return{x:n,y:r,width:i-n,height:o-r}},createIcon:fr,Group:Sg,Image:je,Text:kv,Circle:Pv,Sector:zv,Ring:Ev,Polygon:Bv,Polyline:Vv,Rect:Fv,Line:Hv,BezierCurve:Wv,Arc:Zv,IncrementalDisplayable:Di,CompoundPath:Uv,LinearGradient:jv,RadialGradient:Yv,BoundingRect:Xt}),ey=["textStyle","color"],ny={getTextColor:function(t){var e=this.ecModel;return this.getShallow("color")||(!t&&e?e.get(ey):null)},getFont:function(){return rr({fontStyle:this.getShallow("fontStyle"),fontWeight:this.getShallow("fontWeight"),fontSize:this.getShallow("fontSize"),fontFamily:this.getShallow("fontFamily")},this.ecModel)},getTextRect:function(t){return ce(t,this.getFont(),this.getShallow("align"),this.getShallow("verticalAlign")||this.getShallow("baseline"),this.getShallow("padding"),this.getShallow("rich"),this.getShallow("truncateText"))}},iy=Sm([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"],["textPosition"],["textAlign"]]),ry={getItemStyle:function(t,e){var n=iy(this,t,e),i=this.getBorderLineDash();return i&&(n.lineDash=i),n},getBorderLineDash:function(){var t=this.get("borderType");return"solid"===t||null==t?null:"dashed"===t?[5,5]:[1,1]}},oy=h,ay=Dn();pr.prototype={constructor:pr,init:null,mergeOption:function(t){i(this.option,t,!0)},get:function(t,e){return null==t?this.option:gr(this.option,this.parsePath(t),!e&&mr(this,t))},getShallow:function(t,e){var n=this.option,i=null==n?n:n[t],r=!e&&mr(this,t);return null==i&&r&&(i=r.getShallow(t)),i},getModel:function(t,e){var n,i=null==t?this.option:gr(this.option,t=this.parsePath(t));return e=e||(n=mr(this,t))&&n.getModel(t),new pr(i,e,this.ecModel)},isEmpty:function(){return null==this.option},restoreData:function(){},clone:function(){return new(0,this.constructor)(n(this.option))},setReadOnly:function(t){},parsePath:function(t){return"string"==typeof t&&(t=t.split(".")),t},customizeGetParent:function(t){ay(this).getParent=t},isAnimationEnabled:function(){if(!bp.node){if(null!=this.option.animation)return!!this.option.animation;if(this.parentModel)return this.parentModel.isAnimationEnabled()}}},En(pr),Nn(pr),oy(pr,Cm),oy(pr,Dm),oy(pr,ny),oy(pr,ry);var sy=0,ly=1e-4,uy=/^(?:(\d{4})(?:[-\/](\d{1,2})(?:[-\/](\d{1,2})(?:[T ](\d{1,2})(?::(\d\d)(?::(\d\d)(?:[.,](\d+))?)?)?(Z|[\+\-]\d\d:?\d\d)?)?)?)?)?$/,hy=(Object.freeze||Object)({linearMap:xr,parsePercent:_r,round:wr,asc:br,getPrecision:Mr,getPrecisionSafe:Sr,getPixelPrecision:Ir,getPercentWithPrecision:Cr,MAX_SAFE_INTEGER:9007199254740991,remRadian:Tr,isRadianAroundZero:Dr,parseDate:Ar,quantity:kr,nice:Lr,reformIntervals:function(t){function e(t,n,i){return t.interval[i]=0}}),cy=k,dy=/([&<>"'])/g,fy={"&":"&","<":"<",">":">",'"':""","'":"'"},py=["a","b","c","d","e","f","g"],gy=function(t,e){return"{"+t+(null==e?"":e)+"}"},my=ve,vy=ce,yy=(Object.freeze||Object)({addCommas:Or,toCamelCase:zr,normalizeCssArray:cy,encodeHTML:Er,formatTpl:Nr,formatTplSimple:function(t,e,n){return d(e,function(e,i){t=t.replace("{"+i+"}",n?Er(e):e)}),t},getTooltipMarker:Rr,formatTime:Vr,capitalFirst:Fr,truncateText:my,getTextRect:vy}),xy=d,_y=["left","right","top","bottom","width","height"],wy=[["width","left","right"],["height","top","bottom"]],by=Hr,My=(v(Hr,"vertical"),v(Hr,"horizontal"),{getBoxLayoutParams:function(){return{left:this.get("left"),top:this.get("top"),right:this.get("right"),bottom:this.get("bottom"),width:this.get("width"),height:this.get("height")}}}),Sy=Dn(),Iy=pr.extend({type:"component",id:"",name:"",mainType:"",subType:"",componentIndex:0,defaultOption:null,ecModel:null,dependentModels:[],uid:null,layoutMode:null,$constructor:function(t,e,n,i){pr.call(this,t,e,n,i),this.uid=vr("ec_cpt_model")},init:function(t,e,n,i){this.mergeDefaultAndTheme(t,n)},mergeDefaultAndTheme:function(t,e){var n=this.layoutMode,r=n?Ur(t):{};i(t,e.getTheme().get(this.mainType)),i(t,this.getDefaultOption()),n&&Zr(t,r,n)},mergeOption:function(t,e){i(this.option,t,!0);var n=this.layoutMode;n&&Zr(this.option,t,n)},optionUpdated:function(t,e){},getDefaultOption:function(){var t=Sy(this);if(!t.defaultOption){for(var e=[],n=this.constructor;n;){var r=n.prototype.defaultOption;r&&e.push(r),n=n.superClass}for(var o={},a=e.length-1;a>=0;a--)o=i(o,e[a],!0);t.defaultOption=o}return t.defaultOption},getReferringComponents:function(t){return this.ecModel.queryComponents({mainType:t,index:this.get(t+"Index",!0),id:this.get(t+"Id",!0)})}});Vn(Iy,{registerWhenExtend:!0}),function(t){var e={};t.registerSubTypeDefaulter=function(t,n){t=On(t),e[t.main]=n},t.determineSubType=function(n,i){var r=i.type;if(!r){var o=On(n).main;t.hasSubTypes(n)&&e[o]&&(r=e[o](i))}return r}}(Iy),function(t,e){function n(t){var n={},o=[];return d(t,function(a){var s=i(n,a),u=r(s.originalDeps=e(a),t);s.entryCount=u.length,0===s.entryCount&&o.push(a),d(u,function(t){l(s.predecessor,t)<0&&s.predecessor.push(t);var e=i(n,t);l(e.successor,t)<0&&e.successor.push(a)})}),{graph:n,noEntryList:o}}function i(t,e){return t[e]||(t[e]={predecessor:[],successor:[]}),t[e]}function r(t,e){var n=[];return d(t,function(t){l(e,t)>=0&&n.push(t)}),n}t.topologicalTravel=function(t,e,i,r){function o(t){s[t].entryCount--,0===s[t].entryCount&&l.push(t)}if(t.length){var a=n(e),s=a.graph,l=a.noEntryList,u={};for(d(t,function(t){u[t]=!0});l.length;){var h=l.pop(),c=s[h],f=!!u[h];f&&(i.call(r,h,c.originalDeps.slice()),delete u[h]),d(c.successor,f?function(t){u[t]=!0,o(t)}:o)}d(u,function(){throw new Error("Circle dependency may exists")})}}}(Iy,function(t){var e=[];return d(Iy.getClassesByMainType(t),function(t){e=e.concat(t.prototype.dependencies||[])}),e=f(e,function(t){return On(t).main}),"dataset"!==t&&l(e,"dataset")<=0&&e.unshift("dataset"),e}),h(Iy,My);var Cy="";"undefined"!=typeof navigator&&(Cy=navigator.platform||"");var Ty={color:["#c23531","#2f4554","#61a0a8","#d48265","#91c7ae","#749f83","#ca8622","#bda29a","#6e7074","#546570","#c4ccd3"],gradientColor:["#f6efa6","#d88273","#bf444c"],textStyle:{fontFamily:Cy.match(/^Win/)?"Microsoft YaHei":"sans-serif",fontSize:12,fontStyle:"normal",fontWeight:"normal"},blendMode:null,animation:"auto",animationDuration:1e3,animationDurationUpdate:300,animationEasing:"exponentialOut",animationEasingUpdate:"cubicOut",animationThreshold:2e3,progressiveThreshold:3e3,progressive:400,hoverLayerThreshold:3e3,useUTC:!1},Dy=Dn(),Ay={clearColorPalette:function(){Dy(this).colorIdx=0,Dy(this).colorNameMap={}},getColorFromPalette:function(t,e,n){var i=Dy(e=e||this),r=i.colorIdx||0,o=i.colorNameMap=i.colorNameMap||{};if(o.hasOwnProperty(t))return o[t];var a=xn(this.get("color",!0)),s=this.get("colorLayer",!0),l=null!=n&&s?jr(s,n):a;if((l=l||a)&&l.length){var u=l[r];return t&&(o[t]=u),i.colorIdx=(r+1)%l.length,u}}},ky={cartesian2d:function(t,e,n,i){var r=t.getReferringComponents("xAxis")[0],o=t.getReferringComponents("yAxis")[0];e.coordSysDims=["x","y"],n.set("x",r),n.set("y",o),qr(r)&&(i.set("x",r),e.firstCategoryDimIndex=0),qr(o)&&(i.set("y",o),e.firstCategoryDimIndex=1)},singleAxis:function(t,e,n,i){var r=t.getReferringComponents("singleAxis")[0];e.coordSysDims=["single"],n.set("single",r),qr(r)&&(i.set("single",r),e.firstCategoryDimIndex=0)},polar:function(t,e,n,i){var r=t.getReferringComponents("polar")[0],o=r.findAxisModel("radiusAxis"),a=r.findAxisModel("angleAxis");e.coordSysDims=["radius","angle"],n.set("radius",o),n.set("angle",a),qr(o)&&(i.set("radius",o),e.firstCategoryDimIndex=0),qr(a)&&(i.set("angle",a),e.firstCategoryDimIndex=1)},geo:function(t,e,n,i){e.coordSysDims=["lng","lat"]},parallel:function(t,e,n,i){var r=t.ecModel,o=r.getComponent("parallel",t.get("parallelIndex")),a=e.coordSysDims=o.dimensions.slice();d(o.parallelAxisIndex,function(t,o){var s=r.getComponent("parallelAxis",t),l=a[o];n.set(l,s),qr(s)&&null==e.firstCategoryDimIndex&&(i.set(l,s),e.firstCategoryDimIndex=o)})}},Py="original",Ly="arrayRows",Oy="objectRows",zy="keyedColumns",Ey="unknown",Ny="typedArray",Ry="column",By="row";$r.seriesDataToSource=function(t){return new $r({data:t,sourceFormat:M(t)?Ny:Py,fromDataset:!1})},Nn($r);var Vy=Dn(),Fy="\0_ec_inner",Hy=pr.extend({init:function(t,e,n,i){n=n||{},this.option=null,this._theme=new pr(n),this._optionManager=i},setOption:function(t,e){P(!(Fy in t),"please use chart.getOption()"),this._optionManager.setOption(t,e),this.resetOption(null)},resetOption:function(t){var e=!1,n=this._optionManager;if(!t||"recreate"===t){var i=n.mountOption("recreate"===t);this.option&&"recreate"!==t?(this.restoreData(),this.mergeOption(i)):co.call(this,i),e=!0}if("timeline"!==t&&"media"!==t||this.restoreData(),!t||"recreate"===t||"timeline"===t){var r=n.getTimelineOption(this);r&&(this.mergeOption(r),e=!0)}if(!t||"recreate"===t||"media"===t){var o=n.getMediaOption(this,this._api);o.length&&d(o,function(t){this.mergeOption(t,e=!0)},this)}return e},mergeOption:function(t){var e=this.option,r=this._componentsMap,a=[];Jr(this),d(t,function(t,r){null!=t&&(Iy.hasClass(r)?r&&a.push(r):e[r]=null==e[r]?n(t):i(e[r],t,!0))}),Iy.topologicalTravel(a,Iy.getAllClassMainTypes(),function(n,i){var a=xn(t[n]),s=Mn(r.get(n),a);Sn(s),d(s,function(t,e){var i=t.option;w(i)&&(t.keyInfo.mainType=n,t.keyInfo.subType=po(n,i,t.exist))});var l=fo(r,i);e[n]=[],r.set(n,[]),d(s,function(t,i){var a=t.exist,s=t.option;if(P(w(s)||a,"Empty component definition"),s){var u=Iy.getClass(n,t.keyInfo.subType,!0);if(a&&a instanceof u)a.name=t.keyInfo.name,a.mergeOption(s,this),a.optionUpdated(s,!1);else{var h=o({dependentModels:l,componentIndex:i},t.keyInfo);o(a=new u(s,this,this,h),h),a.init(s,this,this,h),a.optionUpdated(null,!0)}}else a.mergeOption({},this),a.optionUpdated({},!1);r.get(n)[i]=a,e[n][i]=a.option},this),"series"===n&&go(this,r.get("series"))},this),this._seriesIndicesMap=N(this._seriesIndices=this._seriesIndices||[])},getOption:function(){var t=n(this.option);return d(t,function(e,n){if(Iy.hasClass(n)){for(var i=(e=xn(e)).length-1;i>=0;i--)Cn(e[i])&&e.splice(i,1);t[n]=e}}),delete t[Fy],t},getTheme:function(){return this._theme},getComponent:function(t,e){var n=this._componentsMap.get(t);if(n)return n[e||0]},queryComponents:function(t){var e=t.mainType;if(!e)return[];var n=t.index,i=t.id,r=t.name,o=this._componentsMap.get(e);if(!o||!o.length)return[];var a;if(null!=n)y(n)||(n=[n]),a=g(f(n,function(t){return o[t]}),function(t){return!!t});else if(null!=i){var s=y(i);a=g(o,function(t){return s&&l(i,t.id)>=0||!s&&t.id===i})}else if(null!=r){var u=y(r);a=g(o,function(t){return u&&l(r,t.name)>=0||!u&&t.name===r})}else a=o.slice();return mo(a,t)},findComponents:function(t){var e=t.query,n=t.mainType,i=function(t){var e=n+"Index",i=n+"Id",r=n+"Name";return!t||null==t[e]&&null==t[i]&&null==t[r]?null:{mainType:n,index:t[e],id:t[i],name:t[r]}}(e);return function(e){return t.filter?g(e,t.filter):e}(mo(i?this.queryComponents(i):this._componentsMap.get(n),t))},eachComponent:function(t,e,n){var i=this._componentsMap;"function"==typeof t?(n=e,e=t,i.each(function(t,i){d(t,function(t,r){e.call(n,i,t,r)})})):_(t)?d(i.get(t),e,n):w(t)&&d(this.findComponents(t),e,n)},getSeriesByName:function(t){return g(this._componentsMap.get("series"),function(e){return e.name===t})},getSeriesByIndex:function(t){return this._componentsMap.get("series")[t]},getSeriesByType:function(t){return g(this._componentsMap.get("series"),function(e){return e.subType===t})},getSeries:function(){return this._componentsMap.get("series").slice()},getSeriesCount:function(){return this._componentsMap.get("series").length},eachSeries:function(t,e){d(this._seriesIndices,function(n){var i=this._componentsMap.get("series")[n];t.call(e,i,n)},this)},eachRawSeries:function(t,e){d(this._componentsMap.get("series"),t,e)},eachSeriesByType:function(t,e,n){d(this._seriesIndices,function(i){var r=this._componentsMap.get("series")[i];r.subType===t&&e.call(n,r,i)},this)},eachRawSeriesByType:function(t,e,n){return d(this.getSeriesByType(t),e,n)},isSeriesFiltered:function(t){return null==this._seriesIndicesMap.get(t.componentIndex)},getCurrentSeriesIndices:function(){return(this._seriesIndices||[]).slice()},filterSeries:function(t,e){go(this,g(this._componentsMap.get("series"),t,e))},restoreData:function(t){var e=this._componentsMap;go(this,e.get("series"));var n=[];e.each(function(t,e){n.push(e)}),Iy.topologicalTravel(n,Iy.getAllClassMainTypes(),function(n,i){d(e.get(n),function(e){("series"!==n||!uo(e,t))&&e.restoreData()})})}});h(Hy,Ay);var Gy=["getDom","getZr","getWidth","getHeight","getDevicePixelRatio","dispatchAction","isDisposed","on","off","getDataURL","getConnectedDataURL","getModel","getOption","getViewOfComponentModel","getViewOfSeriesModel"],Wy={};yo.prototype={constructor:yo,create:function(t,e){var n=[];d(Wy,function(i,r){var o=i.create(t,e);n=n.concat(o||[])}),this._coordinateSystems=n},update:function(t,e){d(this._coordinateSystems,function(n){n.update&&n.update(t,e)})},getCoordinateSystems:function(){return this._coordinateSystems.slice()}},yo.register=function(t,e){Wy[t]=e},yo.get=function(t){return Wy[t]};var Zy=d,Uy=n,Xy=f,jy=i,Yy=/^(min|max)?(.+)$/;xo.prototype={constructor:xo,setOption:function(t,e){t&&d(xn(t.series),function(t){t&&t.data&&M(t.data)&&O(t.data)}),t=Uy(t,!0);var n=this._optionBackup,i=_o.call(this,t,e,!n);this._newBaseOption=i.baseOption,n?(So(n.baseOption,i.baseOption),i.timelineOptions.length&&(n.timelineOptions=i.timelineOptions),i.mediaList.length&&(n.mediaList=i.mediaList),i.mediaDefault&&(n.mediaDefault=i.mediaDefault)):this._optionBackup=i},mountOption:function(t){var e=this._optionBackup;return this._timelineOptions=Xy(e.timelineOptions,Uy),this._mediaList=Xy(e.mediaList,Uy),this._mediaDefault=Uy(e.mediaDefault),this._currentMediaIndices=[],Uy(t?e.baseOption:this._newBaseOption)},getTimelineOption:function(t){var e,n=this._timelineOptions;if(n.length){var i=t.getComponent("timeline");i&&(e=Uy(n[i.getCurrentIndex()],!0))}return e},getMediaOption:function(t){var e=this._api.getWidth(),n=this._api.getHeight(),i=this._mediaList,r=this._mediaDefault,o=[],a=[];if(!i.length&&!r)return a;for(var s=0,l=i.length;s=1)&&(t=1),t}var n=this._upstream,i=t&&t.skip;if(this._dirty&&n){var r=this.context;r.data=r.outputData=n.context.outputData}this.__pipeline&&(this.__pipeline.currentTask=this);var o;this._plan&&!i&&(o=this._plan(this.context));var a=e(this._modBy),s=this._modDataCount||0,l=e(t&&t.modBy),u=t&&t.modDataCount||0;a===l&&s===u||(o="reset");var h;(this._dirty||"reset"===o)&&(this._dirty=!1,h=qo(this,i)),this._modBy=l,this._modDataCount=u;var c=t&&t.step;if(this._dueEnd=n?n._outputDueEnd:this._count?this._count(this.context):1/0,this._progress){var d=this._dueIndex,f=Math.min(null!=c?this._dueIndex+c:1/0,this._dueEnd);if(!i&&(h||d=n?null:t1&&o>0?e:t}};return s}();lx.dirty=function(){this._dirty=!0,this._onDirty&&this._onDirty(this.context)},lx.unfinished=function(){return this._progress&&this._dueIndex1||l&&!a?function(n){function i(t,n){var i=r.getDimensionInfo(n);if(i&&!1!==i.otherDims.tooltip){var o=i.type,l=Rr({color:u,type:"subItem"}),h=(a?l+Er(i.displayName||"-")+": ":"")+Er("ordinal"===o?t+"":"time"===o?e?"":Vr("yyyy/MM/dd hh:mm:ss",t):Or(t));h&&s.push(h)}}var a=p(n,function(t,e,n){var i=r.getDimensionInfo(n);return t|=i&&!1!==i.tooltip&&null!=i.displayName},0),s=[];return o.length?d(o,function(e){i(Zo(r,t,e),e)}):d(n,i),(a?"
":"")+s.join(a?"
":", ")}(s):i(a?Zo(r,t,o[0]):l?s[0]:s),c=Rr(u),f=r.getName(t),g=this.name;return In(this)||(g=""),g=g?Er(g)+(e?": ":"
"):"",e?c+g+h:g+c+(f?Er(f)+": "+h:h)},isAnimationEnabled:function(){if(bp.node)return!1;var t=this.getShallow("animation");return t&&this.getData().count()>this.getShallow("animationThreshold")&&(t=!1),t},restoreData:function(){this.dataTask.dirty()},getColorFromPalette:function(t,e,n){var i=this.ecModel,r=Ay.getColorFromPalette.call(this,t,e,n);return r||(r=i.getColorFromPalette(t,e,n)),r},coordDimToDataDim:function(t){return this.getRawData().mapDimension(t,!0)},getProgressive:function(){return this.get("progressive")},getProgressiveThreshold:function(){return this.get("progressiveThreshold")},getAxisTooltipData:null,getTooltipPosition:null,pipeTask:null,preventIncremental:null,pipelineContext:null});h(cx,sx),h(cx,Ay);var dx=function(){this.group=new Sg,this.uid=vr("viewComponent")};dx.prototype={constructor:dx,init:function(t,e){},render:function(t,e,n,i){},dispose:function(){}};var fx=dx.prototype;fx.updateView=fx.updateLayout=fx.updateVisual=function(t,e,n,i){},En(dx),Vn(dx,{registerWhenExtend:!0});var px=function(){var t=Dn();return function(e){var n=t(e),i=e.pipelineContext,r=n.large,o=n.progressiveRender,a=n.large=i.large,s=n.progressiveRender=i.progressiveRender;return!!(r^a||o^s)&&"reset"}},gx=Dn(),mx=px();ra.prototype={type:"chart",init:function(t,e){},render:function(t,e,n,i){},highlight:function(t,e,n,i){aa(t.getData(),i,"emphasis")},downplay:function(t,e,n,i){aa(t.getData(),i,"normal")},remove:function(t,e){this.group.removeAll()},dispose:function(){},incrementalPrepareRender:null,incrementalRender:null,updateTransform:null};var vx=ra.prototype;vx.updateView=vx.updateLayout=vx.updateVisual=function(t,e,n,i){this.render(t,e,n,i)},En(ra),Vn(ra,{registerWhenExtend:!0}),ra.markUpdateMethod=function(t,e){gx(t).updateMethod=e};var yx={incrementalPrepareRender:{progress:function(t,e){e.view.incrementalRender(t,e.model,e.ecModel,e.api,e.payload)}},render:{forceFirstProgress:!0,progress:function(t,e){e.view.render(e.model,e.ecModel,e.api,e.payload)}}},xx="\0__throttleOriginMethod",_x="\0__throttleRate",bx="\0__throttleType",Mx={createOnAllSeries:!0,performRawSeries:!0,reset:function(t,e){var n=t.getData(),i=(t.visualColorAccessPath||"itemStyle.color").split("."),r=t.get(i)||t.getColorFromPalette(t.name,null,e.getSeriesCount());if(n.setVisual("color",r),!e.isSeriesFiltered(t)){"function"!=typeof r||r instanceof Xv||n.each(function(e){n.setItemVisual(e,"color",r(t.getDataParams(e)))});return{dataEach:n.hasItemOption?function(t,e){var n=t.getItemModel(e).get(i,!0);null!=n&&t.setItemVisual(e,"color",n)}:null}}}},Sx={toolbox:{brush:{title:{rect:"矩形选择",polygon:"圈选",lineX:"横向选择",lineY:"纵向选择",keep:"保持选择",clear:"清除选择"}},dataView:{title:"数据视图",lang:["数据视图","关闭","刷新"]},dataZoom:{title:{zoom:"区域缩放",back:"区域缩放还原"}},magicType:{title:{line:"切换为折线图",bar:"切换为柱状图",stack:"切换为堆叠",tiled:"切换为平铺"}},restore:{title:"还原"},saveAsImage:{title:"保存为图片",lang:["右键另存为图片"]}},series:{typeNames:{pie:"饼图",bar:"柱状图",line:"折线图",scatter:"散点图",effectScatter:"涟漪散点图",radar:"雷达图",tree:"树图",treemap:"矩形树图",boxplot:"箱型图",candlestick:"K线图",k:"K线图",heatmap:"热力图",map:"地图",parallel:"平行坐标图",lines:"线图",graph:"关系图",sankey:"桑基图",funnel:"漏斗图",gauge:"仪表盘图",pictorialBar:"象形柱图",themeRiver:"主题河流图",sunburst:"旭日图"}},aria:{general:{withTitle:"这是一个关于“{title}”的图表。",withoutTitle:"这是一个图表,"},series:{single:{prefix:"",withName:"图表类型是{seriesType},表示{seriesName}。",withoutName:"图表类型是{seriesType}。"},multiple:{prefix:"它由{seriesCount}个图表系列组成。",withName:"第{seriesId}个系列是一个表示{seriesName}的{seriesType},",withoutName:"第{seriesId}个系列是一个{seriesType},",separator:{middle:";",end:"。"}}},data:{allData:"其数据是——",partialData:"其中,前{displayCnt}项是——",withName:"{name}的数据是{value}",withoutName:"{value}",separator:{middle:",",end:""}}}},Ix=function(t,e){function n(t,e){if("string"!=typeof t)return t;var n=t;return d(e,function(t,e){n=n.replace(new RegExp("\\{\\s*"+e+"\\s*\\}","g"),t)}),n}function i(t){var e=o.get(t);if(null==e){for(var n=t.split("."),i=Sx.aria,r=0;r1?"series.multiple.prefix":"series.single.prefix"),{seriesCount:a}),e.eachSeries(function(t,e){if(e1?"multiple":"single")+".";o=n(o=i(s?u+"withName":u+"withoutName"),{seriesId:t.seriesIndex,seriesName:t.get("name"),seriesType:r(t.subType)});var c=t.getData();window.data=c,c.count()>l?o+=n(i("data.partialData"),{displayCnt:l}):o+=i("data.allData");for(var d=[],p=0;pn.blockIndex?n.step:null,o=i&&i.modDataCount;return{step:r,modBy:null!=o?Math.ceil(o/r):null,modDataCount:o}}},Tx.getPipeline=function(t){return this._pipelineMap.get(t)},Tx.updateStreamModes=function(t,e){var n=this._pipelineMap.get(t.uid),i=t.getData().count(),r=n.progressiveEnabled&&e.incrementalPrepareRender&&i>=n.threshold,o=t.get("large")&&i>=t.get("largeThreshold"),a="mod"===t.get("progressiveChunkMode")?i:null;t.pipelineContext=n.context={progressiveRender:r,modDataCount:a,large:o}},Tx.restorePipelines=function(t){var e=this,n=e._pipelineMap=N();t.eachSeries(function(t){var i=t.getProgressive(),r=t.uid;n.set(r,{id:r,head:null,tail:null,threshold:t.getProgressiveThreshold(),progressiveEnabled:i&&!(t.preventIncremental&&t.preventIncremental()),blockIndex:-1,step:Math.round(i||700),count:0}),Sa(e,t,t.dataTask)})},Tx.prepareStageTasks=function(){var t=this._stageTaskMap,e=this.ecInstance.getModel(),n=this.api;d(this._allHandlers,function(i){var r=t.get(i.uid)||t.set(i.uid,[]);i.reset&&pa(this,i,r,e,n),i.overallReset&&ga(this,i,r,e,n)},this)},Tx.prepareView=function(t,e,n,i){var r=t.renderTask,o=r.context;o.model=e,o.ecModel=n,o.api=i,r.__block=!t.incrementalPrepareRender,Sa(this,e,r)},Tx.performDataProcessorTasks=function(t,e){fa(this,this._dataProcessorHandlers,t,e,{block:!0})},Tx.performVisualTasks=function(t,e,n){fa(this,this._visualHandlers,t,e,n)},Tx.performSeriesTasks=function(t){var e;t.eachSeries(function(t){e|=t.dataTask.perform()}),this.unfinished|=e},Tx.plan=function(){this._pipelineMap.each(function(t){var e=t.tail;do{if(e.__block){t.blockIndex=e.__idxInPipeline;break}e=e.getUpstream()}while(e)})};var Dx=Tx.updatePayload=function(t,e){"remain"!==e&&(t.context.payload=e)},Ax=ba(0);da.wrapStageHandler=function(t,e){return x(t)&&(t={overallReset:t,seriesType:Ia(t)}),t.uid=vr("stageHandler"),e&&(t.visualType=e),t};var kx,Px={},Lx={};Ca(Px,Hy),Ca(Lx,vo),Px.eachSeriesByType=Px.eachRawSeriesByType=function(t){kx=t},Px.eachComponent=function(t){"series"===t.mainType&&t.subType&&(kx=t.subType)};var Ox=["#37A2DA","#32C5E9","#67E0E3","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#E062AE","#E690D1","#e7bcf3","#9d96f5","#8378EA","#96BFFF"],zx={color:Ox,colorLayer:[["#37A2DA","#ffd85c","#fd7b5f"],["#37A2DA","#67E0E3","#FFDB5C","#ff9f7f","#E062AE","#9d96f5"],["#37A2DA","#32C5E9","#9FE6B8","#FFDB5C","#ff9f7f","#fb7293","#e7bcf3","#8378EA","#96BFFF"],Ox]},Ex=["#dd6b66","#759aa0","#e69d87","#8dc1a9","#ea7e53","#eedd78","#73a373","#73b9bc","#7289ab","#91ca8c","#f49f42"],Nx={color:Ex,backgroundColor:"#333",tooltip:{axisPointer:{lineStyle:{color:"#eee"},crossStyle:{color:"#eee"}}},legend:{textStyle:{color:"#eee"}},textStyle:{color:"#eee"},title:{textStyle:{color:"#eee"}},toolbox:{iconStyle:{normal:{borderColor:"#eee"}}},dataZoom:{textStyle:{color:"#eee"}},visualMap:{textStyle:{color:"#eee"}},timeline:{lineStyle:{color:"#eee"},itemStyle:{normal:{color:Ex[1]}},label:{normal:{textStyle:{color:"#eee"}}},controlStyle:{normal:{color:"#eee",borderColor:"#eee"}}},timeAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},logAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},valueAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},categoryAxis:{axisLine:{lineStyle:{color:"#eee"}},axisTick:{lineStyle:{color:"#eee"}},axisLabel:{textStyle:{color:"#eee"}},splitLine:{lineStyle:{type:"dashed",color:"#aaa"}},splitArea:{areaStyle:{color:"#eee"}}},line:{symbol:"circle"},graph:{color:Ex},gauge:{title:{textStyle:{color:"#eee"}}},candlestick:{itemStyle:{normal:{color:"#FD1050",color0:"#0CF49B",borderColor:"#FD1050",borderColor0:"#0CF49B"}}}};Nx.categoryAxis.splitLine.show=!1,Iy.extend({type:"dataset",defaultOption:{seriesLayoutBy:Ry,sourceHeader:null,dimensions:null,source:null},optionUpdated:function(){Kr(this)}}),dx.extend({type:"dataset"});var Rx=P,Bx=d,Vx=x,Fx=w,Hx=Iy.parseClassType,Gx={zrender:"4.0.4"},Wx=1e3,Zx=1e3,Ux=3e3,Xx={PROCESSOR:{FILTER:Wx,STATISTIC:5e3},VISUAL:{LAYOUT:Zx,GLOBAL:2e3,CHART:Ux,COMPONENT:4e3,BRUSH:5e3}},jx="__flagInMainProcess",Yx="__optionUpdated",qx=/^[a-zA-Z0-9_]+$/;Da.prototype.on=Ta("on"),Da.prototype.off=Ta("off"),Da.prototype.one=Ta("one"),h(Da,Zp);var $x=Aa.prototype;$x._onframe=function(){if(!this._disposed){var t=this._scheduler;if(this[Yx]){var e=this[Yx].silent;this[jx]=!0,Pa(this),Kx.update.call(this),this[jx]=!1,this[Yx]=!1,Ea.call(this,e),Na.call(this,e)}else if(t.unfinished){var n=1,i=this._model;this._api;t.unfinished=!1;do{var r=+new Date;t.performSeriesTasks(i),t.performDataProcessorTasks(i),Oa(this,i),t.performVisualTasks(i),Ga(this,this._model,0,"remain"),n-=+new Date-r}while(n>0&&t.unfinished);t.unfinished||this._zr.flush()}}},$x.getDom=function(){return this._dom},$x.getZr=function(){return this._zr},$x.setOption=function(t,e,n){var i;if(Fx(e)&&(n=e.lazyUpdate,i=e.silent,e=e.notMerge),this[jx]=!0,!this._model||e){var r=new xo(this._api),o=this._theme,a=this._model=new Hy(null,null,o,r);a.scheduler=this._scheduler,a.init(null,null,o,r)}this._model.setOption(t,n_),n?(this[Yx]={silent:i},this[jx]=!1):(Pa(this),Kx.update.call(this),this._zr.flush(),this[Yx]=!1,this[jx]=!1,Ea.call(this,i),Na.call(this,i))},$x.setTheme=function(){console.log("ECharts#setTheme() is DEPRECATED in ECharts 3.0")},$x.getModel=function(){return this._model},$x.getOption=function(){return this._model&&this._model.getOption()},$x.getWidth=function(){return this._zr.getWidth()},$x.getHeight=function(){return this._zr.getHeight()},$x.getDevicePixelRatio=function(){return this._zr.painter.dpr||window.devicePixelRatio||1},$x.getRenderedCanvas=function(t){if(bp.canvasSupported)return(t=t||{}).pixelRatio=t.pixelRatio||1,t.backgroundColor=t.backgroundColor||this._model.get("backgroundColor"),this._zr.painter.getRenderedCanvas(t)},$x.getSvgDataUrl=function(){if(bp.svgSupported){var t=this._zr;return d(t.storage.getDisplayList(),function(t){t.stopAnimation(!0)}),t.painter.pathToDataUrl()}},$x.getDataURL=function(t){var e=(t=t||{}).excludeComponents,n=this._model,i=[],r=this;Bx(e,function(t){n.eachComponent({mainType:t},function(t){var e=r._componentsMap[t.__viewId];e.group.ignore||(i.push(e),e.group.ignore=!0)})});var o="svg"===this._zr.painter.getType()?this.getSvgDataUrl():this.getRenderedCanvas(t).toDataURL("image/"+(t&&t.type||"png"));return Bx(i,function(t){t.group.ignore=!1}),o},$x.getConnectedDataURL=function(t){if(bp.canvasSupported){var e=this.group,i=Math.min,r=Math.max;if(l_[e]){var o=1/0,a=1/0,s=-1/0,l=-1/0,u=[],h=t&&t.pixelRatio||1;d(s_,function(h,c){if(h.group===e){var d=h.getRenderedCanvas(n(t)),f=h.getDom().getBoundingClientRect();o=i(f.left,o),a=i(f.top,a),s=r(f.right,s),l=r(f.bottom,l),u.push({dom:d,left:f.left,top:f.top})}});var c=(s*=h)-(o*=h),f=(l*=h)-(a*=h),p=Op();p.width=c,p.height=f;var g=mn(p);return Bx(u,function(t){var e=new je({style:{x:t.left*h-o,y:t.top*h-a,image:t.dom}});g.add(e)}),g.refreshImmediately(),p.toDataURL("image/"+(t&&t.type||"png"))}return this.getDataURL(t)}},$x.convertToPixel=v(ka,"convertToPixel"),$x.convertFromPixel=v(ka,"convertFromPixel"),$x.containPixel=function(t,e){var n;return t=An(this._model,t),d(t,function(t,i){i.indexOf("Models")>=0&&d(t,function(t){var r=t.coordinateSystem;if(r&&r.containPoint)n|=!!r.containPoint(e);else if("seriesModels"===i){var o=this._chartsMap[t.__viewId];o&&o.containPoint&&(n|=o.containPoint(e,t))}},this)},this),!!n},$x.getVisual=function(t,e){var n=(t=An(this._model,t,{defaultMainType:"series"})).seriesModel.getData(),i=t.hasOwnProperty("dataIndexInside")?t.dataIndexInside:t.hasOwnProperty("dataIndex")?n.indexOfRawIndex(t.dataIndex):null;return null!=i?n.getItemVisual(i,e):n.getVisual(e)},$x.getViewOfComponentModel=function(t){return this._componentsMap[t.__viewId]},$x.getViewOfSeriesModel=function(t){return this._chartsMap[t.__viewId]};var Kx={prepareAndUpdate:function(t){Pa(this),Kx.update.call(this,t)},update:function(t){var e=this._model,n=this._api,i=this._zr,r=this._coordSysMgr,o=this._scheduler;if(e){o.restoreData(e,t),o.performSeriesTasks(e),r.create(e,n),o.performDataProcessorTasks(e,t),Oa(this,e),r.update(e,n),Va(e),o.performVisualTasks(e,t),Fa(this,e,n,t);var a=e.get("backgroundColor")||"transparent";if(bp.canvasSupported)i.setBackgroundColor(a);else{var s=St(a);a=Lt(s,"rgb"),0===s[3]&&(a="transparent")}Wa(e,n)}},updateTransform:function(t){var e=this._model,n=this,i=this._api;if(e){var r=[];e.eachComponent(function(o,a){var s=n.getViewOfComponentModel(a);if(s&&s.__alive)if(s.updateTransform){var l=s.updateTransform(a,e,i,t);l&&l.update&&r.push(s)}else r.push(s)});var o=N();e.eachSeries(function(r){var a=n._chartsMap[r.__viewId];if(a.updateTransform){var s=a.updateTransform(r,e,i,t);s&&s.update&&o.set(r.uid,1)}else o.set(r.uid,1)}),Va(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0,dirtyMap:o}),Ga(n,e,0,t,o),Wa(e,this._api)}},updateView:function(t){var e=this._model;e&&(ra.markUpdateMethod(t,"updateView"),Va(e),this._scheduler.performVisualTasks(e,t,{setDirty:!0}),Fa(this,this._model,this._api,t),Wa(e,this._api))},updateVisual:function(t){Kx.update.call(this,t)},updateLayout:function(t){Kx.update.call(this,t)}};$x.resize=function(t){this._zr.resize(t);var e=this._model;if(this._loadingFX&&this._loadingFX.resize(),e){var n=e.resetOption("media"),i=t&&t.silent;this[jx]=!0,n&&Pa(this),Kx.update.call(this),this[jx]=!1,Ea.call(this,i),Na.call(this,i)}},$x.showLoading=function(t,e){if(Fx(t)&&(e=t,t=""),t=t||"default",this.hideLoading(),a_[t]){var n=a_[t](this._api,e),i=this._zr;this._loadingFX=n,i.add(n)}},$x.hideLoading=function(){this._loadingFX&&this._zr.remove(this._loadingFX),this._loadingFX=null},$x.makeActionFromEvent=function(t){var e=o({},t);return e.type=t_[t.type],e},$x.dispatchAction=function(t,e){Fx(e)||(e={silent:!!e}),Jx[t.type]&&this._model&&(this[jx]?this._pendingActions.push(t):(za.call(this,t,e.silent),e.flush?this._zr.flush(!0):!1!==e.flush&&bp.browser.weChat&&this._throttledZrFlush(),Ea.call(this,e.silent),Na.call(this,e.silent)))},$x.appendData=function(t){var e=t.seriesIndex;this.getModel().getSeriesByIndex(e).appendData(t),this._scheduler.unfinished=!0},$x.on=Ta("on"),$x.off=Ta("off"),$x.one=Ta("one");var Qx=["click","dblclick","mouseover","mouseout","mousemove","mousedown","mouseup","globalout","contextmenu"];$x._initEvents=function(){Bx(Qx,function(t){this._zr.on(t,function(e){var n,i=this.getModel(),r=e.target;if("globalout"===t)n={};else if(r&&null!=r.dataIndex){var a=r.dataModel||i.getSeriesByIndex(r.seriesIndex);n=a&&a.getDataParams(r.dataIndex,r.dataType)||{}}else r&&r.eventData&&(n=o({},r.eventData));n&&(n.event=e,n.type=t,this.trigger(t,n))},this)},this),Bx(t_,function(t,e){this._messageCenter.on(e,function(t){this.trigger(e,t)},this)},this)},$x.isDisposed=function(){return this._disposed},$x.clear=function(){this.setOption({series:[]},!0)},$x.dispose=function(){if(!this._disposed){this._disposed=!0,Pn(this.getDom(),c_,"");var t=this._api,e=this._model;Bx(this._componentsViews,function(n){n.dispose(e,t)}),Bx(this._chartsViews,function(n){n.dispose(e,t)}),this._zr.dispose(),delete s_[this.id]}},h(Aa,Zp);var Jx={},t_={},e_=[],n_=[],i_=[],r_=[],o_={},a_={},s_={},l_={},u_=new Date-0,h_=new Date-0,c_="_echarts_instance_",d_={},f_=qa;ns(2e3,Mx),Qa(ex),Ja(5e3,function(t){var e=N();t.eachSeries(function(t){var n=t.get("stack");if(n){var i=e.get(n)||e.set(n,[]),r=t.getData(),o={stackResultDimension:r.getCalculationInfo("stackResultDimension"),stackedOverDimension:r.getCalculationInfo("stackedOverDimension"),stackedDimension:r.getCalculationInfo("stackedDimension"),stackedByDimension:r.getCalculationInfo("stackedByDimension"),isStackedByIndex:r.getCalculationInfo("isStackedByIndex"),data:r,seriesModel:t};if(!o.stackedDimension||!o.isStackedByIndex&&!o.stackedByDimension)return;i.length&&r.setCalculationInfo("stackedOnSeries",i[i.length-1].seriesModel),i.push(o)}}),e.each(No)}),rs("default",function(t,e){a(e=e||{},{text:"loading",color:"#c23531",textColor:"#000",maskColor:"rgba(255, 255, 255, 0.8)",zlevel:0});var n=new Fv({style:{fill:e.maskColor},zlevel:e.zlevel,z:1e4}),i=new Zv({shape:{startAngle:-Cx/2,endAngle:-Cx/2+.1,r:10},style:{stroke:e.color,lineCap:"round",lineWidth:5},zlevel:e.zlevel,z:10001}),r=new Fv({style:{fill:"none",text:e.text,textPosition:"right",textDistance:10,textFill:e.textColor},zlevel:e.zlevel,z:10001});i.animateShape(!0).when(1e3,{endAngle:3*Cx/2}).start("circularInOut"),i.animateShape(!0).when(1e3,{startAngle:3*Cx/2}).delay(300).start("circularInOut");var o=new Sg;return o.add(i),o.add(r),o.add(n),o.resize=function(){var e=t.getWidth()/2,o=t.getHeight()/2;i.setShape({cx:e,cy:o});var a=i.shape.r;r.setShape({x:e-a,y:o-a,width:2*a,height:2*a}),n.setShape({x:0,y:0,width:t.getWidth(),height:t.getHeight()})},o.resize(),o}),ts({type:"highlight",event:"highlight",update:"highlight"},R),ts({type:"downplay",event:"downplay",update:"downplay"},R),Ka("light",zx),Ka("dark",Nx);var p_={};hs.prototype={constructor:hs,add:function(t){return this._add=t,this},update:function(t){return this._update=t,this},remove:function(t){return this._remove=t,this},execute:function(){var t=this._old,e=this._new,n={},i=[],r=[];for(cs(t,{},i,"_oldKeyGetter",this),cs(e,n,r,"_newKeyGetter",this),o=0;o=e)){for(var n,i=this._chunkSize,r=this._rawData,o=this._storage,a=this.dimensions,s=a.length,l=this._dimensionInfos,u=this._nameList,h=this._idList,c=this._rawExtent,d=this._nameRepeatCount={},f=this._chunkCount,p=f-1,g=0;gA[1]&&(A[1]=D)}if(!r.pure){var k=u[b];if(w&&null==k)if(null!=w.name)u[b]=k=w.name;else if(null!=n){var P=a[n],L=o[P][M];if(L){k=L[S];var O=l[P].ordinalMeta;O&&O.categories.length&&(k=O.categories[k])}}var z=null==w?null:w.id;null==z&&null!=k&&(d[k]=d[k]||0,z=k,d[k]>0&&(z+="__ec__"+d[k]),d[k]++),null!=z&&(h[b]=z)}}!r.persistent&&r.clean&&r.clean(),this._rawCount=this._count=e,this._extent={},ys(this)}},S_.count=function(){return this._count},S_.getIndices=function(){var t=this._indices;if(t){var e=t.constructor,n=this._count;if(e===Array){i=new e(n);for(r=0;r=0&&e=0&&eo&&(o=s)}return n=[r,o],this._extent[t]=n,n},S_.getApproximateExtent=function(t){return t=this.getDimension(t),this._approximateExtent[t]||this.getDataExtent(t)},S_.setApproximateExtent=function(t,e){e=this.getDimension(e),this._approximateExtent[e]=t.slice()},S_.getCalculationInfo=function(t){return this._calculationInfo[t]},S_.setCalculationInfo=function(t,e){m_(t)?o(this._calculationInfo,t):this._calculationInfo[t]=e},S_.getSum=function(t){var e=0;if(this._storage[t])for(var n=0,i=this.count();n=this._rawCount||t<0)return-1;var e=this._indices,n=e[t];if(null!=n&&nt))return o;r=o-1}}return-1},S_.indicesOfNearest=function(t,e,n){var i=[];if(!this._storage[t])return i;null==n&&(n=1/0);for(var r=Number.MAX_VALUE,o=-1,a=0,s=this.count();a=0&&o<0)&&(r=u,o=l,i.length=0),i.push(a))}return i},S_.getRawIndex=_s,S_.getRawDataItem=function(t){if(this._rawData.persistent)return this._rawData.getItem(this.getRawIndex(t));for(var e=[],n=0;n=l&&w<=u||isNaN(w))&&(o[a++]=c),c++;h=!0}else if(2===i){for(var d=this._storage[s],v=this._storage[e[1]],y=t[e[1]][0],x=t[e[1]][1],f=0;f=l&&w<=u||isNaN(w))&&(b>=y&&b<=x||isNaN(b))&&(o[a++]=c),c++}h=!0}}if(!h)if(1===i)for(m=0;m=l&&w<=u||isNaN(w))&&(o[a++]=S)}else for(m=0;mt[I][1])&&(M=!1)}M&&(o[a++]=this.getRawIndex(m))}return ab[1]&&(b[1]=w)}}}return r},S_.downSample=function(t,e,n,i){for(var r=Ss(this,[t]),o=r._storage,a=[],s=Math.floor(1/e),l=o[t],u=this.count(),h=this._chunkSize,c=r._rawExtent[t],d=new(gs(this))(u),f=0,p=0;pu-p&&(s=u-p,a.length=s);for(var g=0;gc[1]&&(c[1]=x),d[f++]=_}return r._count=f,r._indices=d,r.getRawIndex=ws,r},S_.getItemModel=function(t){var e=this.hostModel;return new pr(this.getRawDataItem(t),e,e&&e.ecModel)},S_.diff=function(t){var e=this;return new hs(t?t.getIndices():[],this.getIndices(),function(e){return bs(t,e)},function(t){return bs(e,t)})},S_.getVisual=function(t){var e=this._visual;return e&&e[t]},S_.setVisual=function(t,e){if(m_(t))for(var n in t)t.hasOwnProperty(n)&&this.setVisual(n,t[n]);else this._visual=this._visual||{},this._visual[t]=e},S_.setLayout=function(t,e){if(m_(t))for(var n in t)t.hasOwnProperty(n)&&this.setLayout(n,t[n]);else this._layout[t]=e},S_.getLayout=function(t){return this._layout[t]},S_.getItemLayout=function(t){return this._itemLayouts[t]},S_.setItemLayout=function(t,e,n){this._itemLayouts[t]=n?o(this._itemLayouts[t]||{},e):e},S_.clearItemLayouts=function(){this._itemLayouts.length=0},S_.getItemVisual=function(t,e,n){var i=this._itemVisuals[t],r=i&&i[e];return null!=r||n?r:this.getVisual(e)},S_.setItemVisual=function(t,e,n){var i=this._itemVisuals[t]||{},r=this.hasItemVisual;if(this._itemVisuals[t]=i,m_(e))for(var o in e)e.hasOwnProperty(o)&&(i[o]=e[o],r[o]=!0);else i[e]=n,r[e]=!0},S_.clearAllVisual=function(){this._visual={},this._itemVisuals=[],this.hasItemVisual={}};var I_=function(t){t.seriesIndex=this.seriesIndex,t.dataIndex=this.dataIndex,t.dataType=this.dataType};S_.setItemGraphicEl=function(t,e){var n=this.hostModel;e&&(e.dataIndex=t,e.dataType=this.dataType,e.seriesIndex=n&&n.seriesIndex,"group"===e.type&&e.traverse(I_,e)),this._graphicEls[t]=e},S_.getItemGraphicEl=function(t){return this._graphicEls[t]},S_.eachItemGraphicEl=function(t,e){d(this._graphicEls,function(n,i){n&&t&&t.call(e,n,i)})},S_.cloneShallow=function(t){if(!t){var e=f(this.dimensions,this.getDimensionInfo,this);t=new M_(e,this.hostModel)}if(t._storage=this._storage,vs(t,this),this._indices){var n=this._indices.constructor;t._indices=new n(this._indices)}else t._indices=null;return t.getRawIndex=t._indices?ws:_s,t},S_.wrapMethod=function(t,e){var n=this[t];"function"==typeof n&&(this.__wrappedMethods=this.__wrappedMethods||[],this.__wrappedMethods.push(t),this[t]=function(){var t=n.apply(this,arguments);return e.apply(this,[t].concat(A(arguments)))})},S_.TRANSFERABLE_METHODS=["cloneShallow","downSample","map"],S_.CHANGABLE_METHODS=["filterSelf","selectRange"];var C_=function(t,e){return e=e||{},Ts(e.coordDimensions||[],t,{dimsDef:e.dimensionsDefine||t.dimensionsDefine,encodeDef:e.encodeDefine||t.encodeDefine,dimCount:e.dimensionsCount,generateCoord:e.generateCoord,generateCoordCount:e.generateCoordCount})};Ns.prototype.parse=function(t){return t},Ns.prototype.getSetting=function(t){return this._setting[t]},Ns.prototype.contain=function(t){var e=this._extent;return t>=e[0]&&t<=e[1]},Ns.prototype.normalize=function(t){var e=this._extent;return e[1]===e[0]?.5:(t-e[0])/(e[1]-e[0])},Ns.prototype.scale=function(t){var e=this._extent;return t*(e[1]-e[0])+e[0]},Ns.prototype.unionExtent=function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1])},Ns.prototype.unionExtentFromData=function(t,e){this.unionExtent(t.getApproximateExtent(e))},Ns.prototype.getExtent=function(){return this._extent.slice()},Ns.prototype.setExtent=function(t,e){var n=this._extent;isNaN(t)||(n[0]=t),isNaN(e)||(n[1]=e)},Ns.prototype.isBlank=function(){return this._isBlank},Ns.prototype.setBlank=function(t){this._isBlank=t},Ns.prototype.getLabel=null,En(Ns),Vn(Ns,{registerWhenExtend:!0}),Rs.createByAxisModel=function(t){var e=t.option,n=e.data,i=n&&f(n,Vs);return new Rs({categories:i,needCollect:!i,deduplication:!1!==e.dedplication})};var T_=Rs.prototype;T_.getOrdinal=function(t){return Bs(this).get(t)},T_.parseAndCollect=function(t){var e,n=this._needCollect;if("string"!=typeof t&&!n)return t;if(n&&!this._deduplication)return e=this.categories.length,this.categories[e]=t,e;var i=Bs(this);return null==(e=i.get(t))&&(n?(e=this.categories.length,this.categories[e]=t,i.set(t,e)):e=NaN),e};var D_=Ns.prototype,A_=Ns.extend({type:"ordinal",init:function(t,e){t&&!y(t)||(t=new Rs({categories:t})),this._ordinalMeta=t,this._extent=e||[0,t.categories.length-1]},parse:function(t){return"string"==typeof t?this._ordinalMeta.getOrdinal(t):Math.round(t)},contain:function(t){return t=this.parse(t),D_.contain.call(this,t)&&null!=this._ordinalMeta.categories[t]},normalize:function(t){return D_.normalize.call(this,this.parse(t))},scale:function(t){return Math.round(D_.scale.call(this,t))},getTicks:function(){for(var t=[],e=this._extent,n=e[0];n<=e[1];)t.push(n),n++;return t},getLabel:function(t){if(!this.isBlank())return this._ordinalMeta.categories[t]},count:function(){return this._extent[1]-this._extent[0]+1},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},getOrdinalMeta:function(){return this._ordinalMeta},niceTicks:R,niceExtent:R});A_.create=function(){return new A_};var k_=wr,P_=wr,L_=Ns.extend({type:"interval",_interval:0,_intervalPrecision:2,setExtent:function(t,e){var n=this._extent;isNaN(t)||(n[0]=parseFloat(t)),isNaN(e)||(n[1]=parseFloat(e))},unionExtent:function(t){var e=this._extent;t[0]e[1]&&(e[1]=t[1]),L_.prototype.setExtent.call(this,e[0],e[1])},getInterval:function(){return this._interval},setInterval:function(t){this._interval=t,this._niceExtent=this._extent.slice(),this._intervalPrecision=Hs(t)},getTicks:function(){return Zs(this._interval,this._extent,this._niceExtent,this._intervalPrecision)},getLabel:function(t,e){if(null==t)return"";var n=e&&e.precision;return null==n?n=Sr(t)||0:"auto"===n&&(n=this._intervalPrecision),t=P_(t,n,!0),Or(t)},niceTicks:function(t,e,n){t=t||5;var i=this._extent,r=i[1]-i[0];if(isFinite(r)){r<0&&(r=-r,i.reverse());var o=Fs(i,t,e,n);this._intervalPrecision=o.intervalPrecision,this._interval=o.interval,this._niceExtent=o.niceTickExtent}},niceExtent:function(t){var e=this._extent;if(e[0]===e[1])if(0!==e[0]){var n=e[0];t.fixMax?e[0]-=n/2:(e[1]+=n/2,e[0]-=n/2)}else e[1]=1;var i=e[1]-e[0];isFinite(i)||(e[0]=0,e[1]=1),this.niceTicks(t.splitNumber,t.minInterval,t.maxInterval);var r=this._interval;t.fixMin||(e[0]=P_(Math.floor(e[0]/r)*r)),t.fixMax||(e[1]=P_(Math.ceil(e[1]/r)*r))}});L_.create=function(){return new L_};var O_="__ec_stack_",z_="undefined"!=typeof Float32Array?Float32Array:Array,E_={seriesType:"bar",plan:px(),reset:function(t){if(Ks(t)&&Qs(t)){var e=t.getData(),n=t.coordinateSystem,i=n.getBaseAxis(),r=n.getOtherAxis(i),o=e.mapDimension(r.dim),a=e.mapDimension(i.dim),s=r.isHorizontal(),l=s?0:1,u=$s(Ys([t]),i,t).width;return u>.5||(u=.5),{progress:function(t,e){for(var h,c=new z_(2*t.count),d=[],f=[],p=0;null!=(h=t.next());)f[l]=e.get(o,h),f[1-l]=e.get(a,h),d=n.dataToPoint(f,null,d),c[p++]=d[0],c[p++]=d[1];e.setLayout({largePoints:c,barWidth:u,valueAxisStart:Js(i,r,!1),valueAxisHorizontal:s})}}}}},N_=L_.prototype,R_=Math.ceil,B_=Math.floor,V_=function(t,e,n,i){for(;n>>1;t[r][1]n&&(o=n);var a=H_.length,s=V_(H_,o,0,a),l=H_[Math.min(s,a-1)],u=l[1];"year"===l[0]&&(u*=Lr(r/u/t,!0));var h=this.getSetting("useUTC")?0:60*new Date(+i[0]||+i[1]).getTimezoneOffset()*1e3,c=[Math.round(R_((i[0]-h)/u)*u+h),Math.round(B_((i[1]-h)/u)*u+h)];Ws(c,i),this._stepLvl=l,this._interval=u,this._niceExtent=c},parse:function(t){return+Ar(t)}});d(["contain","normalize"],function(t){F_.prototype[t]=function(e){return N_[t].call(this,this.parse(e))}});var H_=[["hh:mm:ss",1e3],["hh:mm:ss",5e3],["hh:mm:ss",1e4],["hh:mm:ss",15e3],["hh:mm:ss",3e4],["hh:mm\nMM-dd",6e4],["hh:mm\nMM-dd",3e5],["hh:mm\nMM-dd",6e5],["hh:mm\nMM-dd",9e5],["hh:mm\nMM-dd",18e5],["hh:mm\nMM-dd",36e5],["hh:mm\nMM-dd",72e5],["hh:mm\nMM-dd",216e5],["hh:mm\nMM-dd",432e5],["MM-dd\nyyyy",864e5],["MM-dd\nyyyy",1728e5],["MM-dd\nyyyy",2592e5],["MM-dd\nyyyy",3456e5],["MM-dd\nyyyy",432e6],["MM-dd\nyyyy",5184e5],["week",6048e5],["MM-dd\nyyyy",864e6],["week",12096e5],["week",18144e5],["month",26784e5],["week",36288e5],["month",53568e5],["week",36288e5],["quarter",8208e6],["month",107136e5],["month",13392e6],["half-year",16416e6],["month",214272e5],["month",26784e6],["year",32832e6]];F_.create=function(t){return new F_({useUTC:t.ecModel.get("useUTC")})};var G_=Ns.prototype,W_=L_.prototype,Z_=Sr,U_=wr,X_=Math.floor,j_=Math.ceil,Y_=Math.pow,q_=Math.log,$_=Ns.extend({type:"log",base:10,$constructor:function(){Ns.apply(this,arguments),this._originalScale=new L_},getTicks:function(){var t=this._originalScale,e=this._extent,n=t.getExtent();return f(W_.getTicks.call(this),function(i){var r=wr(Y_(this.base,i));return r=i===e[0]&&t.__fixMin?tl(r,n[0]):r,r=i===e[1]&&t.__fixMax?tl(r,n[1]):r},this)},getLabel:W_.getLabel,scale:function(t){return t=G_.scale.call(this,t),Y_(this.base,t)},setExtent:function(t,e){var n=this.base;t=q_(t)/q_(n),e=q_(e)/q_(n),W_.setExtent.call(this,t,e)},getExtent:function(){var t=this.base,e=G_.getExtent.call(this);e[0]=Y_(t,e[0]),e[1]=Y_(t,e[1]);var n=this._originalScale,i=n.getExtent();return n.__fixMin&&(e[0]=tl(e[0],i[0])),n.__fixMax&&(e[1]=tl(e[1],i[1])),e},unionExtent:function(t){this._originalScale.unionExtent(t);var e=this.base;t[0]=q_(t[0])/q_(e),t[1]=q_(t[1])/q_(e),G_.unionExtent.call(this,t)},unionExtentFromData:function(t,e){this.unionExtent(t.getApproximateExtent(e))},niceTicks:function(t){t=t||10;var e=this._extent,n=e[1]-e[0];if(!(n===1/0||n<=0)){var i=kr(n);for(t/n*i<=.5&&(i*=10);!isNaN(i)&&Math.abs(i)<1&&Math.abs(i)>0;)i*=10;var r=[wr(j_(e[0]/i)*i),wr(X_(e[1]/i)*i)];this._interval=i,this._niceExtent=r}},niceExtent:function(t){W_.niceExtent.call(this,t);var e=this._originalScale;e.__fixMin=t.fixMin,e.__fixMax=t.fixMax}});d(["contain","normalize"],function(t){$_.prototype[t]=function(e){return e=q_(e)/q_(this.base),G_[t].call(this,e)}}),$_.create=function(){return new $_};var K_={getMin:function(t){var e=this.option,n=t||null==e.rangeStart?e.min:e.rangeStart;return this.axis&&null!=n&&"dataMin"!==n&&"function"!=typeof n&&!I(n)&&(n=this.axis.scale.parse(n)),n},getMax:function(t){var e=this.option,n=t||null==e.rangeEnd?e.max:e.rangeEnd;return this.axis&&null!=n&&"dataMax"!==n&&"function"!=typeof n&&!I(n)&&(n=this.axis.scale.parse(n)),n},getNeedCrossZero:function(){var t=this.option;return null==t.rangeStart&&null==t.rangeEnd&&!t.scale},getCoordSysModel:R,setRange:function(t,e){this.option.rangeStart=t,this.option.rangeEnd=e},resetRange:function(){this.option.rangeStart=this.option.rangeEnd=null}},Q_=Ai({type:"triangle",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,o=e.height/2;t.moveTo(n,i-o),t.lineTo(n+r,i+o),t.lineTo(n-r,i+o),t.closePath()}}),J_=Ai({type:"diamond",shape:{cx:0,cy:0,width:0,height:0},buildPath:function(t,e){var n=e.cx,i=e.cy,r=e.width/2,o=e.height/2;t.moveTo(n,i-o),t.lineTo(n+r,i),t.lineTo(n,i+o),t.lineTo(n-r,i),t.closePath()}}),tw=Ai({type:"pin",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.x,i=e.y,r=e.width/5*3,o=Math.max(r,e.height),a=r/2,s=a*a/(o-a),l=i-o+a+s,u=Math.asin(s/a),h=Math.cos(u)*a,c=Math.sin(u),d=Math.cos(u),f=.6*a,p=.7*a;t.moveTo(n-h,l+s),t.arc(n,l,a,Math.PI-u,2*Math.PI+u),t.bezierCurveTo(n+h-c*f,l+s+d*f,n,i-p,n,i),t.bezierCurveTo(n,i-p,n-h+c*f,l+s+d*f,n-h,l+s),t.closePath()}}),ew=Ai({type:"arrow",shape:{x:0,y:0,width:0,height:0},buildPath:function(t,e){var n=e.height,i=e.width,r=e.x,o=e.y,a=i/3*2;t.moveTo(r,o),t.lineTo(r+a,o+n),t.lineTo(r,o+n/4*3),t.lineTo(r-a,o+n),t.lineTo(r,o),t.closePath()}}),nw={line:function(t,e,n,i,r){r.x1=t,r.y1=e+i/2,r.x2=t+n,r.y2=e+i/2},rect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i},roundRect:function(t,e,n,i,r){r.x=t,r.y=e,r.width=n,r.height=i,r.r=Math.min(n,i)/4},square:function(t,e,n,i,r){var o=Math.min(n,i);r.x=t,r.y=e,r.width=o,r.height=o},circle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.r=Math.min(n,i)/2},diamond:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i},pin:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},arrow:function(t,e,n,i,r){r.x=t+n/2,r.y=e+i/2,r.width=n,r.height=i},triangle:function(t,e,n,i,r){r.cx=t+n/2,r.cy=e+i/2,r.width=n,r.height=i}},iw={};d({line:Hv,rect:Fv,roundRect:Fv,square:Fv,circle:Pv,diamond:J_,pin:tw,arrow:ew,triangle:Q_},function(t,e){iw[e]=new t});var rw=Ai({type:"symbol",shape:{symbolType:"",x:0,y:0,width:0,height:0},beforeBrush:function(){var t=this.style;"pin"===this.shape.symbolType&&"inside"===t.textPosition&&(t.textPosition=["50%","40%"],t.textAlign="center",t.textVerticalAlign="middle")},buildPath:function(t,e,n){var i=e.symbolType,r=iw[i];"none"!==e.symbolType&&(r||(r=iw[i="rect"]),nw[i](e.x,e.y,e.width,e.height,r.shape),r.buildPath(t,r.shape,n))}}),ow={isDimensionStacked:Ps,enableDataStack:ks,getStackedDimension:Ls},aw=(Object.freeze||Object)({createList:function(t){return Os(t.getSource(),t)},getLayoutRect:Gr,dataStack:ow,createScale:function(t,e){var n=e;pr.isInstance(e)||h(n=new pr(e),K_);var i=rl(n);return i.setExtent(t[0],t[1]),il(i,n),i},mixinAxisModelCommonMethods:function(t){h(t,K_)},completeDimensions:Ts,createDimensions:C_,createSymbol:cl}),sw=1e-8;pl.prototype={constructor:pl,properties:null,getBoundingRect:function(){var t=this._rect;if(t)return t;for(var e=Number.MAX_VALUE,n=[e,e],i=[-e,-e],r=[],o=[],a=this.geometries,s=0;s0}),function(t){var e=t.properties,n=t.geometry,i=n.coordinates,r=[];"Polygon"===n.type&&r.push({type:"polygon",exterior:i[0],interiors:i.slice(1)}),"MultiPolygon"===n.type&&d(i,function(t){t[0]&&r.push({type:"polygon",exterior:t[0],interiors:t.slice(1)})});var o=new pl(e.name,r,e.cp);return o.properties=e,o})},uw=Dn(),hw=[0,1],cw=function(t,e,n){this.dim=t,this.scale=e,this._extent=n||[0,0],this.inverse=!1,this.onBand=!1};cw.prototype={constructor:cw,contain:function(t){var e=this._extent,n=Math.min(e[0],e[1]),i=Math.max(e[0],e[1]);return t>=n&&t<=i},containData:function(t){return this.contain(this.dataToCoord(t))},getExtent:function(){return this._extent.slice()},getPixelPrecision:function(t){return Ir(t||this.scale.getExtent(),this._extent)},setExtent:function(t,e){var n=this._extent;n[0]=t,n[1]=e},dataToCoord:function(t,e){var n=this._extent,i=this.scale;return t=i.normalize(t),this.onBand&&"ordinal"===i.type&&Ll(n=n.slice(),i.count()),xr(t,hw,n,e)},coordToData:function(t,e){var n=this._extent,i=this.scale;this.onBand&&"ordinal"===i.type&&Ll(n=n.slice(),i.count());var r=xr(t,n,hw,e);return this.scale.scale(r)},pointToData:function(t,e){},getTicksCoords:function(t){var e=(t=t||{}).tickModel||this.getTickModel(),n=yl(this,e),i=f(n.ticks,function(t){return{coord:this.dataToCoord(t),tickValue:t}},this),r=e.get("alignWithLabel");return Ol(this,i,n.tickCategoryInterval,r,t.clamp),i},getViewLabels:function(){return vl(this).labels},getLabelModel:function(){return this.model.getModel("axisLabel")},getTickModel:function(){return this.model.getModel("axisTick")},getBandWidth:function(){var t=this._extent,e=this.scale.getExtent(),n=e[1]-e[0]+(this.onBand?1:0);0===n&&(n=1);var i=Math.abs(t[1]-t[0]);return Math.abs(i)/n},isHorizontal:null,getRotate:null,calculateCategoryInterval:function(){return Tl(this)}};var dw=lw,fw={};d(["map","each","filter","indexOf","inherits","reduce","filter","bind","curry","isArray","isString","isObject","isFunction","extend","defaults","clone","merge"],function(t){fw[t]=Np[t]}),cx.extend({type:"series.line",dependencies:["grid","polar"],getInitialData:function(t,e){return Os(this.getSource(),this)},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,hoverAnimation:!0,clipOverflow:!0,label:{position:"top"},lineStyle:{width:2,type:"solid"},step:!1,smooth:!1,smoothMonotone:null,symbol:"emptyCircle",symbolSize:4,symbolRotate:null,showSymbol:!0,showAllSymbol:"auto",connectNulls:!1,sampling:"none",animationEasing:"linear",progressive:0,hoverLayerThreshold:1/0}});var pw=El.prototype,gw=El.getSymbolSize=function(t,e){var n=t.getItemVisual(e,"symbolSize");return n instanceof Array?n.slice():[+n,+n]};pw._createSymbol=function(t,e,n,i,r){this.removeAll();var o=cl(t,-1,-1,2,2,e.getItemVisual(n,"color"),r);o.attr({z2:100,culling:!0,scale:Nl(i)}),o.drift=Rl,this._symbolType=t,this.add(o)},pw.stopSymbolAnimation=function(t){this.childAt(0).stopAnimation(t)},pw.getSymbolPath=function(){return this.childAt(0)},pw.getScale=function(){return this.childAt(0).scale},pw.highlight=function(){this.childAt(0).trigger("emphasis")},pw.downplay=function(){this.childAt(0).trigger("normal")},pw.setZ=function(t,e){var n=this.childAt(0);n.zlevel=t,n.z=e},pw.setDraggable=function(t){var e=this.childAt(0);e.draggable=t,e.cursor=t?"move":"pointer"},pw.updateData=function(t,e,n){this.silent=!1;var i=t.getItemVisual(e,"symbol")||"circle",r=t.hostModel,o=gw(t,e),a=i!==this._symbolType;if(a){var s=t.getItemVisual(e,"symbolKeepAspect");this._createSymbol(i,t,e,o,s)}else(l=this.childAt(0)).silent=!1,ar(l,{scale:Nl(o)},r,e);if(this._updateCommon(t,e,o,n),a){var l=this.childAt(0),u=n&&n.fadeIn,h={scale:l.scale.slice()};u&&(h.style={opacity:l.style.opacity}),l.scale=[0,0],u&&(l.style.opacity=0),sr(l,h,r,e)}this._seriesModel=r};var mw=["itemStyle"],vw=["emphasis","itemStyle"],yw=["label"],xw=["emphasis","label"];pw._updateCommon=function(t,e,n,i){var r=this.childAt(0),a=t.hostModel,s=t.getItemVisual(e,"color");"image"!==r.type&&r.useStyle({strokeNoScale:!0});var l=i&&i.itemStyle,u=i&&i.hoverItemStyle,h=i&&i.symbolRotate,c=i&&i.symbolOffset,d=i&&i.labelModel,f=i&&i.hoverLabelModel,p=i&&i.hoverAnimation,g=i&&i.cursorStyle;if(!i||t.hasItemOption){var m=i&&i.itemModel?i.itemModel:t.getItemModel(e);l=m.getModel(mw).getItemStyle(["color"]),u=m.getModel(vw).getItemStyle(),h=m.getShallow("symbolRotate"),c=m.getShallow("symbolOffset"),d=m.getModel(yw),f=m.getModel(xw),p=m.getShallow("hoverAnimation"),g=m.getShallow("cursor")}else u=o({},u);var v=r.style;r.attr("rotation",(h||0)*Math.PI/180||0),c&&r.attr("position",[_r(c[0],n[0]),_r(c[1],n[1])]),g&&r.attr("cursor",g),r.setColor(s,i&&i.symbolInnerColor),r.setStyle(l);var y=t.getItemVisual(e,"opacity");null!=y&&(v.opacity=y);var x=t.getItemVisual(e,"liftZ"),_=r.__z2Origin;null!=x?null==_&&(r.__z2Origin=r.z2,r.z2+=x):null!=_&&(r.z2=_,r.__z2Origin=null);var w=i&&i.useNameLabel;$i(v,u,d,f,{labelFetcher:a,labelDataIndex:e,defaultText:function(e,n){return w?t.getName(e):zl(t,e)},isRectText:!0,autoColor:s}),r.off("mouseover").off("mouseout").off("emphasis").off("normal"),r.hoverStyle=u,qi(r);var b=Nl(n);if(p&&a.isAnimationEnabled()){var M=function(){if(!this.incremental){var t=b[1]/b[0];this.animateTo({scale:[Math.max(1.1*b[0],b[0]+3),Math.max(1.1*b[1],b[1]+3*t)]},400,"elasticOut")}},S=function(){this.incremental||this.animateTo({scale:b},400,"elasticOut")};r.on("mouseover",M).on("mouseout",S).on("emphasis",M).on("normal",S)}},pw.fadeOut=function(t,e){var n=this.childAt(0);this.silent=n.silent=!0,!(e&&e.keepLabel)&&(n.style.text=null),ar(n,{style:{opacity:0},scale:[0,0]},this._seriesModel,this.dataIndex,t)},u(El,Sg);var _w=Bl.prototype;_w.updateData=function(t,e){e=Fl(e);var n=this.group,i=t.hostModel,r=this._data,o=this._symbolCtor,a=Hl(t);r||n.removeAll(),t.diff(r).add(function(i){var r=t.getItemLayout(i);if(Vl(t,r,i,e)){var s=new o(t,i,a);s.attr("position",r),t.setItemGraphicEl(i,s),n.add(s)}}).update(function(s,l){var u=r.getItemGraphicEl(l),h=t.getItemLayout(s);Vl(t,h,s,e)?(u?(u.updateData(t,s,a),ar(u,{position:h},i)):(u=new o(t,s)).attr("position",h),n.add(u),t.setItemGraphicEl(s,u)):n.remove(u)}).remove(function(t){var e=r.getItemGraphicEl(t);e&&e.fadeOut(function(){n.remove(e)})}).execute(),this._data=t},_w.isPersistent=function(){return!0},_w.updateLayout=function(){var t=this._data;t&&t.eachItemGraphicEl(function(e,n){var i=t.getItemLayout(n);e.attr("position",i)})},_w.incrementalPrepareUpdate=function(t){this._seriesScope=Hl(t),this._data=null,this.group.removeAll()},_w.incrementalUpdate=function(t,e,n){n=Fl(n);for(var i=t.start;i0&&Xl(n[r-1]);r--);for(;i0&&Xl(n[o-1]);o--);for(;r=0){var a=r.getItemGraphicEl(o);if(!a){var s=r.getItemLayout(o);if(!s)return;(a=new El(r,o)).position=s,a.setZ(t.get("zlevel"),t.get("z")),a.ignore=isNaN(s[0])||isNaN(s[1]),a.__temp=!0,r.setItemGraphicEl(o,a),a.stopSymbolAnimation(!0),this.group.add(a)}a.highlight()}else ra.prototype.highlight.call(this,t,e,n,i)},downplay:function(t,e,n,i){var r=t.getData(),o=Tn(r,i);if(null!=o&&o>=0){var a=r.getItemGraphicEl(o);a&&(a.__temp?(r.setItemGraphicEl(o,null),this.group.remove(a)):a.downplay())}else ra.prototype.downplay.call(this,t,e,n,i)},_newPolyline:function(t){var e=this._polyline;return e&&this._lineGroup.remove(e),e=new Aw({shape:{points:t},silent:!0,z2:10}),this._lineGroup.add(e),this._polyline=e,e},_newPolygon:function(t,e){var n=this._polygon;return n&&this._lineGroup.remove(n),n=new kw({shape:{points:t,stackedOnPoints:e},silent:!0}),this._lineGroup.add(n),this._polygon=n,n},_updateAnimation:function(t,e,n,i,r,o){var a=this._polyline,s=this._polygon,l=t.hostModel,u=ww(this._data,t,this._stackedOnPoints,e,this._coordSys,n,this._valueOrigin,o),h=u.current,c=u.stackedOnCurrent,d=u.next,f=u.stackedOnNext;r&&(h=ru(u.current,n,r),c=ru(u.stackedOnCurrent,n,r),d=ru(u.next,n,r),f=ru(u.stackedOnNext,n,r)),a.shape.__points=u.current,a.shape.points=h,ar(a,{shape:{points:d}},l),s&&(s.setShape({points:h,stackedOnPoints:c}),ar(s,{shape:{points:d,stackedOnPoints:f}},l));for(var p=[],g=u.status,m=0;me&&(e=t[n]);return isFinite(e)?e:NaN},min:function(t){for(var e=1/0,n=0;ne[1]&&e.reverse(),e},getOtherAxis:function(){this.grid.getOtherAxis()},pointToData:function(t,e){return this.coordToData(this.toLocalCoord(t["x"===this.dim?0:1]),e)},toLocalCoord:null,toGlobalCoord:null},u(Nw,cw);var Rw={show:!0,zlevel:0,z:0,inverse:!1,name:"",nameLocation:"end",nameRotate:null,nameTruncate:{maxWidth:null,ellipsis:"...",placeholder:"."},nameTextStyle:{},nameGap:15,silent:!1,triggerEvent:!1,tooltip:{show:!1},axisPointer:{},axisLine:{show:!0,onZero:!0,onZeroAxisIndex:null,lineStyle:{color:"#333",width:1,type:"solid"},symbol:["none","none"],symbolSize:[10,15]},axisTick:{show:!0,inside:!1,length:5,lineStyle:{width:1}},axisLabel:{show:!0,inside:!1,rotate:0,showMinLabel:null,showMaxLabel:null,margin:8,fontSize:12},splitLine:{show:!0,lineStyle:{color:["#ccc"],width:1,type:"solid"}},splitArea:{show:!1,areaStyle:{color:["rgba(250,250,250,0.3)","rgba(200,200,200,0.3)"]}}},Bw={};Bw.categoryAxis=i({boundaryGap:!0,deduplication:null,splitLine:{show:!1},axisTick:{alignWithLabel:!1,interval:"auto"},axisLabel:{interval:"auto"}},Rw),Bw.valueAxis=i({boundaryGap:[0,0],splitNumber:5},Rw),Bw.timeAxis=a({scale:!0,min:"dataMin",max:"dataMax"},Bw.valueAxis),Bw.logAxis=a({scale:!0,logBase:10},Bw.valueAxis);var Vw=["value","category","time","log"],Fw=function(t,e,n,o){d(Vw,function(a){e.extend({type:t+"Axis."+a,mergeDefaultAndTheme:function(e,r){var o=this.layoutMode,s=o?Ur(e):{};i(e,r.getTheme().get(a+"Axis")),i(e,this.getDefaultOption()),e.type=n(t,e),o&&Zr(e,s,o)},optionUpdated:function(){"category"===this.option.type&&(this.__ordinalMeta=Rs.createByAxisModel(this))},getCategories:function(t){var e=this.option;if("category"===e.type)return t?e.data:this.__ordinalMeta.categories},getOrdinalMeta:function(){return this.__ordinalMeta},defaultOption:r([{},Bw[a+"Axis"],o],!0)})}),Iy.registerSubTypeDefaulter(t+"Axis",v(n,t))},Hw=Iy.extend({type:"cartesian2dAxis",axis:null,init:function(){Hw.superApply(this,"init",arguments),this.resetRange()},mergeOption:function(){Hw.superApply(this,"mergeOption",arguments),this.resetRange()},restoreData:function(){Hw.superApply(this,"restoreData",arguments),this.resetRange()},getCoordSysModel:function(){return this.ecModel.queryComponents({mainType:"grid",index:this.option.gridIndex,id:this.option.gridId})[0]}});i(Hw.prototype,K_);var Gw={offset:0};Fw("x",Hw,hu,Gw),Fw("y",Hw,hu,Gw),Iy.extend({type:"grid",dependencies:["xAxis","yAxis"],layoutMode:"box",coordinateSystem:null,defaultOption:{show:!1,zlevel:0,z:0,left:"10%",top:60,right:"10%",bottom:60,containLabel:!1,backgroundColor:"rgba(0,0,0,0)",borderWidth:1,borderColor:"#ccc"}});var Ww=du.prototype;Ww.type="grid",Ww.axisPointerEnabled=!0,Ww.getRect=function(){return this._rect},Ww.update=function(t,e){var n=this._axesMap;this._updateScale(t,this.model),d(n.x,function(t){il(t.scale,t.model)}),d(n.y,function(t){il(t.scale,t.model)}),d(n.x,function(t){fu(n,"y",t)}),d(n.y,function(t){fu(n,"x",t)}),this.resize(this.model,e)},Ww.resize=function(t,e,n){function i(){d(o,function(t){var e=t.isHorizontal(),n=e?[0,r.width]:[0,r.height],i=t.inverse?1:0;t.setExtent(n[i],n[1-i]),gu(t,e?r.x:r.y)})}var r=Gr(t.getBoxLayoutParams(),{width:e.getWidth(),height:e.getHeight()});this._rect=r;var o=this._axesList;i(),!n&&t.get("containLabel")&&(d(o,function(t){if(!t.model.get("axisLabel.inside")){var e=ll(t);if(e){var n=t.isHorizontal()?"height":"width",i=t.model.get("axisLabel.margin");r[n]-=e[n]+i,"top"===t.position?r.y+=e.height+i:"left"===t.position&&(r.x+=e.width+i)}}}),i())},Ww.getAxis=function(t,e){var n=this._axesMap[t];if(null!=n){if(null==e)for(var i in n)if(n.hasOwnProperty(i))return n[i];return n[e]}},Ww.getAxes=function(){return this._axesList.slice()},Ww.getCartesian=function(t,e){if(null!=t&&null!=e){var n="x"+t+"y"+e;return this._coordsMap[n]}w(t)&&(e=t.yAxisIndex,t=t.xAxisIndex);for(var i=0,r=this._coordsList;iu[1]?-1:1,c=["start"===r?u[0]-h*l:"end"===r?u[1]+h*l:(u[0]+u[1])/2,Su(r)?t.labelOffset+a*l:0],d=e.get("nameRotate");null!=d&&(d=d*Uw/180);var f;Su(r)?i=Yw(t.rotation,null!=d?d:t.rotation,a):(i=xu(t,r,d||0,u),null!=(f=t.axisNameAvailableWidth)&&(f=Math.abs(f/Math.sin(i.rotation)),!isFinite(f)&&(f=null)));var p=s.getFont(),g=e.get("nameTruncate",!0)||{},m=g.ellipsis,v=C(t.nameTruncateMaxWidth,g.maxWidth,f),y=null!=m&&null!=v?my(n,v,p,m,{minChar:2,placeholder:g.placeholder}):n,x=e.get("tooltip",!0),_=e.mainType,w={componentType:_,name:n,$vars:["name"]};w[_+"Index"]=e.componentIndex;var b=new kv({anid:"name",__fullText:n,__truncatedText:y,position:c,rotation:i.rotation,silent:_u(e),z2:1,tooltip:x&&x.show?o({content:n,formatter:function(){return n},formatterParams:w},x):null});Ki(b.style,s,{text:y,textFont:p,textFill:s.getTextColor()||e.get("axisLine.lineStyle.color"),textAlign:i.textAlign,textVerticalAlign:i.textVerticalAlign}),e.get("triggerEvent")&&(b.eventData=yu(e),b.eventData.targetType="axisName",b.eventData.name=n),this._dumbGroup.add(b),b.updateTransform(),this.group.add(b),b.decomposeTransform()}}},Yw=Xw.innerTextLayout=function(t,e,n){var i,r,o=Tr(e-t);return Dr(o)?(r=n>0?"top":"bottom",i="center"):Dr(o-Uw)?(r=n>0?"bottom":"top",i="center"):(r="middle",i=o>0&&o0?"right":"left":n>0?"left":"right"),{rotation:o,textAlign:i,textVerticalAlign:r}},qw=d,$w=v,Kw=as({type:"axis",_axisPointer:null,axisPointerClass:null,render:function(t,e,n,i){this.axisPointerClass&&Ou(t),Kw.superApply(this,"render",arguments),Bu(this,t,0,n,0,!0)},updateAxisPointer:function(t,e,n,i,r){Bu(this,t,0,n,0,!1)},remove:function(t,e){var n=this._axisPointer;n&&n.remove(e),Kw.superApply(this,"remove",arguments)},dispose:function(t,e){Vu(this,e),Kw.superApply(this,"dispose",arguments)}}),Qw=[];Kw.registerAxisPointerClass=function(t,e){Qw[t]=e},Kw.getAxisPointerClass=function(t){return t&&Qw[t]};var Jw=["axisLine","axisTickLabel","axisName"],tb=["splitArea","splitLine"],eb=Kw.extend({type:"cartesianAxis",axisPointerClass:"CartesianAxisPointer",render:function(t,e,n,i){this.group.removeAll();var r=this._axisGroup;if(this._axisGroup=new Sg,this.group.add(this._axisGroup),t.get("show")){var o=t.getCoordSysModel(),a=Fu(o,t),s=new Xw(t,a);d(Jw,s.add,s),this._axisGroup.add(s.getGroup()),d(tb,function(e){t.get(e+".show")&&this["_"+e](t,o)},this),cr(r,this._axisGroup,t),eb.superCall(this,"render",t,e,n,i)}},remove:function(){this._splitAreaColors=null},_splitLine:function(t,e){var n=t.axis;if(!n.scale.isBlank()){var i=t.getModel("splitLine"),r=i.getModel("lineStyle"),o=r.get("color");o=y(o)?o:[o];for(var s=e.coordinateSystem.getRect(),l=n.isHorizontal(),u=0,h=n.getTicksCoords({tickModel:i}),c=[],d=[],f=r.getLineStyle(),p=0;p1){var c;"string"==typeof r?c=Ow[r]:"function"==typeof r&&(c=r),c&&t.setData(i.downSample(i.mapDimension(s.dim),1/h,c,zw))}}}}}("line")),cx.extend({type:"series.__base_bar__",getInitialData:function(t,e){return Os(this.getSource(),this)},getMarkerPosition:function(t){var e=this.coordinateSystem;if(e){var n=e.dataToPoint(e.clampData(t)),i=this.getData(),r=i.getLayout("offset"),o=i.getLayout("size");return n[e.getBaseAxis().isHorizontal()?0:1]+=r+o/2,n}return[NaN,NaN]},defaultOption:{zlevel:0,z:2,coordinateSystem:"cartesian2d",legendHoverLink:!0,barMinHeight:0,barMinAngle:0,large:!1,largeThreshold:400,progressive:3e3,progressiveChunkMode:"mod",itemStyle:{},emphasis:{}}}).extend({type:"series.bar",dependencies:["grid","polar"],brushSelector:"rect",getProgressive:function(){return!!this.get("large")&&this.get("progressive")},getProgressiveThreshold:function(){var t=this.get("progressiveThreshold"),e=this.get("largeThreshold");return e>t&&(t=e),t}});var nb=Sm([["fill","color"],["stroke","borderColor"],["lineWidth","borderWidth"],["stroke","barBorderColor"],["lineWidth","barBorderWidth"],["opacity"],["shadowBlur"],["shadowOffsetX"],["shadowOffsetY"],["shadowColor"]]),ib={getBarItemStyle:function(t){var e=nb(this,t);if(this.getBorderLineDash){var n=this.getBorderLineDash();n&&(e.lineDash=n)}return e}},rb=["itemStyle","barBorderWidth"];o(pr.prototype,ib),ls({type:"bar",render:function(t,e,n){this._updateDrawMode(t);var i=t.get("coordinateSystem");return"cartesian2d"!==i&&"polar"!==i||(this._isLargeDraw?this._renderLarge(t,e,n):this._renderNormal(t,e,n)),this.group},incrementalPrepareRender:function(t,e,n){this._clear(),this._updateDrawMode(t)},incrementalRender:function(t,e,n,i){this._incrementalRenderLarge(t,e)},_updateDrawMode:function(t){var e=t.pipelineContext.large;(null==this._isLargeDraw||e^this._isLargeDraw)&&(this._isLargeDraw=e,this._clear())},_renderNormal:function(t,e,n){var i,r=this.group,o=t.getData(),a=this._data,s=t.coordinateSystem,l=s.getBaseAxis();"cartesian2d"===s.type?i=l.isHorizontal():"polar"===s.type&&(i="angle"===l.dim);var u=t.isAnimationEnabled()?t:null;o.diff(a).add(function(e){if(o.hasValue(e)){var n=o.getItemModel(e),a=ab[s.type](o,e,n),l=ob[s.type](o,e,n,a,i,u);o.setItemGraphicEl(e,l),r.add(l),Uu(l,o,e,n,a,t,i,"polar"===s.type)}}).update(function(e,n){var l=a.getItemGraphicEl(n);if(o.hasValue(e)){var h=o.getItemModel(e),c=ab[s.type](o,e,h);l?ar(l,{shape:c},u,e):l=ob[s.type](o,e,h,c,i,u,!0),o.setItemGraphicEl(e,l),r.add(l),Uu(l,o,e,h,c,t,i,"polar"===s.type)}else r.remove(l)}).remove(function(t){var e=a.getItemGraphicEl(t);"cartesian2d"===s.type?e&&Wu(t,u,e):e&&Zu(t,u,e)}).execute(),this._data=o},_renderLarge:function(t,e,n){this._clear(),ju(t,this.group)},_incrementalRenderLarge:function(t,e){ju(e,this.group,!0)},dispose:R,remove:function(t){this._clear(t)},_clear:function(t){var e=this.group,n=this._data;t&&t.get("animation")&&n&&!this._isLargeDraw?n.eachItemGraphicEl(function(e){"sector"===e.type?Zu(e.dataIndex,t,e):Wu(e.dataIndex,t,e)}):e.removeAll(),this._data=null}});var ob={cartesian2d:function(t,e,n,i,r,a,s){var l=new Fv({shape:o({},i)});if(a){var u=l.shape,h=r?"height":"width",c={};u[h]=0,c[h]=i[h],ty[s?"updateProps":"initProps"](l,{shape:c},a,e)}return l},polar:function(t,e,n,i,r,o,s){var l=i.startAngle0?1:-1,a=i.height>0?1:-1;return{x:i.x+o*r/2,y:i.y+a*r/2,width:i.width-o*r,height:i.height-a*r}},polar:function(t,e,n){var i=t.getItemLayout(e);return{cx:i.cx,cy:i.cy,r0:i.r0,r:i.r,startAngle:i.startAngle,endAngle:i.endAngle}}},sb=xi.extend({type:"largeBar",shape:{points:[]},buildPath:function(t,e){for(var n=e.points,i=this.__startPoint,r=this.__valueIdx,o=0;o=0?"p":"n",b=m;p&&(r[a][_]||(r[a][_]={p:m,n:m}),b=r[a][_][w]);var M,S,I,C;if(g)M=b,S=(T=n.dataToPoint([x,_]))[1]+l,I=T[0]-m,C=u,Math.abs(I)0&&"scale"!==u){var d=r.getItemLayout(0),f=Math.max(n.getWidth(),n.getHeight())/2,p=m(a.removeClipPath,a);a.setClipPath(this._createClipPath(d.cx,d.cy,f,d.startAngle,d.clockwise,p,t))}this._data=r}},dispose:function(){},_createClipPath:function(t,e,n,i,r,o,a){var s=new zv({shape:{cx:t,cy:e,r0:0,r:n,startAngle:i,endAngle:i,clockwise:r}});return sr(s,{shape:{endAngle:i+(r?1:-1)*Math.PI*2}},a,o),s},containPoint:function(t,e){var n=e.getData().getItemLayout(0);if(n){var i=t[0]-n.cx,r=t[1]-n.cy,o=Math.sqrt(i*i+r*r);return o<=n.r&&o>=n.r0}}});var db=function(t,e,n,i){var r,o,a=t.getData(),s=[],l=!1;a.each(function(n){var i,u,h,c,d=a.getItemLayout(n),f=a.getItemModel(n),p=f.getModel("label"),g=p.get("position")||f.get("emphasis.label.position"),m=f.getModel("labelLine"),v=m.get("length"),y=m.get("length2"),x=(d.startAngle+d.endAngle)/2,_=Math.cos(x),w=Math.sin(x);r=d.cx,o=d.cy;var b="inside"===g||"inner"===g;if("center"===g)i=d.cx,u=d.cy,c="center";else{var M=(b?(d.r+d.r0)/2*_:d.r*_)+r,S=(b?(d.r+d.r0)/2*w:d.r*w)+o;if(i=M+3*_,u=S+3*w,!b){var I=M+_*(v+e-d.r),C=S+w*(v+e-d.r),T=I+(_<0?-1:1)*y,D=C;i=T+(_<0?-5:5),u=D,h=[[M,S],[I,C],[T,D]]}c=b?"center":_>0?"left":"right"}var A=p.getFont(),k=p.get("rotate")?_<0?-x+Math.PI:-x:0,P=ce(t.getFormattedLabel(n,"normal")||a.getName(n),A,c,"top");l=!!k,d.label={x:i,y:u,position:g,height:P.height,len:v,len2:y,linePoints:h,textAlign:c,verticalAlign:"middle",rotation:k,inside:b},b||s.push(d.label)}),!l&&t.get("avoidLabelOverlap")&&Ju(s,r,o,e,n,i)},fb=2*Math.PI,pb=Math.PI/180;!function(t,e){d(e,function(e){e.update="updateView",ts(e,function(n,i){var r={};return i.eachComponent({mainType:"series",subType:t,query:n},function(t){t[e.method]&&t[e.method](n.name,n.dataIndex);var i=t.getData();i.each(function(e){var n=i.getName(e);r[n]=t.isSelected(n)||!1})}),{name:n.name,selected:r}})})}("pie",[{type:"pieToggleSelect",event:"pieselectchanged",method:"toggleSelected"},{type:"pieSelect",event:"pieselected",method:"select"},{type:"pieUnSelect",event:"pieunselected",method:"unSelect"}]),ns(function(t){return{getTargetSeries:function(e){var n={},i=N();return e.eachSeriesByType(t,function(t){t.__paletteScope=n,i.set(t.uid,t)}),i},reset:function(t,e){var n=t.getRawData(),i={},r=t.getData();r.each(function(t){var e=r.getRawIndex(t);i[e]=t}),n.each(function(e){var o=i[e],a=null!=o&&r.getItemVisual(o,"color",!0);if(a)n.setItemVisual(e,"color",a);else{var s=n.getItemModel(e).get("itemStyle.color")||t.getColorFromPalette(n.getName(e)||e+"",t.__paletteScope,n.count());n.setItemVisual(e,"color",s),null!=o&&r.setItemVisual(o,"color",s)}})}}}("pie")),es(v(function(t,e,n,i){e.eachSeriesByType(t,function(t){var e=t.getData(),i=e.mapDimension("value"),r=t.get("center"),o=t.get("radius");y(o)||(o=[0,o]),y(r)||(r=[r,r]);var a=n.getWidth(),s=n.getHeight(),l=Math.min(a,s),u=_r(r[0],a),h=_r(r[1],s),c=_r(o[0],l/2),d=_r(o[1],l/2),f=-t.get("startAngle")*pb,p=t.get("minAngle")*pb,g=0;e.each(i,function(t){!isNaN(t)&&g++});var m=e.getSum(i),v=Math.PI/(m||g)*2,x=t.get("clockwise"),_=t.get("roseType"),w=t.get("stillShowZeroSum"),b=e.getDataExtent(i);b[0]=0;var M=fb,S=0,I=f,C=x?1:-1;if(e.each(i,function(t,n){var i;if(isNaN(t))e.setItemLayout(n,{angle:NaN,startAngle:NaN,endAngle:NaN,clockwise:x,cx:u,cy:h,r0:c,r:_?NaN:d});else{(i="area"!==_?0===m&&w?v:t*v:fb/g)=0;s--){var l=2*s,u=i[l]-o/2,h=i[l+1]-a/2;if(t>=u&&e>=h&&t<=u+o&&e<=h+a)return s}return-1}}),mb=th.prototype;mb.isPersistent=function(){return!this._incremental},mb.updateData=function(t){this.group.removeAll();var e=new gb({rectHover:!0,cursor:"default"});e.setShape({points:t.getLayout("symbolPoints")}),this._setCommon(e,t),this.group.add(e),this._incremental=null},mb.updateLayout=function(t){if(!this._incremental){var e=t.getLayout("symbolPoints");this.group.eachChild(function(t){if(null!=t.startIndex){var n=2*(t.endIndex-t.startIndex),i=4*t.startIndex*2;e=new Float32Array(e.buffer,i,n)}t.setShape("points",e)})}},mb.incrementalPrepareUpdate=function(t){this.group.removeAll(),this._clearIncremental(),t.count()>2e6?(this._incremental||(this._incremental=new Di({silent:!0})),this.group.add(this._incremental)):this._incremental=null},mb.incrementalUpdate=function(t,e){var n;this._incremental?(n=new gb,this._incremental.addDisplayable(n,!0)):((n=new gb({rectHover:!0,cursor:"default",startIndex:t.start,endIndex:t.end})).incremental=!0,this.group.add(n)),n.setShape({points:e.getLayout("symbolPoints")}),this._setCommon(n,e,!!this._incremental)},mb._setCommon=function(t,e,n){var i=e.hostModel,r=e.getVisual("symbolSize");t.setShape("size",r instanceof Array?r:[r,r]),t.symbolProxy=cl(e.getVisual("symbol"),0,0,0,0),t.setColor=t.symbolProxy.setColor;var o=t.shape.size[0]<4;t.useStyle(i.getModel("itemStyle").getItemStyle(o?["color","shadowBlur","shadowColor"]:["color"]));var a=e.getVisual("color");a&&t.setColor(a),n||(t.seriesIndex=i.seriesIndex,t.on("mousemove",function(e){t.dataIndex=null;var n=t.findDataIndex(e.offsetX,e.offsetY);n>=0&&(t.dataIndex=n+(t.startIndex||0))}))},mb.remove=function(){this._clearIncremental(),this._incremental=null,this.group.removeAll()},mb._clearIncremental=function(){var t=this._incremental;t&&t.clearDisplaybles()},ls({type:"scatter",render:function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).updateData(i),this._finished=!0},incrementalPrepareRender:function(t,e,n){var i=t.getData();this._updateSymbolDraw(i,t).incrementalPrepareUpdate(i),this._finished=!1},incrementalRender:function(t,e,n){this._symbolDraw.incrementalUpdate(t,e.getData()),this._finished=t.end===e.getData().count()},updateTransform:function(t,e,n){var i=t.getData();if(this.group.dirty(),!this._finished||i.count()>1e4||!this._symbolDraw.isPersistent())return{update:!0};var r=Lw().reset(t);r.progress&&r.progress({start:0,end:i.count()},i),this._symbolDraw.updateLayout(i)},_updateSymbolDraw:function(t,e){var n=this._symbolDraw,i=e.pipelineContext.large;return n&&i===this._isLargeDraw||(n&&n.remove(),n=this._symbolDraw=i?new th:new Bl,this._isLargeDraw=i,this.group.removeAll()),this.group.add(n.group),n},remove:function(t,e){this._symbolDraw&&this._symbolDraw.remove(!0),this._symbolDraw=null},dispose:function(){}}),ns(Pw("scatter","circle")),es(Lw("scatter")),Qa(function(t){var e=t.graphic;y(e)?e[0]&&e[0].elements?t.graphic=[t.graphic[0]]:t.graphic=[{elements:e}]:e&&!e.elements&&(t.graphic=[{elements:[e]}])});var vb=os({type:"graphic",defaultOption:{elements:[],parentId:null},_elOptionsToUpdate:null,mergeOption:function(t){var e=this.option.elements;this.option.elements=null,vb.superApply(this,"mergeOption",arguments),this.option.elements=e},optionUpdated:function(t,e){var n=this.option,i=(e?n:t).elements,r=n.elements=e?[]:n.elements,o=[];this._flatten(i,o);var a=Mn(r,o);Sn(a);var s=this._elOptionsToUpdate=[];d(a,function(t,e){var n=t.option;n&&(s.push(n),oh(t,n),ah(r,e,n),sh(r[e],n))},this);for(var l=r.length-1;l>=0;l--)null==r[l]?r.splice(l,1):delete r[l].$action},_flatten:function(t,e,n){d(t,function(t){if(t){n&&(t.parentOption=n),e.push(t);var i=t.children;"group"===t.type&&i&&this._flatten(i,e,t),delete t.children}},this)},useElOptionsToUpdate:function(){var t=this._elOptionsToUpdate;return this._elOptionsToUpdate=null,t}});as({type:"graphic",init:function(t,e){this._elMap=N(),this._lastGraphicModel},render:function(t,e,n){t!==this._lastGraphicModel&&this._clear(),this._lastGraphicModel=t,this._updateElements(t,n),this._relocate(t,n)},_updateElements:function(t,e){var n=t.useElOptionsToUpdate();if(n){var i=this._elMap,r=this.group;d(n,function(t){var e=t.$action,n=t.id,o=i.get(n),a=t.parentId,s=null!=a?i.get(a):r;if("text"===t.type){var l=t.style;t.hv&&t.hv[1]&&(l.textVerticalAlign=l.textBaseline=null),!l.hasOwnProperty("textFill")&&l.fill&&(l.textFill=l.fill),!l.hasOwnProperty("textStroke")&&l.stroke&&(l.textStroke=l.stroke)}var u=ih(t);e&&"merge"!==e?"replace"===e?(nh(o,i),eh(n,s,u,i)):"remove"===e&&nh(o,i):o?o.attr(u):eh(n,s,u,i);var h=i.get(n);h&&(h.__ecGraphicWidth=t.width,h.__ecGraphicHeight=t.height)})}},_relocate:function(t,e){for(var n=t.option.elements,i=this.group,r=this._elMap,o=n.length-1;o>=0;o--){var a=n[o],s=r.get(a.id);if(s){var l=s.parent;Wr(s,a,l===i?{width:e.getWidth(),height:e.getHeight()}:{width:l.__ecGraphicWidth||0,height:l.__ecGraphicHeight||0},null,{hv:a.hv,boundingMode:a.bounding})}}},_clear:function(){var t=this._elMap;t.each(function(e){nh(e,t)}),this._elMap=N()},dispose:function(){this._clear()}});var yb=function(t,e){var n,i=[],r=t.seriesIndex;if(null==r||!(n=e.getSeriesByIndex(r)))return{point:[]};var o=n.getData(),a=Tn(o,t);if(null==a||a<0||y(a))return{point:[]};var s=o.getItemGraphicEl(a),l=n.coordinateSystem;if(n.getTooltipPosition)i=n.getTooltipPosition(a)||[];else if(l&&l.dataToPoint)i=l.dataToPoint(o.getValues(f(l.dimensions,function(t){return o.mapDimension(t)}),a,!0))||[];else if(s){var u=s.getBoundingRect().clone();u.applyTransform(s.transform),i=[u.x+u.width/2,u.y+u.height/2]}return{point:i,el:s}},xb=d,_b=v,wb=Dn(),bb=(os({type:"axisPointer",coordSysAxesInfo:null,defaultOption:{show:"auto",triggerOn:null,zlevel:0,z:50,type:"line",snap:!1,triggerTooltip:!0,value:null,status:null,link:[],animation:null,animationDurationUpdate:200,lineStyle:{color:"#aaa",width:1,type:"solid"},shadowStyle:{color:"rgba(150,150,150,0.3)"},label:{show:!0,formatter:null,precision:"auto",margin:3,color:"#fff",padding:[5,7,5,7],backgroundColor:"auto",borderColor:null,borderWidth:0,shadowBlur:3,shadowColor:"#aaa"},handle:{show:!1,icon:"M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4h1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7v-1.2h6.6z M13.3,22H6.7v-1.2h6.6z M13.3,19.6H6.7v-1.2h6.6z",size:45,margin:50,color:"#333",shadowBlur:3,shadowColor:"#aaa",shadowOffsetX:0,shadowOffsetY:2,throttle:40}}}),Dn()),Mb=d,Sb=as({type:"axisPointer",render:function(t,e,n){var i=e.getComponent("tooltip"),r=t.get("triggerOn")||i&&i.get("triggerOn")||"mousemove|click";yh("axisPointer",n,function(t,e,n){"none"!==r&&("leave"===t||r.indexOf(t)>=0)&&n({type:"updateAxisPointer",currTrigger:t,x:e&&e.offsetX,y:e&&e.offsetY})})},remove:function(t,e){Sh(e.getZr(),"axisPointer"),Sb.superApply(this._model,"remove",arguments)},dispose:function(t,e){Sh("axisPointer",e),Sb.superApply(this._model,"dispose",arguments)}}),Ib=Dn(),Cb=n,Tb=m;(Ih.prototype={_group:null,_lastGraphicKey:null,_handle:null,_dragging:!1,_lastValue:null,_lastStatus:null,_payloadInfo:null,animationThreshold:15,render:function(t,e,n,i){var r=e.get("value"),o=e.get("status");if(this._axisModel=t,this._axisPointerModel=e,this._api=n,i||this._lastValue!==r||this._lastStatus!==o){this._lastValue=r,this._lastStatus=o;var a=this._group,s=this._handle;if(!o||"hide"===o)return a&&a.hide(),void(s&&s.hide());a&&a.show(),s&&s.show();var l={};this.makeElOption(l,r,t,e,n);var u=l.graphicKey;u!==this._lastGraphicKey&&this.clear(n),this._lastGraphicKey=u;var h=this._moveAnimation=this.determineAnimation(t,e);if(a){var c=v(Ch,e,h);this.updatePointerEl(a,l,c,e),this.updateLabelEl(a,l,c,e)}else a=this._group=new Sg,this.createPointerEl(a,l,t,e),this.createLabelEl(a,l,t,e),n.getZr().add(a);kh(a,e,!0),this._renderHandle(r)}},remove:function(t){this.clear(t)},dispose:function(t){this.clear(t)},determineAnimation:function(t,e){var n=e.get("animation"),i=t.axis,r="category"===i.type,o=e.get("snap");if(!o&&!r)return!1;if("auto"===n||null==n){var a=this.animationThreshold;if(r&&i.getBandWidth()>a)return!0;if(o){var s=zu(t).seriesDataCount,l=i.getExtent();return Math.abs(l[0]-l[1])/s>a}return!1}return!0===n},makeElOption:function(t,e,n,i,r){},createPointerEl:function(t,e,n,i){var r=e.pointer;if(r){var o=Ib(t).pointerEl=new ty[r.type](Cb(e.pointer));t.add(o)}},createLabelEl:function(t,e,n,i){if(e.label){var r=Ib(t).labelEl=new Fv(Cb(e.label));t.add(r),Dh(r,i)}},updatePointerEl:function(t,e,n){var i=Ib(t).pointerEl;i&&(i.setStyle(e.pointer.style),n(i,{shape:e.pointer.shape}))},updateLabelEl:function(t,e,n,i){var r=Ib(t).labelEl;r&&(r.setStyle(e.label.style),n(r,{shape:e.label.shape,position:e.label.position}),Dh(r,i))},_renderHandle:function(t){if(!this._dragging&&this.updateHandleTransform){var e=this._axisPointerModel,n=this._api.getZr(),i=this._handle,r=e.getModel("handle"),o=e.get("status");if(!r.get("show")||!o||"hide"===o)return i&&n.remove(i),void(this._handle=null);var a;this._handle||(a=!0,i=this._handle=fr(r.get("icon"),{cursor:"move",draggable:!0,onmousemove:function(t){tm(t.event)},onmousedown:Tb(this._onHandleDragMove,this,0,0),drift:Tb(this._onHandleDragMove,this),ondragend:Tb(this._onHandleDragEnd,this)}),n.add(i)),kh(i,e,!1);var s=["color","borderColor","borderWidth","opacity","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY"];i.setStyle(r.getItemStyle(null,s));var l=r.get("size");y(l)||(l=[l,l]),i.attr("scale",[l[0]/2,l[1]/2]),ha(this,"_doDispatchAxisPointer",r.get("throttle")||0,"fixRate"),this._moveHandleToValue(t,a)}},_moveHandleToValue:function(t,e){Ch(this._axisPointerModel,!e&&this._moveAnimation,this._handle,Ah(this.getHandleTransform(t,this._axisModel,this._axisPointerModel)))},_onHandleDragMove:function(t,e){var n=this._handle;if(n){this._dragging=!0;var i=this.updateHandleTransform(Ah(n),[t,e],this._axisModel,this._axisPointerModel);this._payloadInfo=i,n.stopAnimation(),n.attr(Ah(i)),Ib(n).lastProp=null,this._doDispatchAxisPointer()}},_doDispatchAxisPointer:function(){if(this._handle){var t=this._payloadInfo,e=this._axisModel;this._api.dispatchAction({type:"updateAxisPointer",x:t.cursorPoint[0],y:t.cursorPoint[1],tooltipOption:t.tooltipOption,axesInfo:[{axisDim:e.axis.dim,axisIndex:e.componentIndex}]})}},_onHandleDragEnd:function(t){if(this._dragging=!1,this._handle){var e=this._axisPointerModel.get("value");this._moveHandleToValue(e),this._api.dispatchAction({type:"hideTip"})}},getHandleTransform:null,updateHandleTransform:null,clear:function(t){this._lastValue=null,this._lastStatus=null;var e=t.getZr(),n=this._group,i=this._handle;e&&n&&(this._lastGraphicKey=null,n&&e.remove(n),i&&e.remove(i),this._group=null,this._handle=null,this._payloadInfo=null)},doClear:function(){},buildLabel:function(t,e,n){return n=n||0,{x:t[n],y:t[1-n],width:e[n],height:e[1-n]}}}).constructor=Ih,En(Ih);var Db=Ih.extend({makeElOption:function(t,e,n,i,r){var o=n.axis,a=o.grid,s=i.get("type"),l=Vh(a,o).getOtherAxis(o).getGlobalExtent(),u=o.toGlobalCoord(o.dataToCoord(e,!0));if(s&&"none"!==s){var h=Ph(i),c=Ab[s](o,u,l,h);c.style=h,t.graphicKey=c.type,t.pointer=c}Nh(e,t,Fu(a.model,n),n,i,r)},getHandleTransform:function(t,e,n){var i=Fu(e.axis.grid.model,e,{labelInside:!1});return i.labelMargin=n.get("handle.margin"),{position:Eh(e.axis,t,i),rotation:i.rotation+(i.labelDirection<0?Math.PI:0)}},updateHandleTransform:function(t,e,n,i){var r=n.axis,o=r.grid,a=r.getGlobalExtent(!0),s=Vh(o,r).getOtherAxis(r).getGlobalExtent(),l="x"===r.dim?0:1,u=t.position;u[l]+=e[l],u[l]=Math.min(a[1],u[l]),u[l]=Math.max(a[0],u[l]);var h=(s[1]+s[0])/2,c=[h,h];c[l]=u[l];var d=[{verticalAlign:"middle"},{align:"center"}];return{position:u,rotation:t.rotation,cursorPoint:c,tooltipOption:d[l]}}}),Ab={line:function(t,e,n,i){var r=Rh([e,n[0]],[e,n[1]],Fh(t));return zi({shape:r,style:i}),{type:"Line",shape:r}},shadow:function(t,e,n,i){var r=Math.max(1,t.getBandWidth()),o=n[1]-n[0];return{type:"Rect",shape:Bh([e-r/2,n[0]],[r,o],Fh(t))}}};Kw.registerAxisPointerClass("CartesianAxisPointer",Db),Qa(function(t){if(t){(!t.axisPointer||0===t.axisPointer.length)&&(t.axisPointer={});var e=t.axisPointer.link;e&&!y(e)&&(t.axisPointer.link=[e])}}),Ja(Xx.PROCESSOR.STATISTIC,function(t,e){t.getComponent("axisPointer").coordSysAxesInfo=Tu(t,e)}),ts({type:"updateAxisPointer",event:"updateAxisPointer",update:":updateAxisPointer"},function(t,e,n){var i=t.currTrigger,r=[t.x,t.y],o=t,a=t.dispatchAction||m(n.dispatchAction,n),s=e.getComponent("axisPointer").coordSysAxesInfo;if(s){vh(r)&&(r=yb({seriesIndex:o.seriesIndex,dataIndex:o.dataIndex},e).point);var l=vh(r),u=o.axesInfo,h=s.axesInfo,c="leave"===i||vh(r),d={},f={},p={list:[],map:{}},g={showPointer:_b(hh,f),showTooltip:_b(ch,p)};xb(s.coordSysMap,function(t,e){var n=l||t.containPoint(r);xb(s.coordSysAxesInfo[e],function(t,e){var i=t.axis,o=gh(u,t);if(!c&&n&&(!u||o)){var a=o&&o.value;null!=a||l||(a=i.pointToData(r)),null!=a&&lh(t,a,g,!1,d)}})});var v={};return xb(h,function(t,e){var n=t.linkGroup;n&&!f[e]&&xb(n.axesInfo,function(e,i){var r=f[i];if(e!==t&&r){var o=r.value;n.mapper&&(o=t.axis.scale.parse(n.mapper(o,mh(e),mh(t)))),v[t.key]=o}})}),xb(v,function(t,e){lh(h[e],t,g,!0,d)}),dh(f,h,d),fh(p,r,t,a),ph(h,0,n),d}}),os({type:"tooltip",dependencies:["axisPointer"],defaultOption:{zlevel:0,z:8,show:!0,showContent:!0,trigger:"item",triggerOn:"mousemove|click",alwaysShowContent:!1,displayMode:"single",confine:!1,showDelay:0,hideDelay:100,transitionDuration:.4,enterable:!1,backgroundColor:"rgba(50,50,50,0.7)",borderColor:"#333",borderRadius:4,borderWidth:0,padding:5,extraCssText:"",axisPointer:{type:"line",axis:"auto",animation:"auto",animationDurationUpdate:200,animationEasingUpdate:"exponentialOut",crossStyle:{color:"#999",width:1,type:"dashed",textStyle:{}}},textStyle:{color:"#fff",fontSize:14}}});var kb=d,Pb=zr,Lb=["","-webkit-","-moz-","-o-"];Zh.prototype={constructor:Zh,_enterable:!0,update:function(){var t=this._container,e=t.currentStyle||document.defaultView.getComputedStyle(t),n=t.style;"absolute"!==n.position&&"absolute"!==e.position&&(n.position="relative")},show:function(t){clearTimeout(this._hideTimeout);var e=this.el;e.style.cssText="position:absolute;display:block;border-style:solid;white-space:nowrap;z-index:9999999;"+Wh(t)+";left:"+this._x+"px;top:"+this._y+"px;"+(t.get("extraCssText")||""),e.style.display=e.innerHTML?"block":"none",this._show=!0},setContent:function(t){this.el.innerHTML=null==t?"":t},setEnterable:function(t){this._enterable=t},getSize:function(){var t=this.el;return[t.clientWidth,t.clientHeight]},moveTo:function(t,e){var n,i=this._zr;i&&i.painter&&(n=i.painter.getViewportRootOffset())&&(t+=n.offsetLeft,e+=n.offsetTop);var r=this.el.style;r.left=t+"px",r.top=e+"px",this._x=t,this._y=e},hide:function(){this.el.style.display="none",this._show=!1},hideLater:function(t){!this._show||this._inContent&&this._enterable||(t?(this._hideDelay=t,this._show=!1,this._hideTimeout=setTimeout(m(this.hide,this),t)):this.hide())},isShow:function(){return this._show}};var Ob=m,zb=d,Eb=_r,Nb=new Fv({shape:{x:-1,y:-1,width:2,height:2}});as({type:"tooltip",init:function(t,e){if(!bp.node){var n=new Zh(e.getDom(),e);this._tooltipContent=n}},render:function(t,e,n){if(!bp.node&&!bp.wxa){this.group.removeAll(),this._tooltipModel=t,this._ecModel=e,this._api=n,this._lastDataByCoordSys=null,this._alwaysShowContent=t.get("alwaysShowContent");var i=this._tooltipContent;i.update(),i.setEnterable(t.get("enterable")),this._initGlobalListener(),this._keepShow()}},_initGlobalListener:function(){var t=this._tooltipModel.get("triggerOn");yh("itemTooltip",this._api,Ob(function(e,n,i){"none"!==t&&(t.indexOf(e)>=0?this._tryShow(n,i):"leave"===e&&this._hide(i))},this))},_keepShow:function(){var t=this._tooltipModel,e=this._ecModel,n=this._api;if(null!=this._lastX&&null!=this._lastY&&"none"!==t.get("triggerOn")){var i=this;clearTimeout(this._refreshUpdateTimeout),this._refreshUpdateTimeout=setTimeout(function(){i.manuallyShowTip(t,e,n,{x:i._lastX,y:i._lastY})})}},manuallyShowTip:function(t,e,n,i){if(i.from!==this.uid&&!bp.node){var r=Xh(i,n);this._ticket="";var o=i.dataByCoordSys;if(i.tooltip&&null!=i.x&&null!=i.y){var a=Nb;a.position=[i.x,i.y],a.update(),a.tooltip=i.tooltip,this._tryShow({offsetX:i.x,offsetY:i.y,target:a},r)}else if(o)this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,event:{},dataByCoordSys:i.dataByCoordSys,tooltipOption:i.tooltipOption},r);else if(null!=i.seriesIndex){if(this._manuallyAxisShowTip(t,e,n,i))return;var s=yb(i,e),l=s.point[0],u=s.point[1];null!=l&&null!=u&&this._tryShow({offsetX:l,offsetY:u,position:i.position,target:s.el,event:{}},r)}else null!=i.x&&null!=i.y&&(n.dispatchAction({type:"updateAxisPointer",x:i.x,y:i.y}),this._tryShow({offsetX:i.x,offsetY:i.y,position:i.position,target:n.getZr().findHover(i.x,i.y).target,event:{}},r))}},manuallyHideTip:function(t,e,n,i){var r=this._tooltipContent;!this._alwaysShowContent&&this._tooltipModel&&r.hideLater(this._tooltipModel.get("hideDelay")),this._lastX=this._lastY=null,i.from!==this.uid&&this._hide(Xh(i,n))},_manuallyAxisShowTip:function(t,e,n,i){var r=i.seriesIndex,o=i.dataIndex,a=e.getComponent("axisPointer").coordSysAxesInfo;if(null!=r&&null!=o&&null!=a){var s=e.getSeriesByIndex(r);if(s&&"axis"===(t=Uh([s.getData().getItemModel(o),s,(s.coordinateSystem||{}).model,t])).get("trigger"))return n.dispatchAction({type:"updateAxisPointer",seriesIndex:r,dataIndex:o,position:i.position}),!0}},_tryShow:function(t,e){var n=t.target;if(this._tooltipModel){this._lastX=t.offsetX,this._lastY=t.offsetY;var i=t.dataByCoordSys;i&&i.length?this._showAxisTooltip(i,t):n&&null!=n.dataIndex?(this._lastDataByCoordSys=null,this._showSeriesItemTooltip(t,n,e)):n&&n.tooltip?(this._lastDataByCoordSys=null,this._showComponentItemTooltip(t,n,e)):(this._lastDataByCoordSys=null,this._hide(e))}},_showOrMove:function(t,e){var n=t.get("showDelay");e=m(e,this),clearTimeout(this._showTimout),n>0?this._showTimout=setTimeout(e,n):e()},_showAxisTooltip:function(t,e){var n=this._ecModel,i=this._tooltipModel,r=[e.offsetX,e.offsetY],o=[],a=[],s=Uh([e.tooltipOption,i]);zb(t,function(t){zb(t.dataByAxis,function(t){var e=n.getComponent(t.axisDim+"Axis",t.axisIndex),i=t.value,r=[];if(e&&null!=i){var s=zh(i,e.axis,n,t.seriesDataIndices,t.valueLabelOpt);d(t.seriesDataIndices,function(o){var l=n.getSeriesByIndex(o.seriesIndex),u=o.dataIndexInside,h=l&&l.getDataParams(u);h.axisDim=t.axisDim,h.axisIndex=t.axisIndex,h.axisType=t.axisType,h.axisId=t.axisId,h.axisValue=sl(e.axis,i),h.axisValueLabel=s,h&&(a.push(h),r.push(l.formatTooltip(u,!0)))});var l=s;o.push((l?Er(l)+"
":"")+r.join("
"))}})},this),o.reverse(),o=o.join("

");var l=e.position;this._showOrMove(s,function(){this._updateContentNotChangedOnAxis(t)?this._updatePosition(s,l,r[0],r[1],this._tooltipContent,a):this._showTooltipContent(s,o,a,Math.random(),r[0],r[1],l)})},_showSeriesItemTooltip:function(t,e,n){var i=this._ecModel,r=e.seriesIndex,o=i.getSeriesByIndex(r),a=e.dataModel||o,s=e.dataIndex,l=e.dataType,u=a.getData(),h=Uh([u.getItemModel(s),a,o&&(o.coordinateSystem||{}).model,this._tooltipModel]),c=h.get("trigger");if(null==c||"item"===c){var d=a.getDataParams(s,l),f=a.formatTooltip(s,!1,l),p="item_"+a.name+"_"+s;this._showOrMove(h,function(){this._showTooltipContent(h,f,d,p,t.offsetX,t.offsetY,t.position,t.target)}),n({type:"showTip",dataIndexInside:s,dataIndex:u.getRawIndex(s),seriesIndex:r,from:this.uid})}},_showComponentItemTooltip:function(t,e,n){var i=e.tooltip;if("string"==typeof i){var r=i;i={content:r,formatter:r}}var o=new pr(i,this._tooltipModel,this._ecModel),a=o.get("content"),s=Math.random();this._showOrMove(o,function(){this._showTooltipContent(o,a,o.get("formatterParams")||{},s,t.offsetX,t.offsetY,t.position,e)}),n({type:"showTip",from:this.uid})},_showTooltipContent:function(t,e,n,i,r,o,a,s){if(this._ticket="",t.get("showContent")&&t.get("show")){var l=this._tooltipContent,u=t.get("formatter");a=a||t.get("position");var h=e;if(u&&"string"==typeof u)h=Nr(u,n,!0);else if("function"==typeof u){var c=Ob(function(e,i){e===this._ticket&&(l.setContent(i),this._updatePosition(t,a,r,o,l,n,s))},this);this._ticket=i,h=u(n,i,c)}l.setContent(h),l.show(t),this._updatePosition(t,a,r,o,l,n,s)}},_updatePosition:function(t,e,n,i,r,o,a){var s=this._api.getWidth(),l=this._api.getHeight();e=e||t.get("position");var u=r.getSize(),h=t.get("align"),c=t.get("verticalAlign"),d=a&&a.getBoundingRect().clone();if(a&&d.applyTransform(a.transform),"function"==typeof e&&(e=e([n,i],o,r.el,d,{viewSize:[s,l],contentSize:u.slice()})),y(e))n=Eb(e[0],s),i=Eb(e[1],l);else if(w(e)){e.width=u[0],e.height=u[1];var f=Gr(e,{width:s,height:l});n=f.x,i=f.y,h=null,c=null}else"string"==typeof e&&a?(n=(p=$h(e,d,u))[0],i=p[1]):(n=(p=jh(n,i,r.el,s,l,h?null:20,c?null:20))[0],i=p[1]);if(h&&(n-=Kh(h)?u[0]/2:"right"===h?u[0]:0),c&&(i-=Kh(c)?u[1]/2:"bottom"===c?u[1]:0),t.get("confine")){var p=Yh(n,i,r.el,s,l);n=p[0],i=p[1]}r.moveTo(n,i)},_updateContentNotChangedOnAxis:function(t){var e=this._lastDataByCoordSys,n=!!e&&e.length===t.length;return n&&zb(e,function(e,i){var r=e.dataByAxis||{},o=(t[i]||{}).dataByAxis||[];(n&=r.length===o.length)&&zb(r,function(t,e){var i=o[e]||{},r=t.seriesDataIndices||[],a=i.seriesDataIndices||[];(n&=t.value===i.value&&t.axisType===i.axisType&&t.axisId===i.axisId&&r.length===a.length)&&zb(r,function(t,e){var i=a[e];n&=t.seriesIndex===i.seriesIndex&&t.dataIndex===i.dataIndex})})}),this._lastDataByCoordSys=t,!!n},_hide:function(t){this._lastDataByCoordSys=null,t({type:"hideTip",from:this.uid})},dispose:function(t,e){bp.node||bp.wxa||(this._tooltipContent.hide(),Sh("itemTooltip",e))}}),ts({type:"showTip",event:"showTip",update:"tooltip:manuallyShowTip"},function(){}),ts({type:"hideTip",event:"hideTip",update:"tooltip:manuallyHideTip"},function(){});var Rb=os({type:"legend.plain",dependencies:["series"],layoutMode:{type:"box",ignoreSize:!0},init:function(t,e,n){this.mergeDefaultAndTheme(t,n),t.selected=t.selected||{}},mergeOption:function(t){Rb.superCall(this,"mergeOption",t)},optionUpdated:function(){this._updateData(this.ecModel);var t=this._data;if(t[0]&&"single"===this.get("selectedMode")){for(var e=!1,n=0;n=0},defaultOption:{zlevel:0,z:4,show:!0,orient:"horizontal",left:"center",top:0,align:"auto",backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemGap:10,itemWidth:25,itemHeight:14,inactiveColor:"#ccc",textStyle:{color:"#333"},selectedMode:!0,tooltip:{show:!1}}});ts("legendToggleSelect","legendselectchanged",v(Qh,"toggleSelected")),ts("legendSelect","legendselected",v(Qh,"select")),ts("legendUnSelect","legendunselected",v(Qh,"unSelect"));var Bb=v,Vb=d,Fb=Sg,Hb=as({type:"legend.plain",newlineDisabled:!1,init:function(){this.group.add(this._contentGroup=new Fb),this._backgroundEl},getContentGroup:function(){return this._contentGroup},render:function(t,e,n){if(this.resetInner(),t.get("show",!0)){var i=t.get("align");i&&"auto"!==i||(i="right"===t.get("left")&&"vertical"===t.get("orient")?"right":"left"),this.renderInner(i,t,e,n);var r=t.getBoxLayoutParams(),o={width:n.getWidth(),height:n.getHeight()},s=t.get("padding"),l=Gr(r,o,s),u=this.layoutInner(t,i,l),h=Gr(a({width:u.width,height:u.height},r),o,s);this.group.attr("position",[h.x-u.x,h.y-u.y]),this.group.add(this._backgroundEl=tc(u,t))}},resetInner:function(){this.getContentGroup().removeAll(),this._backgroundEl&&this.group.remove(this._backgroundEl)},renderInner:function(t,e,n,i){var r=this.getContentGroup(),o=N(),a=e.get("selectedMode"),s=[];n.eachRawSeries(function(t){!t.get("legendHoverLink")&&s.push(t.id)}),Vb(e.getData(),function(l,u){var h=l.get("name");if(this.newlineDisabled||""!==h&&"\n"!==h){var c=n.getSeriesByName(h)[0];if(!o.get(h))if(c){var d=c.getData(),f=d.getVisual("color");"function"==typeof f&&(f=f(c.getDataParams(0)));var p=d.getVisual("legendSymbol")||"roundRect",g=d.getVisual("symbol");this._createItem(h,u,l,e,p,g,t,f,a).on("click",Bb(ec,h,i)).on("mouseover",Bb(nc,c,null,i,s)).on("mouseout",Bb(ic,c,null,i,s)),o.set(h,!0)}else n.eachRawSeries(function(n){if(!o.get(h)&&n.legendDataProvider){var r=n.legendDataProvider(),c=r.indexOfName(h);if(c<0)return;var d=r.getItemVisual(c,"color");this._createItem(h,u,l,e,"roundRect",null,t,d,a).on("click",Bb(ec,h,i)).on("mouseover",Bb(nc,n,h,i,s)).on("mouseout",Bb(ic,n,h,i,s)),o.set(h,!0)}},this)}else r.add(new Fb({newline:!0}))},this)},_createItem:function(t,e,n,i,r,a,s,l,u){var h=i.get("itemWidth"),c=i.get("itemHeight"),d=i.get("inactiveColor"),f=i.get("symbolKeepAspect"),p=i.isSelected(t),g=new Fb,m=n.getModel("textStyle"),v=n.get("icon"),y=n.getModel("tooltip"),x=y.parentModel;if(r=v||r,g.add(cl(r,0,0,h,c,p?l:d,null==f||f)),!v&&a&&(a!==r||"none"==a)){var _=.8*c;"none"===a&&(a="circle"),g.add(cl(a,(h-_)/2,(c-_)/2,_,_,p?l:d,null==f||f))}var w="left"===s?h+5:-5,b=s,M=i.get("formatter"),S=t;"string"==typeof M&&M?S=M.replace("{name}",null!=t?t:""):"function"==typeof M&&(S=M(t)),g.add(new kv({style:Ki({},m,{text:S,x:w,y:c/2,textFill:p?m.getTextColor():d,textAlign:b,textVerticalAlign:"middle"})}));var I=new Fv({shape:g.getBoundingRect(),invisible:!0,tooltip:y.get("show")?o({content:t,formatter:x.get("formatter",!0)||function(){return t},formatterParams:{componentType:"legend",legendIndex:i.componentIndex,name:t,$vars:["name"]}},y.option):null});return g.add(I),g.eachChild(function(t){t.silent=!0}),I.silent=!u,this.getContentGroup().add(g),qi(g),g.__legendDataIndex=e,g},layoutInner:function(t,e,n){var i=this.getContentGroup();by(t.get("orient"),i,t.get("itemGap"),n.width,n.height);var r=i.getBoundingRect();return i.attr("position",[-r.x,-r.y]),this.group.getBoundingRect()}});Ja(function(t){var e=t.findComponents({mainType:"legend"});e&&e.length&&t.filterSeries(function(t){for(var n=0;nn[s],f=[-h.x,-h.y];f[a]=i.position[a];var p=[0,0],g=[-c.x,-c.y],m=T(t.get("pageButtonGap",!0),t.get("itemGap",!0));d&&("end"===t.get("pageButtonPosition",!0)?g[a]+=n[s]-c[s]:p[a]+=c[s]+m),g[1-a]+=h[l]/2-c[l]/2,i.attr("position",f),r.attr("position",p),o.attr("position",g);var v=this.group.getBoundingRect();if((v={x:0,y:0})[s]=d?n[s]:h[s],v[l]=Math.max(h[l],c[l]),v[u]=Math.min(0,c[u]+g[1-a]),r.__rectSize=n[s],d){var y={x:0,y:0};y[s]=Math.max(n[s]-c[s]-m,0),y[l]=v[l],r.setClipPath(new Fv({shape:y})),r.__rectSize=y[s]}else o.eachChild(function(t){t.attr({invisible:!0,silent:!0})});var x=this._getPageInfo(t);return null!=x.pageIndex&&ar(i,{position:x.contentPosition},!!d&&t),this._updatePageInfoView(t,x),v},_pageGo:function(t,e,n){var i=this._getPageInfo(e)[t];null!=i&&n.dispatchAction({type:"legendScroll",scrollDataIndex:i,legendId:e.id})},_updatePageInfoView:function(t,e){var n=this._controllerGroup;d(["pagePrev","pageNext"],function(i){var r=null!=e[i+"DataIndex"],o=n.childOfName(i);o&&(o.setStyle("fill",r?t.get("pageIconColor",!0):t.get("pageIconInactiveColor",!0)),o.cursor=r?"pointer":"default")});var i=n.childOfName("pageText"),r=t.get("pageFormatter"),o=e.pageIndex,a=null!=o?o+1:0,s=e.pageCount;i&&r&&i.setStyle("text",_(r)?r.replace("{current}",a).replace("{total}",s):r({current:a,total:s}))},_getPageInfo:function(t){function e(t){var e=t.getBoundingRect().clone();return e[f]+=t.position[h],e}var n,i,r,o,a=t.get("scrollDataIndex",!0),s=this.getContentGroup(),l=s.getBoundingRect(),u=this._containerGroup.__rectSize,h=t.getOrient().index,c=Zb[h],d=Zb[1-h],f=Ub[h],p=s.position.slice();this._showController?s.eachChild(function(t){t.__legendDataIndex===a&&(o=t)}):o=s.childAt(0);var g=u?Math.ceil(l[c]/u):0;if(o){var m=o.getBoundingRect(),v=o.position[h]+m[f];p[h]=-v-l[f],n=Math.floor(g*(v+m[f]+u/2)/l[c]),n=l[c]&&g?Math.max(0,Math.min(g-1,n)):-1;var y={x:0,y:0};y[c]=u,y[d]=l[d],y[f]=-p[h]-l[f];var x,_=s.children();if(s.eachChild(function(t,n){var i=e(t);i.intersect(y)&&(null==x&&(x=n),r=t.__legendDataIndex),n===_.length-1&&i[f]+i[c]<=y[f]+y[c]&&(r=null)}),null!=x){var w=e(_[x]);if(y[f]=w[f]+w[c]-y[c],x<=0&&w[f]>=y[f])i=null;else{for(;x>0&&e(_[x-1]).intersect(y);)x--;i=_[x].__legendDataIndex}}}return{contentPosition:p,pageIndex:n,pageCount:g,pagePrevDataIndex:i,pageNextDataIndex:r}}});ts("legendScroll","legendscroll",function(t,e){var n=t.scrollDataIndex;null!=n&&e.eachComponent({mainType:"legend",subType:"scroll",query:t},function(t){t.setScrollDataIndex(n)})}),os({type:"title",layoutMode:{type:"box",ignoreSize:!0},defaultOption:{zlevel:0,z:6,show:!0,text:"",target:"blank",subtext:"",subtarget:"blank",left:0,top:0,backgroundColor:"rgba(0,0,0,0)",borderColor:"#ccc",borderWidth:0,padding:5,itemGap:10,textStyle:{fontSize:18,fontWeight:"bolder",color:"#333"},subtextStyle:{color:"#aaa"}}}),as({type:"title",render:function(t,e,n){if(this.group.removeAll(),t.get("show")){var i=this.group,r=t.getModel("textStyle"),o=t.getModel("subtextStyle"),a=t.get("textAlign"),s=t.get("textBaseline"),l=new kv({style:Ki({},r,{text:t.get("text"),textFill:r.getTextColor()},{disableBox:!0}),z2:10}),u=l.getBoundingRect(),h=t.get("subtext"),c=new kv({style:Ki({},o,{text:h,textFill:o.getTextColor(),y:u.height+t.get("itemGap"),textVerticalAlign:"top"},{disableBox:!0}),z2:10}),d=t.get("link"),f=t.get("sublink");l.silent=!d,c.silent=!f,d&&l.on("click",function(){window.open(d,"_"+t.get("target"))}),f&&c.on("click",function(){window.open(f,"_"+t.get("subtarget"))}),i.add(l),h&&i.add(c);var p=i.getBoundingRect(),g=t.getBoxLayoutParams();g.width=p.width,g.height=p.height;var m=Gr(g,{width:n.getWidth(),height:n.getHeight()},t.get("padding"));a||("middle"===(a=t.get("left")||t.get("right"))&&(a="center"),"right"===a?m.x+=m.width:"center"===a&&(m.x+=m.width/2)),s||("center"===(s=t.get("top")||t.get("bottom"))&&(s="middle"),"bottom"===s?m.y+=m.height:"middle"===s&&(m.y+=m.height/2),s=s||"top"),i.attr("position",[m.x,m.y]);var v={textAlign:a,textVerticalAlign:s};l.setStyle(v),c.setStyle(v),p=i.getBoundingRect();var y=m.margin,x=t.getItemStyle(["color","opacity"]);x.fill=t.get("backgroundColor");var _=new Fv({shape:{x:p.x-y[3],y:p.y-y[0],width:p.width+y[1]+y[3],height:p.height+y[0]+y[2],r:t.get("borderRadius")},style:x,silent:!0});Ei(_),i.add(_)}}});var jb=Or,Yb=Er,qb=os({type:"marker",dependencies:["series","grid","polar","geo"],init:function(t,e,n,i){this.mergeDefaultAndTheme(t,n),this.mergeOption(t,n,i.createdBySelf,!0)},isAnimationEnabled:function(){if(bp.node)return!1;var t=this.__hostSeries;return this.getShallow("animation")&&t&&t.isAnimationEnabled()},mergeOption:function(t,e,n,i){var r=this.constructor,a=this.mainType+"Model";n||e.eachSeries(function(t){var n=t.get(this.mainType,!0),s=t[a];n&&n.data?(s?s.mergeOption(n,e,!0):(i&&oc(n),d(n.data,function(t){t instanceof Array?(oc(t[0]),oc(t[1])):oc(t)}),o(s=new r(n,this,e),{mainType:this.mainType,seriesIndex:t.seriesIndex,name:t.name,createdBySelf:!0}),s.__hostSeries=t),t[a]=s):t[a]=null},this)},formatTooltip:function(t){var e=this.getData(),n=this.getRawValue(t),i=y(n)?f(n,jb).join(", "):jb(n),r=e.getName(t),o=Yb(this.name);return(null!=n||r)&&(o+="
"),r&&(o+=Yb(r),null!=n&&(o+=" : ")),null!=n&&(o+=Yb(i)),o},getData:function(){return this._data},setData:function(t){this._data=t}});h(qb,sx),qb.extend({type:"markPoint",defaultOption:{zlevel:0,z:5,symbol:"pin",symbolSize:50,tooltip:{trigger:"item"},label:{show:!0,position:"inside"},itemStyle:{borderWidth:2},emphasis:{label:{show:!0}}}});var $b=l,Kb=v,Qb={min:Kb(lc,"min"),max:Kb(lc,"max"),average:Kb(lc,"average")},Jb=as({type:"marker",init:function(){this.markerGroupMap=N()},render:function(t,e,n){var i=this.markerGroupMap;i.each(function(t){t.__keep=!1});var r=this.type+"Model";e.eachSeries(function(t){var i=t[r];i&&this.renderSeries(t,i,e,n)},this),i.each(function(t){!t.__keep&&this.group.remove(t.group)},this)},renderSeries:function(){}});Jb.extend({type:"markPoint",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markPointModel;e&&(gc(e.getData(),t,n),this.markerGroupMap.get(t.id).updateLayout(e))},this)},renderSeries:function(t,e,n,i){var r=t.coordinateSystem,o=t.id,a=t.getData(),s=this.markerGroupMap,l=s.get(o)||s.set(o,new Bl),u=mc(r,t,e);e.setData(u),gc(e.getData(),t,i),u.each(function(t){var n=u.getItemModel(t),i=n.getShallow("symbolSize");"function"==typeof i&&(i=i(e.getRawValue(t),e.getDataParams(t))),u.setItemVisual(t,{symbolSize:i,color:n.get("itemStyle.color")||a.getVisual("color"),symbol:n.getShallow("symbol")})}),l.updateData(u),this.group.add(l.group),u.eachItemGraphicEl(function(t){t.traverse(function(t){t.dataModel=e})}),l.__keep=!0,l.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markPoint=t.markPoint||{}}),qb.extend({type:"markLine",defaultOption:{zlevel:0,z:5,symbol:["circle","arrow"],symbolSize:[8,16],precision:2,tooltip:{trigger:"item"},label:{show:!0,position:"end"},lineStyle:{type:"dashed"},emphasis:{label:{show:!0},lineStyle:{width:3}},animationEasing:"linear"}});var tM=Hv.prototype,eM=Wv.prototype,nM=Ai({type:"ec-line",style:{stroke:"#000",fill:null},shape:{x1:0,y1:0,x2:0,y2:0,percent:1,cpx1:null,cpy1:null},buildPath:function(t,e){(vc(e)?tM:eM).buildPath(t,e)},pointAt:function(t){return vc(this.shape)?tM.pointAt.call(this,t):eM.pointAt.call(this,t)},tangentAt:function(t){var e=this.shape,n=vc(e)?[e.x2-e.x1,e.y2-e.y1]:eM.tangentAt.call(this,t);return j(n,n)}}),iM=["fromSymbol","toSymbol"],rM=bc.prototype;rM.beforeUpdate=function(){var t=this,e=t.childOfName("fromSymbol"),n=t.childOfName("toSymbol"),i=t.childOfName("label");if(e||n||!i.ignore){for(var r=1,o=this.parent;o;)o.scale&&(r/=o.scale[0]),o=o.parent;var a=t.childOfName("line");if(this.__dirty||a.__dirty){var s=a.shape.percent,l=a.pointAt(0),u=a.pointAt(s),h=W([],u,l);if(j(h,h),e&&(e.attr("position",l),c=a.tangentAt(0),e.attr("rotation",Math.PI/2-Math.atan2(c[1],c[0])),e.attr("scale",[r*s,r*s])),n){n.attr("position",u);var c=a.tangentAt(1);n.attr("rotation",-Math.PI/2-Math.atan2(c[1],c[0])),n.attr("scale",[r*s,r*s])}if(!i.ignore){i.attr("position",u);var d,f,p,g=5*r;if("end"===i.__position)d=[h[0]*g+u[0],h[1]*g+u[1]],f=h[0]>.8?"left":h[0]<-.8?"right":"center",p=h[1]>.8?"top":h[1]<-.8?"bottom":"middle";else if("middle"===i.__position){var m=s/2,v=[(c=a.tangentAt(m))[1],-c[0]],y=a.pointAt(m);v[1]>0&&(v[0]=-v[0],v[1]=-v[1]),d=[y[0]+v[0]*g,y[1]+v[1]*g],f="center",p="bottom";var x=-Math.atan2(c[1],c[0]);u[0].8?"right":h[0]<-.8?"left":"center",p=h[1]>.8?"bottom":h[1]<-.8?"top":"middle";i.attr({style:{textVerticalAlign:i.__verticalAlign||p,textAlign:i.__textAlign||f},position:d,scale:[r,r]})}}}},rM._createLine=function(t,e,n){var i=t.hostModel,r=_c(t.getItemLayout(e));r.shape.percent=0,sr(r,{shape:{percent:1}},i,e),this.add(r);var o=new kv({name:"label"});this.add(o),d(iM,function(n){var i=xc(n,t,e);this.add(i),this[yc(n)]=t.getItemVisual(e,n)},this),this._updateCommonStl(t,e,n)},rM.updateData=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=t.getItemLayout(e),a={shape:{}};wc(a.shape,o),ar(r,a,i,e),d(iM,function(n){var i=t.getItemVisual(e,n),r=yc(n);if(this[r]!==i){this.remove(this.childOfName(n));var o=xc(n,t,e);this.add(o)}this[r]=i},this),this._updateCommonStl(t,e,n)},rM._updateCommonStl=function(t,e,n){var i=t.hostModel,r=this.childOfName("line"),o=n&&n.lineStyle,s=n&&n.hoverLineStyle,l=n&&n.labelModel,u=n&&n.hoverLabelModel;if(!n||t.hasItemOption){var h=t.getItemModel(e);o=h.getModel("lineStyle").getLineStyle(),s=h.getModel("emphasis.lineStyle").getLineStyle(),l=h.getModel("label"),u=h.getModel("emphasis.label")}var c=t.getItemVisual(e,"color"),f=D(t.getItemVisual(e,"opacity"),o.opacity,1);r.useStyle(a({strokeNoScale:!0,fill:"none",stroke:c,opacity:f},o)),r.hoverStyle=s,d(iM,function(t){var e=this.childOfName(t);e&&(e.setColor(c),e.setStyle({opacity:f}))},this);var p,g,m=l.getShallow("show"),v=u.getShallow("show"),y=this.childOfName("label");if((m||v)&&(p=c||"#000",null==(g=i.getFormattedLabel(e,"normal",t.dataType)))){var x=i.getRawValue(e);g=null==x?t.getName(e):isFinite(x)?wr(x):x}var _=m?g:null,w=v?T(i.getFormattedLabel(e,"emphasis",t.dataType),g):null,b=y.style;null==_&&null==w||(Ki(y.style,l,{text:_},{autoColor:p}),y.__textAlign=b.textAlign,y.__verticalAlign=b.textVerticalAlign,y.__position=l.get("position")||"middle"),y.hoverStyle=null!=w?{text:w,textFill:u.getTextColor(!0),fontStyle:u.getShallow("fontStyle"),fontWeight:u.getShallow("fontWeight"),fontSize:u.getShallow("fontSize"),fontFamily:u.getShallow("fontFamily")}:{text:null},y.ignore=!m&&!v,qi(this)},rM.highlight=function(){this.trigger("emphasis")},rM.downplay=function(){this.trigger("normal")},rM.updateLayout=function(t,e){this.setLinePoints(t.getItemLayout(e))},rM.setLinePoints=function(t){var e=this.childOfName("line");wc(e.shape,t),e.dirty()},u(bc,Sg);var oM=Mc.prototype;oM.isPersistent=function(){return!0},oM.updateData=function(t){var e=this,n=e.group,i=e._lineData;e._lineData=t,i||n.removeAll();var r=Cc(t);t.diff(i).add(function(n){Sc(e,t,n,r)}).update(function(n,o){Ic(e,i,t,o,n,r)}).remove(function(t){n.remove(i.getItemGraphicEl(t))}).execute()},oM.updateLayout=function(){var t=this._lineData;t&&t.eachItemGraphicEl(function(e,n){e.updateLayout(t,n)},this)},oM.incrementalPrepareUpdate=function(t){this._seriesScope=Cc(t),this._lineData=null,this.group.removeAll()},oM.incrementalUpdate=function(t,e){for(var n=t.start;n=0&&"number"==typeof h&&(h=+h.toFixed(Math.min(m,20))),p.coord[d]=g.coord[d]=h,a=[p,g,{type:l,valueIndex:a.valueIndex,value:h}]}return a=[uc(t,a[0]),uc(t,a[1]),o({},a[2])],a[2].type=a[2].type||"",i(a[2],a[0]),i(a[2],a[1]),a};Jb.extend({type:"markLine",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markLineModel;if(e){var i=e.getData(),r=e.__from,o=e.__to;r.each(function(e){Lc(r,e,!0,t,n),Lc(o,e,!1,t,n)}),i.each(function(t){i.setItemLayout(t,[r.getItemLayout(t),o.getItemLayout(t)])}),this.markerGroupMap.get(t.id).updateLayout()}},this)},renderSeries:function(t,e,n,i){function r(e,n,r){var o=e.getItemModel(n);Lc(e,n,r,t,i),e.setItemVisual(n,{symbolSize:o.get("symbolSize")||g[r?0:1],symbol:o.get("symbol",!0)||p[r?0:1],color:o.get("itemStyle.color")||s.getVisual("color")})}var o=t.coordinateSystem,a=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(a)||l.set(a,new Mc);this.group.add(u.group);var h=Oc(o,t,e),c=h.from,d=h.to,f=h.line;e.__from=c,e.__to=d,e.setData(f);var p=e.get("symbol"),g=e.get("symbolSize");y(p)||(p=[p,p]),"number"==typeof g&&(g=[g,g]),h.from.each(function(t){r(c,t,!0),r(d,t,!1)}),f.each(function(t){var e=f.getItemModel(t).get("lineStyle.color");f.setItemVisual(t,{color:e||c.getItemVisual(t,"color")}),f.setItemLayout(t,[c.getItemLayout(t),d.getItemLayout(t)]),f.setItemVisual(t,{fromSymbolSize:c.getItemVisual(t,"symbolSize"),fromSymbol:c.getItemVisual(t,"symbol"),toSymbolSize:d.getItemVisual(t,"symbolSize"),toSymbol:d.getItemVisual(t,"symbol")})}),u.updateData(f),h.line.eachItemGraphicEl(function(t,n){t.traverse(function(t){t.dataModel=e})}),u.__keep=!0,u.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markLine=t.markLine||{}}),qb.extend({type:"markArea",defaultOption:{zlevel:0,z:1,tooltip:{trigger:"item"},animation:!1,label:{show:!0,position:"top"},itemStyle:{borderWidth:0},emphasis:{label:{show:!0,position:"top"}}}});var sM=function(t,e,n,i){var o=uc(t,i[0]),a=uc(t,i[1]),s=C,l=o.coord,u=a.coord;l[0]=s(l[0],-1/0),l[1]=s(l[1],-1/0),u[0]=s(u[0],1/0),u[1]=s(u[1],1/0);var h=r([{},o,a]);return h.coord=[o.coord,a.coord],h.x0=o.x,h.y0=o.y,h.x1=a.x,h.y1=a.y,h},lM=[["x0","y0"],["x1","y0"],["x1","y1"],["x0","y1"]];Jb.extend({type:"markArea",updateTransform:function(t,e,n){e.eachSeries(function(t){var e=t.markAreaModel;if(e){var i=e.getData();i.each(function(e){var r=f(lM,function(r){return Rc(i,e,r,t,n)});i.setItemLayout(e,r),i.getItemGraphicEl(e).setShape("points",r)})}},this)},renderSeries:function(t,e,n,i){var r=t.coordinateSystem,o=t.id,s=t.getData(),l=this.markerGroupMap,u=l.get(o)||l.set(o,{group:new Sg});this.group.add(u.group),u.__keep=!0;var h=Bc(r,t,e);e.setData(h),h.each(function(e){h.setItemLayout(e,f(lM,function(n){return Rc(h,e,n,t,i)})),h.setItemVisual(e,{color:s.getVisual("color")})}),h.diff(u.__data).add(function(t){var e=new Bv({shape:{points:h.getItemLayout(t)}});h.setItemGraphicEl(t,e),u.group.add(e)}).update(function(t,n){var i=u.__data.getItemGraphicEl(n);ar(i,{shape:{points:h.getItemLayout(t)}},e,t),u.group.add(i),h.setItemGraphicEl(t,i)}).remove(function(t){var e=u.__data.getItemGraphicEl(t);u.group.remove(e)}).execute(),h.eachItemGraphicEl(function(t,n){var i=h.getItemModel(n),r=i.getModel("label"),o=i.getModel("emphasis.label"),s=h.getItemVisual(n,"color");t.useStyle(a(i.getModel("itemStyle").getItemStyle(),{fill:Pt(s,.4),stroke:s})),t.hoverStyle=i.getModel("emphasis.itemStyle").getItemStyle(),$i(t.style,t.hoverStyle,r,o,{labelFetcher:e,labelDataIndex:n,defaultText:h.getName(n)||"",isRectText:!0,autoColor:s}),qi(t,{}),t.dataModel=e}),u.__data=h,u.group.silent=e.get("silent")||t.get("silent")}}),Qa(function(t){t.markArea=t.markArea||{}}),Iy.registerSubTypeDefaulter("dataZoom",function(){return"slider"});var uM=["cartesian2d","polar","singleAxis"],hM=function(t,e){var n=f(t=t.slice(),Fr),i=f(e=(e||[]).slice(),Fr);return function(r,o){d(t,function(t,a){for(var s={name:t,capital:n[a]},l=0;l=a[0]&&t<=a[1]}if(t===this._dataZoomModel){var i=this._dimName,r=this.getTargetSeriesModels(),o=t.get("filterMode"),a=this._valueWindow;"none"!==o&&cM(r,function(t){var e=t.getData(),r=e.mapDimension(i,!0);"weakFilter"===o?e.filterSelf(function(t){for(var n,i,o,s=0;sa[1];if(u&&!h&&!c)return!0;u&&(o=!0),h&&(n=!0),c&&(i=!0)}return o&&n&&i}):cM(r,function(i){if("empty"===o)t.setData(e.map(i,function(t){return n(t)?t:NaN}));else{var r={};r[i]=a,e.selectRange(r)}}),cM(r,function(t){e.setApproximateExtent(a,t)})})}}};var pM=d,gM=hM,mM=os({type:"dataZoom",dependencies:["xAxis","yAxis","zAxis","radiusAxis","angleAxis","singleAxis","series"],defaultOption:{zlevel:0,z:4,orient:null,xAxisIndex:null,yAxisIndex:null,filterMode:"filter",throttle:null,start:0,end:100,startValue:null,endValue:null,minSpan:null,maxSpan:null,minValueSpan:null,maxValueSpan:null,rangeMode:null},init:function(t,e,n){this._dataIntervalByAxis={},this._dataInfo={},this._axisProxies={},this.textStyleModel,this._autoThrottle=!0,this._rangePropMode=["percent","percent"];var i=Uc(t);this.mergeDefaultAndTheme(t,n),this.doInit(i)},mergeOption:function(t){var e=Uc(t);i(this.option,t,!0),this.doInit(e)},doInit:function(t){var e=this.option;bp.canvasSupported||(e.realtime=!1),this._setDefaultThrottle(t),Xc(this,t),pM([["start","startValue"],["end","endValue"]],function(t,n){"value"===this._rangePropMode[n]&&(e[t[0]]=null)},this),this.textStyleModel=this.getModel("textStyle"),this._resetTarget(),this._giveAxisProxies()},_giveAxisProxies:function(){var t=this._axisProxies;this.eachTargetAxis(function(e,n,i,r){var o=this.dependentModels[e.axis][n],a=o.__dzAxisProxy||(o.__dzAxisProxy=new fM(e.name,n,this,r));t[e.name+"_"+n]=a},this)},_resetTarget:function(){var t=this.option,e=this._judgeAutoMode();gM(function(e){var n=e.axisIndex;t[n]=xn(t[n])},this),"axisIndex"===e?this._autoSetAxisIndex():"orient"===e&&this._autoSetOrient()},_judgeAutoMode:function(){var t=this.option,e=!1;gM(function(n){null!=t[n.axisIndex]&&(e=!0)},this);var n=t.orient;return null==n&&e?"orient":e?void 0:(null==n&&(t.orient="horizontal"),"axisIndex")},_autoSetAxisIndex:function(){var t=!0,e=this.get("orient",!0),n=this.option,i=this.dependentModels;if(t){var r="vertical"===e?"y":"x";i[r+"Axis"].length?(n[r+"AxisIndex"]=[0],t=!1):pM(i.singleAxis,function(i){t&&i.get("orient",!0)===e&&(n.singleAxisIndex=[i.componentIndex],t=!1)})}t&&gM(function(e){if(t){var i=[],r=this.dependentModels[e.axis];if(r.length&&!i.length)for(var o=0,a=r.length;o0?100:20}},getFirstTargetAxisModel:function(){var t;return gM(function(e){if(null==t){var n=this.get(e.axisIndex);n.length&&(t=this.dependentModels[e.axis][n[0]])}},this),t},eachTargetAxis:function(t,e){var n=this.ecModel;gM(function(i){pM(this.get(i.axisIndex),function(r){t.call(e,i,r,this,n)},this)},this)},getAxisProxy:function(t,e){return this._axisProxies[t+"_"+e]},getAxisModel:function(t,e){var n=this.getAxisProxy(t,e);return n&&n.getAxisModel()},setRawRange:function(t,e){var n=this.option;pM([["start","startValue"],["end","endValue"]],function(e){null==t[e[0]]&&null==t[e[1]]||(n[e[0]]=t[e[0]],n[e[1]]=t[e[1]])},this),!e&&Xc(this,t)},getPercentRange:function(){var t=this.findRepresentativeAxisProxy();if(t)return t.getDataPercentWindow()},getValueRange:function(t,e){if(null!=t||null!=e)return this.getAxisProxy(t,e).getDataValueWindow();var n=this.findRepresentativeAxisProxy();return n?n.getDataValueWindow():void 0},findRepresentativeAxisProxy:function(t){if(t)return t.__dzAxisProxy;var e=this._axisProxies;for(var n in e)if(e.hasOwnProperty(n)&&e[n].hostedBy(this))return e[n];for(var n in e)if(e.hasOwnProperty(n)&&!e[n].hostedBy(this))return e[n]},getRangePropMode:function(){return this._rangePropMode.slice()}}),vM=dx.extend({type:"dataZoom",render:function(t,e,n,i){this.dataZoomModel=t,this.ecModel=e,this.api=n},getTargetCoordInfo:function(){function t(t,e,n,i){for(var r,o=0;oo&&(e[1-i]=e[i]+h.sign*o),e}),xM=Fv,_M=xr,wM=br,bM=m,MM=d,SM="horizontal",IM=5,CM=["line","bar","candlestick","scatter"],TM=vM.extend({type:"dataZoom.slider",init:function(t,e){this._displayables={},this._orient,this._range,this._handleEnds,this._size,this._handleWidth,this._handleHeight,this._location,this._dragging,this._dataShadowInfo,this.api=e},render:function(t,e,n,i){TM.superApply(this,"render",arguments),ha(this,"_dispatchZoomAction",this.dataZoomModel.get("throttle"),"fixRate"),this._orient=t.get("orient"),!1!==this.dataZoomModel.get("show")?(i&&"dataZoom"===i.type&&i.from===this.uid||this._buildView(),this._updateView()):this.group.removeAll()},remove:function(){TM.superApply(this,"remove",arguments),ca(this,"_dispatchZoomAction")},dispose:function(){TM.superApply(this,"dispose",arguments),ca(this,"_dispatchZoomAction")},_buildView:function(){var t=this.group;t.removeAll(),this._resetLocation(),this._resetInterval();var e=this._displayables.barGroup=new Sg;this._renderBackground(),this._renderHandle(),this._renderDataShadow(),t.add(e),this._positionGroup()},_resetLocation:function(){var t=this.dataZoomModel,e=this.api,n=this._findCoordRect(),i={width:e.getWidth(),height:e.getHeight()},r=this._orient===SM?{right:i.width-n.x-n.width,top:i.height-30-7,width:n.width,height:30}:{right:7,top:n.y,width:30,height:n.height},o=Ur(t.option);d(["right","top","width","height"],function(t){"ph"===o[t]&&(o[t]=r[t])});var a=Gr(o,i,t.padding);this._location={x:a.x,y:a.y},this._size=[a.width,a.height],"vertical"===this._orient&&this._size.reverse()},_positionGroup:function(){var t=this.group,e=this._location,n=this._orient,i=this.dataZoomModel.getFirstTargetAxisModel(),r=i&&i.get("inverse"),o=this._displayables.barGroup,a=(this._dataShadowInfo||{}).otherAxisInverse;o.attr(n!==SM||r?n===SM&&r?{scale:a?[-1,1]:[-1,-1]}:"vertical"!==n||r?{scale:a?[-1,-1]:[-1,1],rotation:Math.PI/2}:{scale:a?[1,-1]:[1,1],rotation:Math.PI/2}:{scale:a?[1,1]:[1,-1]});var s=t.getBoundingRect([o]);t.attr("position",[e.x-s.x,e.y-s.y])},_getViewExtent:function(){return[0,this._size[0]]},_renderBackground:function(){var t=this.dataZoomModel,e=this._size,n=this._displayables.barGroup;n.add(new xM({silent:!0,shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:t.get("backgroundColor")},z2:-40})),n.add(new xM({shape:{x:0,y:0,width:e[0],height:e[1]},style:{fill:"transparent"},z2:0,onclick:m(this._onClickPanelClick,this)}))},_renderDataShadow:function(){var t=this._dataShadowInfo=this._prepareDataShadowInfo();if(t){var e=this._size,n=t.series,i=n.getRawData(),r=n.getShadowDim?n.getShadowDim():t.otherDim;if(null!=r){var o=i.getDataExtent(r),s=.3*(o[1]-o[0]);o=[o[0]-s,o[1]+s];var l,u=[0,e[1]],h=[0,e[0]],c=[[e[0],0],[0,0]],d=[],f=h[1]/(i.count()-1),p=0,g=Math.round(i.count()/e[0]);i.each([r],function(t,e){if(g>0&&e%g)p+=f;else{var n=null==t||isNaN(t)||""===t,i=n?0:_M(t,o,u,!0);n&&!l&&e?(c.push([c[c.length-1][0],0]),d.push([d[d.length-1][0],0])):!n&&l&&(c.push([p,0]),d.push([p,0])),c.push([p,i]),d.push([p,i]),p+=f,l=n}});var m=this.dataZoomModel;this._displayables.barGroup.add(new Bv({shape:{points:c},style:a({fill:m.get("dataBackgroundColor")},m.getModel("dataBackground.areaStyle").getAreaStyle()),silent:!0,z2:-20})),this._displayables.barGroup.add(new Vv({shape:{points:d},style:m.getModel("dataBackground.lineStyle").getLineStyle(),silent:!0,z2:-19}))}}},_prepareDataShadowInfo:function(){var t=this.dataZoomModel,e=t.get("showDataShadow");if(!1!==e){var n,i=this.ecModel;return t.eachTargetAxis(function(r,o){d(t.getAxisProxy(r.name,o).getTargetSeriesModels(),function(t){if(!(n||!0!==e&&l(CM,t.get("type"))<0)){var a,s=i.getComponent(r.axis,o).axis,u=qc(r.name),h=t.coordinateSystem;null!=u&&h.getOtherAxis&&(a=h.getOtherAxis(s).inverse),u=t.getData().mapDimension(u),n={thisAxis:s,series:t,thisDim:r.name,otherDim:u,otherAxisInverse:a}}},this)},this),n}},_renderHandle:function(){var t=this._displayables,e=t.handles=[],n=t.handleLabels=[],i=this._displayables.barGroup,r=this._size,o=this.dataZoomModel;i.add(t.filler=new xM({draggable:!0,cursor:$c(this._orient),drift:bM(this._onDragMove,this,"all"),onmousemove:function(t){tm(t.event)},ondragstart:bM(this._showDataInfo,this,!0),ondragend:bM(this._onDragEnd,this),onmouseover:bM(this._showDataInfo,this,!0),onmouseout:bM(this._showDataInfo,this,!1),style:{fill:o.get("fillerColor"),textPosition:"inside"}})),i.add(new xM(Ei({silent:!0,shape:{x:0,y:0,width:r[0],height:r[1]},style:{stroke:o.get("dataBackgroundColor")||o.get("borderColor"),lineWidth:1,fill:"rgba(0,0,0,0)"}}))),MM([0,1],function(t){var r=fr(o.get("handleIcon"),{cursor:$c(this._orient),draggable:!0,drift:bM(this._onDragMove,this,t),onmousemove:function(t){tm(t.event)},ondragend:bM(this._onDragEnd,this),onmouseover:bM(this._showDataInfo,this,!0),onmouseout:bM(this._showDataInfo,this,!1)},{x:-1,y:0,width:2,height:2}),a=r.getBoundingRect();this._handleHeight=_r(o.get("handleSize"),this._size[1]),this._handleWidth=a.width/a.height*this._handleHeight,r.setStyle(o.getModel("handleStyle").getItemStyle());var s=o.get("handleColor");null!=s&&(r.style.fill=s),i.add(e[t]=r);var l=o.textStyleModel;this.group.add(n[t]=new kv({silent:!0,invisible:!0,style:{x:0,y:0,text:"",textVerticalAlign:"middle",textAlign:"center",textFill:l.getTextColor(),textFont:l.getFont()},z2:10}))},this)},_resetInterval:function(){var t=this._range=this.dataZoomModel.getPercentRange(),e=this._getViewExtent();this._handleEnds=[_M(t[0],[0,100],e,!0),_M(t[1],[0,100],e,!0)]},_updateInterval:function(t,e){var n=this.dataZoomModel,i=this._handleEnds,r=this._getViewExtent(),o=n.findRepresentativeAxisProxy().getMinMaxSpan(),a=[0,100];yM(e,i,r,n.get("zoomLock")?"all":t,null!=o.minSpan?_M(o.minSpan,a,r,!0):null,null!=o.maxSpan?_M(o.maxSpan,a,r,!0):null);var s=this._range,l=this._range=wM([_M(i[0],r,a,!0),_M(i[1],r,a,!0)]);return!s||s[0]!==l[0]||s[1]!==l[1]},_updateView:function(t){var e=this._displayables,n=this._handleEnds,i=wM(n.slice()),r=this._size;MM([0,1],function(t){var i=e.handles[t],o=this._handleHeight;i.attr({scale:[o/2,o/2],position:[n[t],r[1]/2-o/2]})},this),e.filler.setShape({x:i[0],y:0,width:i[1]-i[0],height:r[1]}),this._updateDataInfo(t)},_updateDataInfo:function(t){function e(t){var e=lr(i.handles[t].parent,this.group),n=hr(0===t?"right":"left",e),s=this._handleWidth/2+IM,l=ur([c[t]+(0===t?-s:s),this._size[1]/2],e);r[t].setStyle({x:l[0],y:l[1],textVerticalAlign:o===SM?"middle":n,textAlign:o===SM?n:"center",text:a[t]})}var n=this.dataZoomModel,i=this._displayables,r=i.handleLabels,o=this._orient,a=["",""];if(n.get("showDetail")){var s=n.findRepresentativeAxisProxy();if(s){var l=s.getAxisModel().axis,u=this._range,h=t?s.calculateDataWindow({start:u[0],end:u[1]}).valueWindow:s.getDataValueWindow();a=[this._formatLabel(h[0],l),this._formatLabel(h[1],l)]}}var c=wM(this._handleEnds.slice());e.call(this,0),e.call(this,1)},_formatLabel:function(t,e){var n=this.dataZoomModel,i=n.get("labelFormatter"),r=n.get("labelPrecision");null!=r&&"auto"!==r||(r=e.getPixelPrecision());var o=null==t||isNaN(t)?"":"category"===e.type||"time"===e.type?e.scale.getLabel(Math.round(t)):t.toFixed(Math.min(r,20));return x(i)?i(t,o):_(i)?i.replace("{value}",o):o},_showDataInfo:function(t){t=this._dragging||t;var e=this._displayables.handleLabels;e[0].attr("invisible",!t),e[1].attr("invisible",!t)},_onDragMove:function(t,e,n){this._dragging=!0;var i=ur([e,n],this._displayables.barGroup.getLocalTransform(),!0),r=this._updateInterval(t,i[0]),o=this.dataZoomModel.get("realtime");this._updateView(!o),r&&o&&this._dispatchZoomAction()},_onDragEnd:function(){this._dragging=!1,this._showDataInfo(!1),!this.dataZoomModel.get("realtime")&&this._dispatchZoomAction()},_onClickPanelClick:function(t){var e=this._size,n=this._displayables.barGroup.transformCoordToLocal(t.offsetX,t.offsetY);if(!(n[0]<0||n[0]>e[0]||n[1]<0||n[1]>e[1])){var i=this._handleEnds,r=(i[0]+i[1])/2,o=this._updateInterval("all",n[0]-r);this._updateView(),o&&this._dispatchZoomAction()}},_dispatchZoomAction:function(){var t=this._range;this.api.dispatchAction({type:"dataZoom",from:this.uid,dataZoomId:this.dataZoomModel.id,start:t[0],end:t[1]})},_findCoordRect:function(){var t;if(MM(this.getTargetCoordInfo(),function(e){if(!t&&e.length){var n=e[0].model.coordinateSystem;t=n.getRect&&n.getRect()}}),!t){var e=this.api.getWidth(),n=this.api.getHeight();t={x:.2*e,y:.2*n,width:.6*e,height:.6*n}}return t}});mM.extend({type:"dataZoom.inside",defaultOption:{disabled:!1,zoomLock:!1,zoomOnMouseWheel:!0,moveOnMouseMove:!0,preventDefaultMouseMove:!0}});var DM="\0_ec_interaction_mutex";ts({type:"takeGlobalCursor",event:"globalCursorTaken",update:"update"},function(){}),h(ed,Zp);var AM=v,kM="\0_ec_dataZoom_roams",PM=m,LM=vM.extend({type:"dataZoom.inside",init:function(t,e){this._range},render:function(t,e,n,i){LM.superApply(this,"render",arguments),this._range=t.getPercentRange(),d(this.getTargetCoordInfo(),function(e,i){var r=f(e,function(t){return cd(t.model)});d(e,function(e){var o=e.model,a=t.option;ud(n,{coordId:cd(o),allCoordIds:r,containsPoint:function(t,e,n){return o.coordinateSystem.containPoint([e,n])},dataZoomId:t.id,throttleRate:t.get("throttle",!0),panGetRange:PM(this._onPan,this,e,i),zoomGetRange:PM(this._onZoom,this,e,i),zoomLock:a.zoomLock,disabled:a.disabled,roamControllerOpt:{zoomOnMouseWheel:a.zoomOnMouseWheel,moveOnMouseMove:a.moveOnMouseMove,preventDefaultMouseMove:a.preventDefaultMouseMove}})},this)},this)},dispose:function(){hd(this.api,this.dataZoomModel.id),LM.superApply(this,"dispose",arguments),this._range=null},_onPan:function(t,e,n,i,r,o,a,s,l){var u=this._range,h=u.slice(),c=t.axisModels[0];if(c){var d=OM[e]([o,a],[s,l],c,n,t),f=d.signal*(h[1]-h[0])*d.pixel/d.pixelLength;return yM(f,h,[0,100],"all"),this._range=h,u[0]!==h[0]||u[1]!==h[1]?h:void 0}},_onZoom:function(t,e,n,i,r,o){var a=this._range,s=a.slice(),l=t.axisModels[0];if(l){var u=OM[e](null,[r,o],l,n,t),h=(u.signal>0?u.pixelStart+u.pixelLength-u.pixel:u.pixel-u.pixelStart)/u.pixelLength*(s[1]-s[0])+s[0];i=Math.max(1/i,0),s[0]=(s[0]-h)*i+h,s[1]=(s[1]-h)*i+h;var c=this.dataZoomModel.findRepresentativeAxisProxy().getMinMaxSpan();return yM(0,s,[0,100],0,c.minSpan,c.maxSpan),this._range=s,a[0]!==s[0]||a[1]!==s[1]?s:void 0}}}),OM={grid:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem.getRect();return t=t||[0,0],"x"===o.dim?(a.pixel=e[0]-t[0],a.pixelLength=s.width,a.pixelStart=s.x,a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=s.height,a.pixelStart=s.y,a.signal=o.inverse?-1:1),a},polar:function(t,e,n,i,r){var o=n.axis,a={},s=r.model.coordinateSystem,l=s.getRadiusAxis().getExtent(),u=s.getAngleAxis().getExtent();return t=t?s.pointToCoord(t):[0,0],e=s.pointToCoord(e),"radiusAxis"===n.mainType?(a.pixel=e[0]-t[0],a.pixelLength=l[1]-l[0],a.pixelStart=l[0],a.signal=o.inverse?1:-1):(a.pixel=e[1]-t[1],a.pixelLength=u[1]-u[0],a.pixelStart=u[0],a.signal=o.inverse?-1:1),a},singleAxis:function(t,e,n,i,r){var o=n.axis,a=r.model.coordinateSystem.getRect(),s={};return t=t||[0,0],"horizontal"===o.orient?(s.pixel=e[0]-t[0],s.pixelLength=a.width,s.pixelStart=a.x,s.signal=o.inverse?1:-1):(s.pixel=e[1]-t[1],s.pixelLength=a.height,s.pixelStart=a.y,s.signal=o.inverse?-1:1),s}};Ja({getTargetSeries:function(t){var e=N();return t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,n,i){d(i.getAxisProxy(t.name,n).getTargetSeriesModels(),function(t){e.set(t.uid,t)})})}),e},modifyOutputEnd:!0,overallReset:function(t,e){t.eachComponent("dataZoom",function(t){t.eachTargetAxis(function(t,n,i){i.getAxisProxy(t.name,n).reset(i,e)}),t.eachTargetAxis(function(t,n,i){i.getAxisProxy(t.name,n).filterData(i,e)})}),t.eachComponent("dataZoom",function(t){var e=t.findRepresentativeAxisProxy(),n=e.getDataPercentWindow(),i=e.getDataValueWindow();t.setRawRange({start:n[0],end:n[1],startValue:i[0],endValue:i[1]},!0)})}}),ts("dataZoom",function(t,e){var n=Fc(m(e.eachComponent,e,"dataZoom"),hM,function(t,e){return t.get(e.axisIndex)}),i=[];e.eachComponent({mainType:"dataZoom",query:t},function(t,e){i.push.apply(i,n(t).nodes)}),d(i,function(e,n){e.setRawRange({start:t.start,end:t.end,startValue:t.startValue,endValue:t.endValue})})});var zM={},EM=os({type:"toolbox",layoutMode:{type:"box",ignoreSize:!0},optionUpdated:function(){EM.superApply(this,"optionUpdated",arguments),d(this.option.feature,function(t,e){var n=wd(e);n&&i(t,n.defaultOption)})},defaultOption:{show:!0,z:6,zlevel:0,orient:"horizontal",left:"right",top:"top",backgroundColor:"transparent",borderColor:"#ccc",borderRadius:0,borderWidth:0,padding:5,itemSize:15,itemGap:8,showTitle:!0,iconStyle:{borderColor:"#666",color:"none"},emphasis:{iconStyle:{borderColor:"#3E98C5"}}}});as({type:"toolbox",render:function(t,e,n,i){function r(r,a){var s,c=h[r],d=h[a],f=new pr(l[c],t,t.ecModel);if(c&&!d){if(bd(c))s={model:f,onclick:f.option.onclick,featureName:c};else{var p=wd(c);if(!p)return;s=new p(f,e,n)}u[c]=s}else{if(!(s=u[d]))return;s.model=f,s.ecModel=e,s.api=n}c||!d?f.get("show")&&!s.unusable?(o(f,s,c),f.setIconStatus=function(t,e){var n=this.option,i=this.iconPaths;n.iconStatus=n.iconStatus||{},n.iconStatus[t]=e,i[t]&&i[t].trigger(e)},s.render&&s.render(f,e,n,i)):s.remove&&s.remove(e,n):s.dispose&&s.dispose(e,n)}function o(i,r,o){var l=i.getModel("iconStyle"),u=i.getModel("emphasis.iconStyle"),h=r.getIcons?r.getIcons():i.get("icon"),c=i.get("title")||{};if("string"==typeof h){var f=h,p=c;c={},(h={})[o]=f,c[o]=p}var g=i.iconPaths={};d(h,function(o,h){var d=fr(o,{},{x:-s/2,y:-s/2,width:s,height:s});d.setStyle(l.getItemStyle()),d.hoverStyle=u.getItemStyle(),qi(d),t.get("showTitle")&&(d.__title=c[h],d.on("mouseover",function(){var t=u.getItemStyle();d.setStyle({text:c[h],textPosition:t.textPosition||"bottom",textFill:t.fill||t.stroke||"#000",textAlign:t.textAlign||"center"})}).on("mouseout",function(){d.setStyle({textFill:null})})),d.trigger(i.get("iconStatus."+h)||"normal"),a.add(d),d.on("click",m(r.onclick,r,e,n,h)),g[h]=d})}var a=this.group;if(a.removeAll(),t.get("show")){var s=+t.get("itemSize"),l=t.get("feature")||{},u=this._features||(this._features={}),h=[];d(l,function(t,e){h.push(e)}),new hs(this._featureNames||[],h).add(r).update(r).remove(v(r,null)).execute(),this._featureNames=h,Jh(a,t,n),a.add(tc(a.getBoundingRect(),t)),a.eachChild(function(t){var e=t.__title,i=t.hoverStyle;if(i&&e){var r=ce(e,Ce(i)),o=t.position[0]+a.position[0],l=!1;t.position[1]+a.position[1]+s+r.height>n.getHeight()&&(i.textPosition="top",l=!0);var u=l?-5-r.height:s+8;o+r.width/2>n.getWidth()?(i.textPosition=["100%",u],i.textAlign="right"):o-r.width/2<0&&(i.textPosition=[0,u],i.textAlign="left")}})}},updateView:function(t,e,n,i){d(this._features,function(t){t.updateView&&t.updateView(t.model,e,n,i)})},remove:function(t,e){d(this._features,function(n){n.remove&&n.remove(t,e)}),this.group.removeAll()},dispose:function(t,e){d(this._features,function(n){n.dispose&&n.dispose(t,e)})}});var NM=Sx.toolbox.saveAsImage;Md.defaultOption={show:!0,icon:"M4.7,22.9L29.3,45.5L54.7,23.4M4.6,43.6L4.6,58L53.8,58L53.8,43.6M29.2,45.1L29.2,0",title:NM.title,type:"png",name:"",excludeComponents:["toolbox"],pixelRatio:1,lang:NM.lang.slice()},Md.prototype.unusable=!bp.canvasSupported,Md.prototype.onclick=function(t,e){var n=this.model,i=n.get("name")||t.get("title.0.text")||"echarts",r=document.createElement("a"),o=n.get("type",!0)||"png";r.download=i+"."+o,r.target="_blank";var a=e.getConnectedDataURL({type:o,backgroundColor:n.get("backgroundColor",!0)||t.get("backgroundColor")||"#fff",excludeComponents:n.get("excludeComponents"),pixelRatio:n.get("pixelRatio")});if(r.href=a,"function"!=typeof MouseEvent||bp.browser.ie||bp.browser.edge)if(window.navigator.msSaveOrOpenBlob){for(var s=atob(a.split(",")[1]),l=s.length,u=new Uint8Array(l);l--;)u[l]=s.charCodeAt(l);var h=new Blob([u]);window.navigator.msSaveOrOpenBlob(h,i+"."+o)}else{var c=n.get("lang"),d='';window.open().document.write(d)}else{var f=new MouseEvent("click",{view:window,bubbles:!0,cancelable:!1});r.dispatchEvent(f)}},_d("saveAsImage",Md);var RM=Sx.toolbox.magicType;Sd.defaultOption={show:!0,type:[],icon:{line:"M4.1,28.9h7.1l9.3-22l7.4,38l9.7-19.7l3,12.8h14.9M4.1,58h51.4",bar:"M6.7,22.9h10V48h-10V22.9zM24.9,13h10v35h-10V13zM43.2,2h10v46h-10V2zM3.1,58h53.7",stack:"M8.2,38.4l-8.4,4.1l30.6,15.3L60,42.5l-8.1-4.1l-21.5,11L8.2,38.4z M51.9,30l-8.1,4.2l-13.4,6.9l-13.9-6.9L8.2,30l-8.4,4.2l8.4,4.2l22.2,11l21.5-11l8.1-4.2L51.9,30z M51.9,21.7l-8.1,4.2L35.7,30l-5.3,2.8L24.9,30l-8.4-4.1l-8.3-4.2l-8.4,4.2L8.2,30l8.3,4.2l13.9,6.9l13.4-6.9l8.1-4.2l8.1-4.1L51.9,21.7zM30.4,2.2L-0.2,17.5l8.4,4.1l8.3,4.2l8.4,4.2l5.5,2.7l5.3-2.7l8.1-4.2l8.1-4.2l8.1-4.1L30.4,2.2z",tiled:"M2.3,2.2h22.8V25H2.3V2.2z M35,2.2h22.8V25H35V2.2zM2.3,35h22.8v22.8H2.3V35z M35,35h22.8v22.8H35V35z"},title:n(RM.title),option:{},seriesIndex:{}};var BM=Sd.prototype;BM.getIcons=function(){var t=this.model,e=t.get("icon"),n={};return d(t.get("type"),function(t){e[t]&&(n[t]=e[t])}),n};var VM={line:function(t,e,n,r){if("bar"===t)return i({id:e,type:"line",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.line")||{},!0)},bar:function(t,e,n,r){if("line"===t)return i({id:e,type:"bar",data:n.get("data"),stack:n.get("stack"),markPoint:n.get("markPoint"),markLine:n.get("markLine")},r.get("option.bar")||{},!0)},stack:function(t,e,n,r){if("line"===t||"bar"===t)return i({id:e,stack:"__ec_magicType_stack__"},r.get("option.stack")||{},!0)},tiled:function(t,e,n,r){if("line"===t||"bar"===t)return i({id:e,stack:""},r.get("option.tiled")||{},!0)}},FM=[["line","bar"],["stack","tiled"]];BM.onclick=function(t,e,n){var i=this.model,r=i.get("seriesIndex."+n);if(VM[n]){var o={series:[]};d(FM,function(t){l(t,n)>=0&&d(t,function(t){i.setIconStatus(t,"normal")})}),i.setIconStatus(n,"emphasis"),t.eachComponent({mainType:"series",query:null==r?null:{seriesIndex:r}},function(e){var r=e.subType,s=e.id,l=VM[n](r,s,e,i);l&&(a(l,e.option),o.series.push(l));var u=e.coordinateSystem;if(u&&"cartesian2d"===u.type&&("line"===n||"bar"===n)){var h=u.getAxesByScale("ordinal")[0];if(h){var c=h.dim+"Axis",d=t.queryComponents({mainType:c,index:e.get(name+"Index"),id:e.get(name+"Id")})[0].componentIndex;o[c]=o[c]||[];for(var f=0;f<=d;f++)o[c][d]=o[c][d]||{};o[c][d].boundaryGap="bar"===n}}}),e.dispatchAction({type:"changeMagicType",currentType:n,newOption:o})}},ts({type:"changeMagicType",event:"magicTypeChanged",update:"prepareAndUpdate"},function(t,e){e.mergeOption(t.newOption)}),_d("magicType",Sd);var HM=Sx.toolbox.dataView,GM=new Array(60).join("-"),WM="\t",ZM=new RegExp("["+WM+"]+","g");zd.defaultOption={show:!0,readOnly:!1,optionToContent:null,contentToOption:null,icon:"M17.5,17.3H33 M17.5,17.3H33 M45.4,29.5h-28 M11.5,2v56H51V14.8L38.4,2H11.5z M38.4,2.2v12.7H51 M45.4,41.7h-28",title:n(HM.title),lang:n(HM.lang),backgroundColor:"#fff",textColor:"#000",textareaColor:"#fff",textareaBorderColor:"#333",buttonColor:"#c23531",buttonTextColor:"#fff"},zd.prototype.onclick=function(t,e){function n(){i.removeChild(o),x._dom=null}var i=e.getDom(),r=this.model;this._dom&&i.removeChild(this._dom);var o=document.createElement("div");o.style.cssText="position:absolute;left:5px;top:5px;bottom:5px;right:5px;",o.style.backgroundColor=r.get("backgroundColor")||"#fff";var a=document.createElement("h4"),s=r.get("lang")||[];a.innerHTML=s[0]||r.get("title"),a.style.cssText="margin: 10px 20px;",a.style.color=r.get("textColor");var l=document.createElement("div"),u=document.createElement("textarea");l.style.cssText="display:block;width:100%;overflow:auto;";var h=r.get("optionToContent"),c=r.get("contentToOption"),d=Dd(t);if("function"==typeof h){var f=h(e.getOption());"string"==typeof f?l.innerHTML=f:S(f)&&l.appendChild(f)}else l.appendChild(u),u.readOnly=r.get("readOnly"),u.style.cssText="width:100%;height:100%;font-family:monospace;font-size:14px;line-height:1.6rem;",u.style.color=r.get("textColor"),u.style.borderColor=r.get("textareaBorderColor"),u.style.backgroundColor=r.get("textareaColor"),u.value=d.value;var p=d.meta,g=document.createElement("div");g.style.cssText="position:absolute;bottom:0;left:0;right:0;";var m="float:right;margin-right:20px;border:none;cursor:pointer;padding:2px 5px;font-size:12px;border-radius:3px",v=document.createElement("div"),y=document.createElement("div");m+=";background-color:"+r.get("buttonColor"),m+=";color:"+r.get("buttonTextColor");var x=this;on(v,"click",n),on(y,"click",function(){var t;try{t="function"==typeof c?c(l,e.getOption()):Od(u.value,p)}catch(t){throw n(),new Error("Data view format error "+t)}t&&e.dispatchAction({type:"changeDataView",newOption:t}),n()}),v.innerHTML=s[1],y.innerHTML=s[2],y.style.cssText=m,v.style.cssText=m,!r.get("readOnly")&&g.appendChild(y),g.appendChild(v),on(u,"keydown",function(t){if(9===(t.keyCode||t.which)){var e=this.value,n=this.selectionStart,i=this.selectionEnd;this.value=e.substring(0,n)+WM+e.substring(i),this.selectionStart=this.selectionEnd=n+1,tm(t)}}),o.appendChild(a),o.appendChild(l),o.appendChild(g),l.style.height=i.clientHeight-80+"px",i.appendChild(o),this._dom=o},zd.prototype.remove=function(t,e){this._dom&&e.getDom().removeChild(this._dom)},zd.prototype.dispose=function(t,e){this.remove(t,e)},_d("dataView",zd),ts({type:"changeDataView",event:"dataViewChanged",update:"prepareAndUpdate"},function(t,e){var n=[];d(t.newOption.series,function(t){var i=e.getSeriesByName(t.name)[0];if(i){var r=i.get("data");n.push({name:t.name,data:Ed(t.data,r)})}else n.push(o({type:"scatter"},t))}),e.mergeOption(a({series:n},t.newOption))});var UM=v,XM=d,jM=f,YM=Math.min,qM=Math.max,$M=Math.pow,KM=1e4,QM=6,JM=6,tS="globalPan",eS={w:[0,0],e:[0,1],n:[1,0],s:[1,1]},nS={w:"ew",e:"ew",n:"ns",s:"ns",ne:"nesw",sw:"nesw",nw:"nwse",se:"nwse"},iS={brushStyle:{lineWidth:2,stroke:"rgba(0,0,0,0.3)",fill:"rgba(0,0,0,0.1)"},transformable:!0,brushMode:"single",removeOnClick:!1},rS=0;Nd.prototype={constructor:Nd,enableBrush:function(t){return this._brushType&&Bd(this),t.brushType&&Rd(this,t),this},setPanels:function(t){if(t&&t.length){var e=this._panels={};d(t,function(t){e[t.panelId]=n(t)})}else this._panels=null;return this},mount:function(t){t=t||{},this._enableGlobalPan=t.enableGlobalPan;var e=this.group;return this._zr.add(e),e.attr({position:t.position||[0,0],rotation:t.rotation||0,scale:t.scale||[1,1]}),this._transform=e.getLocalTransform(),this},eachCover:function(t,e){XM(this._covers,t,e)},updateCovers:function(t){function e(t,e){return(null!=t.id?t.id:o+e)+"-"+t.brushType}function r(e,n){var i=t[e];if(null!=n&&a[n]===u)s[e]=a[n];else{var r=s[e]=null!=n?(a[n].__brushOption=i,a[n]):Fd(l,Vd(l,i));Wd(l,r)}}t=f(t,function(t){return i(n(iS),t,!0)});var o="\0-brush-index-",a=this._covers,s=this._covers=[],l=this,u=this._creatingCover;return new hs(a,t,function(t,n){return e(t.__brushOption,n)},e).add(r).update(r).remove(function(t){a[t]!==u&&l.group.remove(a[t])}).execute(),this},unmount:function(){return this.enableBrush(!1),jd(this),this._zr.remove(this.group),this},dispose:function(){this.unmount(),this.off()}},h(Nd,Zp);var oS={mousedown:function(t){if(this._dragging)mf.call(this,t);else if(!t.target||!t.target.draggable){df(t);var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);this._creatingCover=null,(this._creatingPanel=Ud(this,t,e))&&(this._dragging=!0,this._track=[e.slice()])}},mousemove:function(t){var e=this.group.transformCoordToLocal(t.offsetX,t.offsetY);if(cf(this,t,e),this._dragging){df(t);var n=pf(this,t,e,!1);n&&Yd(this,n)}},mouseup:mf},aS={lineX:vf(0),lineY:vf(1),rect:{createCover:function(t,e){return Kd(UM(af,function(t){return t},function(t){return t}),t,e,["w","e","n","s","se","sw","ne","nw"])},getCreatingRange:function(t){var e=$d(t);return nf(e[1][0],e[1][1],e[0][0],e[0][1])},updateCoverShape:function(t,e,n,i){Qd(t,e,n,i)},updateCommon:Jd,contain:ff},polygon:{createCover:function(t,e){var n=new Sg;return n.add(new Vv({name:"main",style:ef(e),silent:!0})),n},getCreatingRange:function(t){return t},endCreating:function(t,e){e.remove(e.childAt(0)),e.add(new Bv({name:"main",draggable:!0,drift:UM(sf,t,e),ondragend:UM(Yd,t,{isEnd:!0})}))},updateCoverShape:function(t,e,n,i){e.childAt(0).setShape({points:uf(t,e,n)})},updateCommon:Jd,contain:ff}},sS={axisPointer:1,tooltip:1,brush:1},lS=d,uS=l,hS=v,cS=["dataToPoint","pointToData"],dS=["grid","xAxis","yAxis","geo","graph","polar","radiusAxis","angleAxis","bmap"],fS=Mf.prototype;fS.setOutputRanges=function(t,e){this.matchOutputRanges(t,e,function(t,e,n){if((t.coordRanges||(t.coordRanges=[])).push(e),!t.coordRange){t.coordRange=e;var i=vS[t.brushType](0,n,e);t.__rangeOffset={offset:yS[t.brushType](i.values,t.range,[1,1]),xyMinMax:i.xyMinMax}}})},fS.matchOutputRanges=function(t,e,n){lS(t,function(t){var i=this.findTargetInfo(t,e);i&&!0!==i&&d(i.coordSyses,function(i){var r=vS[t.brushType](1,i,t.range);n(t,r.values,i,e)})},this)},fS.setInputRanges=function(t,e){lS(t,function(t){var n=this.findTargetInfo(t,e);if(t.range=t.range||[],n&&!0!==n){t.panelId=n.panelId;var i=vS[t.brushType](0,n.coordSys,t.coordRange),r=t.__rangeOffset;t.range=r?yS[t.brushType](i.values,r.offset,Df(i.xyMinMax,r.xyMinMax)):i.values}},this)},fS.makePanelOpts=function(t,e){return f(this._targetInfoList,function(n){var i=n.getPanelRect();return{panelId:n.panelId,defaultBrushType:e&&e(n),clipPath:xf(i),isTargetByCursor:wf(i,t,n.coordSysModel),getLinearBrushOtherExtent:_f(i)}})},fS.controlSeries=function(t,e,n){var i=this.findTargetInfo(t,n);return!0===i||i&&uS(i.coordSyses,e.coordinateSystem)>=0},fS.findTargetInfo=function(t,e){for(var n=this._targetInfoList,i=If(e,t),r=0;r=0||uS(i,t.getAxis("y").model)>=0)&&o.push(t)}),e.push({panelId:"grid--"+t.id,gridModel:t,coordSysModel:t,coordSys:o[0],coordSyses:o,getPanelRect:mS.grid,xAxisDeclared:a[t.id],yAxisDeclared:s[t.id]})}))},geo:function(t,e){lS(t.geoModels,function(t){var n=t.coordinateSystem;e.push({panelId:"geo--"+t.id,geoModel:t,coordSysModel:t,coordSys:n,coordSyses:[n],getPanelRect:mS.geo})})}},gS=[function(t,e){var n=t.xAxisModel,i=t.yAxisModel,r=t.gridModel;return!r&&n&&(r=n.axis.grid.model),!r&&i&&(r=i.axis.grid.model),r&&r===e.gridModel},function(t,e){var n=t.geoModel;return n&&n===e.geoModel}],mS={grid:function(){return this.coordSys.grid.getRect().clone()},geo:function(){var t=this.coordSys,e=t.getBoundingRect().clone();return e.applyTransform(lr(t)),e}},vS={lineX:hS(Cf,0),lineY:hS(Cf,1),rect:function(t,e,n){var i=e[cS[t]]([n[0][0],n[1][0]]),r=e[cS[t]]([n[0][1],n[1][1]]),o=[Sf([i[0],r[0]]),Sf([i[1],r[1]])];return{values:o,xyMinMax:o}},polygon:function(t,e,n){var i=[[1/0,-1/0],[1/0,-1/0]];return{values:f(n,function(n){var r=e[cS[t]](n);return i[0][0]=Math.min(i[0][0],r[0]),i[1][0]=Math.min(i[1][0],r[1]),i[0][1]=Math.max(i[0][1],r[0]),i[1][1]=Math.max(i[1][1],r[1]),r}),xyMinMax:i}}},yS={lineX:hS(Tf,0),lineY:hS(Tf,1),rect:function(t,e,n){return[[t[0][0]-n[0]*e[0][0],t[0][1]-n[0]*e[0][1]],[t[1][0]-n[1]*e[1][0],t[1][1]-n[1]*e[1][1]]]},polygon:function(t,e,n){return f(t,function(t,i){return[t[0]-n[0]*e[i][0],t[1]-n[1]*e[i][1]]})}},xS=d,_S="\0_ec_hist_store";mM.extend({type:"dataZoom.select"}),vM.extend({type:"dataZoom.select"});var wS=Sx.toolbox.dataZoom,bS=d,MS="\0_ec_\0toolbox-dataZoom_";Ef.defaultOption={show:!0,icon:{zoom:"M0,13.5h26.9 M13.5,26.9V0 M32.1,13.5H58V58H13.5 V32.1",back:"M22,1.4L9.9,13.5l12.3,12.3 M10.3,13.5H54.9v44.6 H10.3v-26"},title:n(wS.title)};var SS=Ef.prototype;SS.render=function(t,e,n,i){this.model=t,this.ecModel=e,this.api=n,Bf(t,e,this,i,n),Rf(t,e)},SS.onclick=function(t,e,n){IS[n].call(this)},SS.remove=function(t,e){this._brushController.unmount()},SS.dispose=function(t,e){this._brushController.dispose()};var IS={zoom:function(){var t=!this._isZoomActive;this.api.dispatchAction({type:"takeGlobalCursor",key:"dataZoomSelect",dataZoomSelectActive:t})},back:function(){this._dispatchZoomAction(Pf(this.ecModel))}};SS._onBrush=function(t,e){function n(t,e,n){var a=e.getAxis(t),s=a.model,l=i(t,s,o),u=l.findRepresentativeAxisProxy(s).getMinMaxSpan();null==u.minValueSpan&&null==u.maxValueSpan||(n=yM(0,n.slice(),a.scale.getExtent(),0,u.minValueSpan,u.maxValueSpan)),l&&(r[l.id]={dataZoomId:l.id,startValue:n[0],endValue:n[1]})}function i(t,e,n){var i;return n.eachComponent({mainType:"dataZoom",subType:"select"},function(n){n.getAxisModel(t,e.componentIndex)&&(i=n)}),i}if(e.isEnd&&t.length){var r={},o=this.ecModel;this._brushController.updateCovers([]),new Mf(Nf(this.model.option),o,{include:["grid"]}).matchOutputRanges(t,o,function(t,e,i){if("cartesian2d"===i.type){var r=t.brushType;"rect"===r?(n("x",i,e[0]),n("y",i,e[1])):n({lineX:"x",lineY:"y"}[r],i,e)}}),kf(o,r),this._dispatchZoomAction(r)}},SS._dispatchZoomAction=function(t){var e=[];bS(t,function(t,i){e.push(n(t))}),e.length&&this.api.dispatchAction({type:"dataZoom",from:this.uid,batch:e})},_d("dataZoom",Ef),Qa(function(t){function e(t,e){if(e){var r=t+"Index",o=e[r];null==o||"all"==o||y(o)||(o=!1===o||"none"===o?[]:[o]),n(t,function(e,n){if(null==o||"all"==o||-1!==l(o,n)){var a={type:"select",$fromToolbox:!0,id:MS+t+n};a[r]=n,i.push(a)}})}}function n(e,n){var i=t[e];y(i)||(i=i?[i]:[]),bS(i,n)}if(t){var i=t.dataZoom||(t.dataZoom=[]);y(i)||(t.dataZoom=i=[i]);var r=t.toolbox;if(r&&(y(r)&&(r=r[0]),r&&r.feature)){var o=r.feature.dataZoom;e("xAxis",o),e("yAxis",o)}}});var CS=Sx.toolbox.restore;Vf.defaultOption={show:!0,icon:"M3.8,33.4 M47,18.9h9.8V8.7 M56.3,20.1 C52.1,9,40.5,0.6,26.8,2.1C12.6,3.7,1.6,16.2,2.1,30.6 M13,41.1H3.1v10.2 M3.7,39.9c4.2,11.1,15.8,19.5,29.5,18 c14.2-1.6,25.2-14.1,24.7-28.5",title:CS.title},Vf.prototype.onclick=function(t,e,n){Lf(t),e.dispatchAction({type:"restore",from:this.uid})},_d("restore",Vf),ts({type:"restore",event:"restore",update:"prepareAndUpdate"},function(t,e){e.resetOption("recreate")});var TS,DS="urn:schemas-microsoft-com:vml",AS="undefined"==typeof window?null:window,kS=!1,PS=AS&&AS.document;if(PS&&!bp.canvasSupported)try{!PS.namespaces.zrvml&&PS.namespaces.add("zrvml",DS),TS=function(t){return PS.createElement("')}}catch(t){TS=function(t){return PS.createElement("<"+t+' xmlns="'+DS+'" class="zrvml">')}}var LS=av.CMD,OS=Math.round,zS=Math.sqrt,ES=Math.abs,NS=Math.cos,RS=Math.sin,BS=Math.max;if(!bp.canvasSupported){var VS=21600,FS=VS/2,HS=function(t){t.style.cssText="position:absolute;left:0;top:0;width:1px;height:1px;",t.coordsize=VS+","+VS,t.coordorigin="0,0"},GS=function(t){return String(t).replace(/&/g,"&").replace(/"/g,""")},WS=function(t,e,n){return"rgb("+[t,e,n].join(",")+")"},ZS=function(t,e){e&&t&&e.parentNode!==t&&t.appendChild(e)},US=function(t,e){e&&t&&e.parentNode===t&&t.removeChild(e)},XS=function(t,e,n){return 1e5*(parseFloat(t)||0)+1e3*(parseFloat(e)||0)+n},jS=function(t,e){return"string"==typeof t?t.lastIndexOf("%")>=0?parseFloat(t)/100*e:parseFloat(t):t},YS=function(t,e,n){var i=St(e);n=+n,isNaN(n)&&(n=1),i&&(t.color=WS(i[0],i[1],i[2]),t.opacity=n*i[3])},qS=function(t){var e=St(t);return[WS(e[0],e[1],e[2]),e[3]]},$S=function(t,e,n){var i=e.fill;if(null!=i)if(i instanceof Xv){var r,o=0,a=[0,0],s=0,l=1,u=n.getBoundingRect(),h=u.width,c=u.height;if("linear"===i.type){r="gradient";var d=n.transform,f=[i.x*h,i.y*c],p=[i.x2*h,i.y2*c];d&&($(f,f,d),$(p,p,d));var g=p[0]-f[0],m=p[1]-f[1];(o=180*Math.atan2(g,m)/Math.PI)<0&&(o+=360),o<1e-6&&(o=0)}else{r="gradientradial";var f=[i.x*h,i.y*c],d=n.transform,v=n.scale,y=h,x=c;a=[(f[0]-u.x)/y,(f[1]-u.y)/x],d&&$(f,f,d),y/=v[0]*VS,x/=v[1]*VS;var _=BS(y,x);s=0/_,l=2*i.r/_-s}var w=i.colorStops.slice();w.sort(function(t,e){return t.offset-e.offset});for(var b=w.length,M=[],S=[],I=0;I=2){var D=M[0][0],A=M[1][0],k=M[0][1]*e.opacity,P=M[1][1]*e.opacity;t.type=r,t.method="none",t.focus="100%",t.angle=o,t.color=D,t.color2=A,t.colors=S.join(","),t.opacity=P,t.opacity2=k}"radial"===r&&(t.focusposition=a.join(","))}else YS(t,i,e.opacity)},KS=function(t,e){null!=e.lineDash&&(t.dashstyle=e.lineDash.join(" ")),null==e.stroke||e.stroke instanceof Xv||YS(t,e.stroke,e.opacity)},QS=function(t,e,n,i){var r="fill"==e,o=t.getElementsByTagName(e)[0];null!=n[e]&&"none"!==n[e]&&(r||!r&&n.lineWidth)?(t[r?"filled":"stroked"]="true",n[e]instanceof Xv&&US(t,o),o||(o=Ff(e)),r?$S(o,n,i):KS(o,n),ZS(t,o)):(t[r?"filled":"stroked"]="false",US(t,o))},JS=[[],[],[]],tI=function(t,e){var n,i,r,o,a,s,l=LS.M,u=LS.C,h=LS.L,c=LS.A,d=LS.Q,f=[],p=t.data,g=t.len();for(o=0;o.01?O&&(z+=.0125):Math.abs(E-D)<1e-4?O&&zT?x-=.0125:x+=.0125:O&&ED?y+=.0125:y-=.0125),f.push(N,OS(((T-A)*S+b)*VS-FS),",",OS(((D-k)*I+M)*VS-FS),",",OS(((T+A)*S+b)*VS-FS),",",OS(((D+k)*I+M)*VS-FS),",",OS((z*S+b)*VS-FS),",",OS((E*I+M)*VS-FS),",",OS((y*S+b)*VS-FS),",",OS((x*I+M)*VS-FS)),a=y,s=x;break;case LS.R:var R=JS[0],B=JS[1];R[0]=p[o++],R[1]=p[o++],B[0]=R[0]+p[o++],B[1]=R[1]+p[o++],e&&($(R,R,e),$(B,B,e)),R[0]=OS(R[0]*VS-FS),B[0]=OS(B[0]*VS-FS),R[1]=OS(R[1]*VS-FS),B[1]=OS(B[1]*VS-FS),f.push(" m ",R[0],",",R[1]," l ",B[0],",",R[1]," l ",B[0],",",B[1]," l ",R[0],",",B[1]);break;case LS.Z:f.push(" x ")}if(n>0){f.push(i);for(var V=0;V100&&(rI=0,iI={});var n,i=oI.style;try{i.font=t,n=i.fontFamily.split(",")[0]}catch(t){}e={style:i.fontStyle||"normal",variant:i.fontVariant||"normal",weight:i.fontWeight||"normal",size:0|parseFloat(i.fontSize||12),family:n||"Microsoft YaHei"},iI[t]=e,rI++}return e};!function(t,e){Zg[t]=e}("measureText",function(t,e){var n=PS;nI||((nI=n.createElement("div")).style.cssText="position:absolute;top:-20000px;left:0;padding:0;margin:0;border:none;white-space:pre;",PS.body.appendChild(nI));try{nI.style.font=e}catch(t){}return nI.innerHTML="",nI.appendChild(n.createTextNode(t)),{width:nI.offsetWidth}});for(var sI=new Xt,lI=[Yg,Xe,je,xi,kv],uI=0;uI=r&&u+1>=o){for(var h=[],c=0;c=r&&c+1>=o)return ip(0,s.components);l[n]=s}else l[n]=void 0}a++}();if(d)return d}},pushComponent:function(t,e,n){var i=t[t.length-1];i&&i.added===e&&i.removed===n?t[t.length-1]={count:i.count+1,added:e,removed:n}:t.push({count:1,added:e,removed:n})},extractCommon:function(t,e,n,i){for(var r=e.length,o=n.length,a=t.newPos,s=a-i,l=0;a+1=0;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},op.prototype.update=function(t,e){if(t){var n=this.getDefs(!1);if(t[this._domName]&&n.contains(t[this._domName]))"function"==typeof e&&e(t);else{var i=this.add(t);i&&(t[this._domName]=i)}}},op.prototype.addDom=function(t){this.getDefs(!0).appendChild(t)},op.prototype.removeDom=function(t){var e=this.getDefs(!1);e&&t[this._domName]&&(e.removeChild(t[this._domName]),t[this._domName]=null)},op.prototype.getDoms=function(){var t=this.getDefs(!1);if(!t)return[];var e=[];return d(this._tagNames,function(n){var i=t.getElementsByTagName(n);e=e.concat([].slice.call(i))}),e},op.prototype.markAllUnused=function(){var t=this;d(this.getDoms(),function(e){e[t._markLabel]="0"})},op.prototype.markUsed=function(t){t&&(t[this._markLabel]="1")},op.prototype.removeUnused=function(){var t=this.getDefs(!1);if(t){var e=this;d(this.getDoms(),function(n){"1"!==n[e._markLabel]&&t.removeChild(n)})}},op.prototype.getSvgProxy=function(t){return t instanceof xi?bI:t instanceof je?MI:t instanceof kv?SI:bI},op.prototype.getTextSvgElement=function(t){return t.__textSvgEl},op.prototype.getSvgElement=function(t){return t.__svgEl},u(ap,op),ap.prototype.addWithoutUpdate=function(t,e){if(e&&e.style){var n=this;d(["fill","stroke"],function(i){if(e.style[i]&&("linear"===e.style[i].type||"radial"===e.style[i].type)){var r,o=e.style[i],a=n.getDefs(!0);o._dom?(r=o._dom,a.contains(o._dom)||n.addDom(r)):r=n.add(o),n.markUsed(e);var s=r.getAttribute("id");t.setAttribute(i,"url(#"+s+")")}})}},ap.prototype.add=function(t){var e;if("linear"===t.type)e=this.createElement("linearGradient");else{if("radial"!==t.type)return yg("Illegal gradient type."),null;e=this.createElement("radialGradient")}return t.id=t.id||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-gradient-"+t.id),this.updateDom(t,e),this.addDom(e),e},ap.prototype.update=function(t){var e=this;op.prototype.update.call(this,t,function(){var n=t.type,i=t._dom.tagName;"linear"===n&&"linearGradient"===i||"radial"===n&&"radialGradient"===i?e.updateDom(t,t._dom):(e.removeDom(t),e.add(t))})},ap.prototype.updateDom=function(t,e){if("linear"===t.type)e.setAttribute("x1",t.x),e.setAttribute("y1",t.y),e.setAttribute("x2",t.x2),e.setAttribute("y2",t.y2);else{if("radial"!==t.type)return void yg("Illegal gradient type.");e.setAttribute("cx",t.x),e.setAttribute("cy",t.y),e.setAttribute("r",t.r)}t.global?e.setAttribute("gradientUnits","userSpaceOnUse"):e.setAttribute("gradientUnits","objectBoundingBox"),e.innerHTML="";for(var n=t.colorStops,i=0,r=n.length;i0){var i,r,o=this.getDefs(!0),a=e[0],s=n?"_textDom":"_dom";a[s]?(r=a[s].getAttribute("id"),i=a[s],o.contains(i)||o.appendChild(i)):(r="zr"+this._zrId+"-clip-"+this.nextId,++this.nextId,(i=this.createElement("clipPath")).setAttribute("id",r),o.appendChild(i),a[s]=i);var l=this.getSvgProxy(a);if(a.transform&&a.parent.invTransform&&!n){var u=Array.prototype.slice.call(a.transform);st(a.transform,a.parent.invTransform,a.transform),l.brush(a),a.transform=u}else l.brush(a);var h=this.getSvgElement(a);i.innerHTML="",i.appendChild(h.cloneNode()),t.setAttribute("clip-path","url(#"+r+")"),e.length>1&&this.updateDom(i,e.slice(1),n)}else t&&t.setAttribute("clip-path","none")},sp.prototype.markUsed=function(t){var e=this;t.__clipPaths&&t.__clipPaths.length>0&&d(t.__clipPaths,function(t){t._dom&&op.prototype.markUsed.call(e,t._dom),t._textDom&&op.prototype.markUsed.call(e,t._textDom)})},u(lp,op),lp.prototype.addWithoutUpdate=function(t,e){if(e&&up(e.style)){var n,i=e.style;i._shadowDom?(n=i._shadowDom,this.getDefs(!0).contains(i._shadowDom)||this.addDom(n)):n=this.add(e),this.markUsed(e);var r=n.getAttribute("id");t.style.filter="url(#"+r+")"}},lp.prototype.add=function(t){var e=this.createElement("filter"),n=t.style;return n._shadowDomId=n._shadowDomId||this.nextId++,e.setAttribute("id","zr"+this._zrId+"-shadow-"+n._shadowDomId),this.updateDom(t,e),this.addDom(e),e},lp.prototype.update=function(t,e){var n=e.style;if(up(n)){var i=this;op.prototype.update.call(this,e,function(t){i.updateDom(e,t._shadowDom)})}else this.remove(t,n)},lp.prototype.remove=function(t,e){null!=e._shadowDomId&&(this.removeDom(e),t.style.filter="")},lp.prototype.updateDom=function(t,e){var n=e.getElementsByTagName("feDropShadow");n=0===n.length?this.createElement("feDropShadow"):n[0];var i,r,o,a,s=t.style,l=t.scale?t.scale[0]||1:1,u=t.scale?t.scale[1]||1:1;if(s.shadowBlur||s.shadowOffsetX||s.shadowOffsetY)i=s.shadowOffsetX||0,r=s.shadowOffsetY||0,o=s.shadowBlur,a=s.shadowColor;else{if(!s.textShadowBlur)return void this.removeDom(e,s);i=s.textShadowOffsetX||0,r=s.textShadowOffsetY||0,o=s.textShadowBlur,a=s.textShadowColor}n.setAttribute("dx",i/l),n.setAttribute("dy",r/u),n.setAttribute("flood-color",a);var h=o/2/l+" "+o/2/u;n.setAttribute("stdDeviation",h),e.setAttribute("x","-100%"),e.setAttribute("y","-100%"),e.setAttribute("width",Math.ceil(o/2*200)+"%"),e.setAttribute("height",Math.ceil(o/2*200)+"%"),e.appendChild(n),s._shadowDom=e},lp.prototype.markUsed=function(t){var e=t.style;e&&e._shadowDom&&op.prototype.markUsed.call(this,e._shadowDom)};var AI=function(t,e,n,i){this.root=t,this.storage=e,this._opts=n=o({},n||{});var r=Uf("svg");r.setAttribute("xmlns","http://www.w3.org/2000/svg"),r.setAttribute("version","1.1"),r.setAttribute("baseProfile","full"),r.style.cssText="user-select:none;position:absolute;left:0;top:0;",this.gradientManager=new ap(i,r),this.clipPathManager=new sp(i,r),this.shadowManager=new lp(i,r);var a=document.createElement("div");a.style.cssText="overflow:hidden;position:relative",this._svgRoot=r,this._viewport=a,t.appendChild(a),a.appendChild(r),this.resize(n.width,n.height),this._visibleList=[]};AI.prototype={constructor:AI,getType:function(){return"svg"},getViewportRoot:function(){return this._viewport},getViewportRootOffset:function(){var t=this.getViewportRoot();if(t)return{offsetLeft:t.offsetLeft||0,offsetTop:t.offsetTop||0}},refresh:function(){var t=this.storage.getDisplayList(!0);this._paintList(t)},setBackgroundColor:function(t){this._viewport.style.background=t},_paintList:function(t){this.gradientManager.markAllUnused(),this.clipPathManager.markAllUnused(),this.shadowManager.markAllUnused();var e,n=this._svgRoot,i=this._visibleList,r=t.length,o=[];for(e=0;e=0;--i)if(e[i]===t)return!0;return!1}),n):null:n[0]},resize:function(t,e){var n=this._viewport;n.style.display="none";var i=this._opts;if(null!=t&&(i.width=t),null!=e&&(i.height=e),t=this._getSize(0),e=this._getSize(1),n.style.display="",this._width!==t||this._height!==e){this._width=t,this._height=e;var r=n.style;r.width=t+"px",r.height=e+"px";var o=this._svgRoot;o.setAttribute("width",t),o.setAttribute("height",e)}},getWidth:function(){return this._width},getHeight:function(){return this._height},_getSize:function(t){var e=this._opts,n=["width","height"][t],i=["clientWidth","clientHeight"][t],r=["paddingLeft","paddingTop"][t],o=["paddingRight","paddingBottom"][t];if(null!=e[n]&&"auto"!==e[n])return parseFloat(e[n]);var a=this.root,s=document.defaultView.getComputedStyle(a);return(a[i]||hp(s[n])||hp(a.style[n]))-(hp(s[r])||0)-(hp(s[o])||0)|0},dispose:function(){this.root.innerHTML="",this._svgRoot=this._viewport=this.storage=null},clear:function(){this._viewport&&this.root.removeChild(this._viewport)},pathToDataUrl:function(){return this.refresh(),"data:image/svg+xml;charset=UTF-8,"+this._svgRoot.outerHTML}},d(["getLayer","insertLayer","eachLayer","eachBuiltinLayer","eachOtherLayer","getLayers","modLayer","delLayer","clearLayer","toDataURL","pathToImage"],function(t){AI.prototype[t]=yp(t)}),vn("svg",AI),t.version="4.1.0",t.dependencies=Gx,t.PRIORITY=Xx,t.init=function(t,e,n){var i=$a(t);if(i)return i;var r=new Aa(t,e,n);return r.id="ec_"+u_++,s_[r.id]=r,Pn(t,c_,r.id),Ya(r),r},t.connect=function(t){if(y(t)){var e=t;t=null,Bx(e,function(e){null!=e.group&&(t=e.group)}),t=t||"g_"+h_++,Bx(e,function(e){e.group=t})}return l_[t]=!0,t},t.disConnect=qa,t.disconnect=f_,t.dispose=function(t){"string"==typeof t?t=s_[t]:t instanceof Aa||(t=$a(t)),t instanceof Aa&&!t.isDisposed()&&t.dispose()},t.getInstanceByDom=$a,t.getInstanceById=function(t){return s_[t]},t.registerTheme=Ka,t.registerPreprocessor=Qa,t.registerProcessor=Ja,t.registerPostUpdate=function(t){i_.push(t)},t.registerAction=ts,t.registerCoordinateSystem=function(t,e){yo.register(t,e)},t.getCoordinateSystemDimensions=function(t){var e=yo.get(t);if(e)return e.getDimensionsInfo?e.getDimensionsInfo():e.dimensions.slice()},t.registerLayout=es,t.registerVisual=ns,t.registerLoading=rs,t.extendComponentModel=os,t.extendComponentView=as,t.extendSeriesModel=ss,t.extendChartView=ls,t.setCanvasCreator=function(t){e("createCanvas",t)},t.registerMap=function(t,e,n){e.geoJson&&!e.features&&(n=e.specialAreas,e=e.geoJson),"string"==typeof e&&(e="undefined"!=typeof JSON&&JSON.parse?JSON.parse(e):new Function("return ("+e+");")()),d_[t]={geoJson:e,specialAreas:n}},t.getMap=function(t){return d_[t]},t.dataTool=p_,t.zrender=pm,t.graphic=ty,t.number=hy,t.format=yy,t.throttle=ua,t.helper=aw,t.matrix=qp,t.vector=Gp,t.color=dg,t.parseGeoJSON=lw,t.parseGeoJson=dw,t.util=fw,t.List=M_,t.Model=pr,t.Axis=cw,t.env=bp}); diff --git a/lib/layui/css/layui.css b/lib/layui/css/layui.css deleted file mode 100755 index f297bf6..0000000 --- a/lib/layui/css/layui.css +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - .layui-inline,img{display:inline-block;vertical-align:middle}h1,h2,h3,h4,h5,h6{font-weight:400}.layui-edge,.layui-header,.layui-inline,.layui-main{position:relative}.layui-elip,.layui-form-checkbox span,.layui-form-pane .layui-form-label{text-overflow:ellipsis;white-space:nowrap}.layui-btn,.layui-edge,.layui-inline,img{vertical-align:middle}.layui-btn,.layui-disabled,.layui-icon,.layui-unselect{-webkit-user-select:none;-ms-user-select:none;-moz-user-select:none}blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,li,ol,p,pre,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}a:active,a:hover{outline:0}img{border:none}li{list-style:none}table{border-collapse:collapse;border-spacing:0}h4,h5,h6{font-size:100%}button,input,optgroup,option,select,textarea{font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;outline:0}pre{white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word}body{line-height:24px;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif}hr{height:1px;margin:10px 0;border:0;clear:both}a{color:#333;text-decoration:none}a:hover{color:#777}a cite{font-style:normal;*cursor:pointer}.layui-border-box,.layui-border-box *{box-sizing:border-box}.layui-box,.layui-box *{box-sizing:content-box}.layui-clear{clear:both;*zoom:1}.layui-clear:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-inline{*display:inline;*zoom:1}.layui-edge{display:inline-block;width:0;height:0;border-width:6px;border-style:dashed;border-color:transparent;overflow:hidden}.layui-edge-top{top:-4px;border-bottom-color:#999;border-bottom-style:solid}.layui-edge-right{border-left-color:#999;border-left-style:solid}.layui-edge-bottom{top:2px;border-top-color:#999;border-top-style:solid}.layui-edge-left{border-right-color:#999;border-right-style:solid}.layui-elip{overflow:hidden}.layui-disabled,.layui-disabled:hover{color:#d2d2d2!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=240);src:url(../font/iconfont.eot?v=240#iefix) format('embedded-opentype'),url(../font/iconfont.svg?v=240#iconfont) format('svg'),url(../font/iconfont.woff?v=240) format('woff'),url(../font/iconfont.ttf?v=240) format('truetype')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-icon-reply-fill:before{content:"\e611"}.layui-icon-set-fill:before{content:"\e614"}.layui-icon-menu-fill:before{content:"\e60f"}.layui-icon-search:before{content:"\e615"}.layui-icon-share:before{content:"\e641"}.layui-icon-set-sm:before{content:"\e620"}.layui-icon-engine:before{content:"\e628"}.layui-icon-close:before{content:"\1006"}.layui-icon-close-fill:before{content:"\1007"}.layui-icon-chart-screen:before{content:"\e629"}.layui-icon-star:before{content:"\e600"}.layui-icon-circle-dot:before{content:"\e617"}.layui-icon-chat:before{content:"\e606"}.layui-icon-release:before{content:"\e609"}.layui-icon-list:before{content:"\e60a"}.layui-icon-chart:before{content:"\e62c"}.layui-icon-ok-circle:before{content:"\1005"}.layui-icon-layim-theme:before{content:"\e61b"}.layui-icon-table:before{content:"\e62d"}.layui-icon-right:before{content:"\e602"}.layui-icon-left:before{content:"\e603"}.layui-icon-cart-simple:before{content:"\e698"}.layui-icon-face-cry:before{content:"\e69c"}.layui-icon-face-smile:before{content:"\e6af"}.layui-icon-survey:before{content:"\e6b2"}.layui-icon-tree:before{content:"\e62e"}.layui-icon-upload-circle:before{content:"\e62f"}.layui-icon-add-circle:before{content:"\e61f"}.layui-icon-download-circle:before{content:"\e601"}.layui-icon-templeate-1:before{content:"\e630"}.layui-icon-util:before{content:"\e631"}.layui-icon-face-surprised:before{content:"\e664"}.layui-icon-edit:before{content:"\e642"}.layui-icon-speaker:before{content:"\e645"}.layui-icon-down:before{content:"\e61a"}.layui-icon-file:before{content:"\e621"}.layui-icon-layouts:before{content:"\e632"}.layui-icon-rate-half:before{content:"\e6c9"}.layui-icon-add-circle-fine:before{content:"\e608"}.layui-icon-prev-circle:before{content:"\e633"}.layui-icon-read:before{content:"\e705"}.layui-icon-404:before{content:"\e61c"}.layui-icon-carousel:before{content:"\e634"}.layui-icon-help:before{content:"\e607"}.layui-icon-code-circle:before{content:"\e635"}.layui-icon-water:before{content:"\e636"}.layui-icon-username:before{content:"\e66f"}.layui-icon-find-fill:before{content:"\e670"}.layui-icon-about:before{content:"\e60b"}.layui-icon-location:before{content:"\e715"}.layui-icon-up:before{content:"\e619"}.layui-icon-pause:before{content:"\e651"}.layui-icon-date:before{content:"\e637"}.layui-icon-layim-uploadfile:before{content:"\e61d"}.layui-icon-delete:before{content:"\e640"}.layui-icon-play:before{content:"\e652"}.layui-icon-top:before{content:"\e604"}.layui-icon-friends:before{content:"\e612"}.layui-icon-refresh-3:before{content:"\e9aa"}.layui-icon-ok:before{content:"\e605"}.layui-icon-layer:before{content:"\e638"}.layui-icon-face-smile-fine:before{content:"\e60c"}.layui-icon-dollar:before{content:"\e659"}.layui-icon-group:before{content:"\e613"}.layui-icon-layim-download:before{content:"\e61e"}.layui-icon-picture-fine:before{content:"\e60d"}.layui-icon-link:before{content:"\e64c"}.layui-icon-diamond:before{content:"\e735"}.layui-icon-log:before{content:"\e60e"}.layui-icon-rate-solid:before{content:"\e67a"}.layui-icon-fonts-del:before{content:"\e64f"}.layui-icon-unlink:before{content:"\e64d"}.layui-icon-fonts-clear:before{content:"\e639"}.layui-icon-triangle-r:before{content:"\e623"}.layui-icon-circle:before{content:"\e63f"}.layui-icon-radio:before{content:"\e643"}.layui-icon-align-center:before{content:"\e647"}.layui-icon-align-right:before{content:"\e648"}.layui-icon-align-left:before{content:"\e649"}.layui-icon-loading-1:before{content:"\e63e"}.layui-icon-return:before{content:"\e65c"}.layui-icon-fonts-strong:before{content:"\e62b"}.layui-icon-upload:before{content:"\e67c"}.layui-icon-dialogue:before{content:"\e63a"}.layui-icon-video:before{content:"\e6ed"}.layui-icon-headset:before{content:"\e6fc"}.layui-icon-cellphone-fine:before{content:"\e63b"}.layui-icon-add-1:before{content:"\e654"}.layui-icon-face-smile-b:before{content:"\e650"}.layui-icon-fonts-html:before{content:"\e64b"}.layui-icon-form:before{content:"\e63c"}.layui-icon-cart:before{content:"\e657"}.layui-icon-camera-fill:before{content:"\e65d"}.layui-icon-tabs:before{content:"\e62a"}.layui-icon-fonts-code:before{content:"\e64e"}.layui-icon-fire:before{content:"\e756"}.layui-icon-set:before{content:"\e716"}.layui-icon-fonts-u:before{content:"\e646"}.layui-icon-triangle-d:before{content:"\e625"}.layui-icon-tips:before{content:"\e702"}.layui-icon-picture:before{content:"\e64a"}.layui-icon-more-vertical:before{content:"\e671"}.layui-icon-flag:before{content:"\e66c"}.layui-icon-loading:before{content:"\e63d"}.layui-icon-fonts-i:before{content:"\e644"}.layui-icon-refresh-1:before{content:"\e666"}.layui-icon-rmb:before{content:"\e65e"}.layui-icon-home:before{content:"\e68e"}.layui-icon-user:before{content:"\e770"}.layui-icon-notice:before{content:"\e667"}.layui-icon-login-weibo:before{content:"\e675"}.layui-icon-voice:before{content:"\e688"}.layui-icon-upload-drag:before{content:"\e681"}.layui-icon-login-qq:before{content:"\e676"}.layui-icon-snowflake:before{content:"\e6b1"}.layui-icon-file-b:before{content:"\e655"}.layui-icon-template:before{content:"\e663"}.layui-icon-auz:before{content:"\e672"}.layui-icon-console:before{content:"\e665"}.layui-icon-app:before{content:"\e653"}.layui-icon-prev:before{content:"\e65a"}.layui-icon-website:before{content:"\e7ae"}.layui-icon-next:before{content:"\e65b"}.layui-icon-component:before{content:"\e857"}.layui-icon-more:before{content:"\e65f"}.layui-icon-login-wechat:before{content:"\e677"}.layui-icon-shrink-right:before{content:"\e668"}.layui-icon-spread-left:before{content:"\e66b"}.layui-icon-camera:before{content:"\e660"}.layui-icon-note:before{content:"\e66e"}.layui-icon-refresh:before{content:"\e669"}.layui-icon-female:before{content:"\e661"}.layui-icon-male:before{content:"\e662"}.layui-icon-password:before{content:"\e673"}.layui-icon-senior:before{content:"\e674"}.layui-icon-theme:before{content:"\e66a"}.layui-icon-tread:before{content:"\e6c5"}.layui-icon-praise:before{content:"\e6c6"}.layui-icon-star-fill:before{content:"\e658"}.layui-icon-rate:before{content:"\e67b"}.layui-icon-template-1:before{content:"\e656"}.layui-icon-vercode:before{content:"\e679"}.layui-icon-cellphone:before{content:"\e678"}.layui-icon-screen-full:before{content:"\e622"}.layui-icon-screen-restore:before{content:"\e758"}.layui-icon-cols:before{content:"\e610"}.layui-icon-export:before{content:"\e67d"}.layui-icon-print:before{content:"\e66d"}.layui-icon-slider:before{content:"\e714"}.layui-main{width:1140px;margin:0 auto}.layui-header{z-index:1000;height:60px}.layui-header a:hover{transition:all .5s;-webkit-transition:all .5s}.layui-side{position:fixed;left:0;top:0;bottom:0;z-index:999;width:200px;overflow-x:hidden}.layui-side-scroll{position:relative;width:220px;height:100%;overflow-x:hidden}.layui-body{position:absolute;left:200px;right:0;top:0;bottom:0;z-index:998;width:auto;overflow:hidden;overflow-y:auto;box-sizing:border-box}.layui-layout-body{overflow:hidden}.layui-layout-admin .layui-header{background-color:#23262E}.layui-layout-admin .layui-side{top:60px;width:200px;overflow-x:hidden}.layui-layout-admin .layui-body{top:60px;bottom:44px}.layui-layout-admin .layui-main{width:auto;margin:0 15px}.layui-layout-admin .layui-footer{position:fixed;left:200px;right:0;bottom:0;height:44px;line-height:44px;padding:0 15px;background-color:#eee}.layui-layout-admin .layui-logo{position:absolute;left:0;top:0;width:200px;height:100%;line-height:60px;text-align:center;color:#009688;font-size:16px}.layui-layout-admin .layui-header .layui-nav{background:0 0}.layui-layout-left{position:absolute!important;left:200px;top:0}.layui-layout-right{position:absolute!important;right:0;top:0}.layui-container{position:relative;margin:0 auto;padding:0 15px;box-sizing:border-box}.layui-fluid{position:relative;margin:0 auto;padding:0 15px}.layui-row:after,.layui-row:before{content:'';display:block;clear:both}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9,.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9,.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9,.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{position:relative;display:block;box-sizing:border-box}.layui-col-xs1,.layui-col-xs10,.layui-col-xs11,.layui-col-xs12,.layui-col-xs2,.layui-col-xs3,.layui-col-xs4,.layui-col-xs5,.layui-col-xs6,.layui-col-xs7,.layui-col-xs8,.layui-col-xs9{float:left}.layui-col-xs1{width:8.33333333%}.layui-col-xs2{width:16.66666667%}.layui-col-xs3{width:25%}.layui-col-xs4{width:33.33333333%}.layui-col-xs5{width:41.66666667%}.layui-col-xs6{width:50%}.layui-col-xs7{width:58.33333333%}.layui-col-xs8{width:66.66666667%}.layui-col-xs9{width:75%}.layui-col-xs10{width:83.33333333%}.layui-col-xs11{width:91.66666667%}.layui-col-xs12{width:100%}.layui-col-xs-offset1{margin-left:8.33333333%}.layui-col-xs-offset2{margin-left:16.66666667%}.layui-col-xs-offset3{margin-left:25%}.layui-col-xs-offset4{margin-left:33.33333333%}.layui-col-xs-offset5{margin-left:41.66666667%}.layui-col-xs-offset6{margin-left:50%}.layui-col-xs-offset7{margin-left:58.33333333%}.layui-col-xs-offset8{margin-left:66.66666667%}.layui-col-xs-offset9{margin-left:75%}.layui-col-xs-offset10{margin-left:83.33333333%}.layui-col-xs-offset11{margin-left:91.66666667%}.layui-col-xs-offset12{margin-left:100%}@media screen and (max-width:768px){.layui-hide-xs{display:none!important}.layui-show-xs-block{display:block!important}.layui-show-xs-inline{display:inline!important}.layui-show-xs-inline-block{display:inline-block!important}}@media screen and (min-width:768px){.layui-container{width:750px}.layui-hide-sm{display:none!important}.layui-show-sm-block{display:block!important}.layui-show-sm-inline{display:inline!important}.layui-show-sm-inline-block{display:inline-block!important}.layui-col-sm1,.layui-col-sm10,.layui-col-sm11,.layui-col-sm12,.layui-col-sm2,.layui-col-sm3,.layui-col-sm4,.layui-col-sm5,.layui-col-sm6,.layui-col-sm7,.layui-col-sm8,.layui-col-sm9{float:left}.layui-col-sm1{width:8.33333333%}.layui-col-sm2{width:16.66666667%}.layui-col-sm3{width:25%}.layui-col-sm4{width:33.33333333%}.layui-col-sm5{width:41.66666667%}.layui-col-sm6{width:50%}.layui-col-sm7{width:58.33333333%}.layui-col-sm8{width:66.66666667%}.layui-col-sm9{width:75%}.layui-col-sm10{width:83.33333333%}.layui-col-sm11{width:91.66666667%}.layui-col-sm12{width:100%}.layui-col-sm-offset1{margin-left:8.33333333%}.layui-col-sm-offset2{margin-left:16.66666667%}.layui-col-sm-offset3{margin-left:25%}.layui-col-sm-offset4{margin-left:33.33333333%}.layui-col-sm-offset5{margin-left:41.66666667%}.layui-col-sm-offset6{margin-left:50%}.layui-col-sm-offset7{margin-left:58.33333333%}.layui-col-sm-offset8{margin-left:66.66666667%}.layui-col-sm-offset9{margin-left:75%}.layui-col-sm-offset10{margin-left:83.33333333%}.layui-col-sm-offset11{margin-left:91.66666667%}.layui-col-sm-offset12{margin-left:100%}}@media screen and (min-width:992px){.layui-container{width:970px}.layui-hide-md{display:none!important}.layui-show-md-block{display:block!important}.layui-show-md-inline{display:inline!important}.layui-show-md-inline-block{display:inline-block!important}.layui-col-md1,.layui-col-md10,.layui-col-md11,.layui-col-md12,.layui-col-md2,.layui-col-md3,.layui-col-md4,.layui-col-md5,.layui-col-md6,.layui-col-md7,.layui-col-md8,.layui-col-md9{float:left}.layui-col-md1{width:8.33333333%}.layui-col-md2{width:16.66666667%}.layui-col-md3{width:25%}.layui-col-md4{width:33.33333333%}.layui-col-md5{width:41.66666667%}.layui-col-md6{width:50%}.layui-col-md7{width:58.33333333%}.layui-col-md8{width:66.66666667%}.layui-col-md9{width:75%}.layui-col-md10{width:83.33333333%}.layui-col-md11{width:91.66666667%}.layui-col-md12{width:100%}.layui-col-md-offset1{margin-left:8.33333333%}.layui-col-md-offset2{margin-left:16.66666667%}.layui-col-md-offset3{margin-left:25%}.layui-col-md-offset4{margin-left:33.33333333%}.layui-col-md-offset5{margin-left:41.66666667%}.layui-col-md-offset6{margin-left:50%}.layui-col-md-offset7{margin-left:58.33333333%}.layui-col-md-offset8{margin-left:66.66666667%}.layui-col-md-offset9{margin-left:75%}.layui-col-md-offset10{margin-left:83.33333333%}.layui-col-md-offset11{margin-left:91.66666667%}.layui-col-md-offset12{margin-left:100%}}@media screen and (min-width:1200px){.layui-container{width:1170px}.layui-hide-lg{display:none!important}.layui-show-lg-block{display:block!important}.layui-show-lg-inline{display:inline!important}.layui-show-lg-inline-block{display:inline-block!important}.layui-col-lg1,.layui-col-lg10,.layui-col-lg11,.layui-col-lg12,.layui-col-lg2,.layui-col-lg3,.layui-col-lg4,.layui-col-lg5,.layui-col-lg6,.layui-col-lg7,.layui-col-lg8,.layui-col-lg9{float:left}.layui-col-lg1{width:8.33333333%}.layui-col-lg2{width:16.66666667%}.layui-col-lg3{width:25%}.layui-col-lg4{width:33.33333333%}.layui-col-lg5{width:41.66666667%}.layui-col-lg6{width:50%}.layui-col-lg7{width:58.33333333%}.layui-col-lg8{width:66.66666667%}.layui-col-lg9{width:75%}.layui-col-lg10{width:83.33333333%}.layui-col-lg11{width:91.66666667%}.layui-col-lg12{width:100%}.layui-col-lg-offset1{margin-left:8.33333333%}.layui-col-lg-offset2{margin-left:16.66666667%}.layui-col-lg-offset3{margin-left:25%}.layui-col-lg-offset4{margin-left:33.33333333%}.layui-col-lg-offset5{margin-left:41.66666667%}.layui-col-lg-offset6{margin-left:50%}.layui-col-lg-offset7{margin-left:58.33333333%}.layui-col-lg-offset8{margin-left:66.66666667%}.layui-col-lg-offset9{margin-left:75%}.layui-col-lg-offset10{margin-left:83.33333333%}.layui-col-lg-offset11{margin-left:91.66666667%}.layui-col-lg-offset12{margin-left:100%}}.layui-col-space1{margin:-.5px}.layui-col-space1>*{padding:.5px}.layui-col-space3{margin:-1.5px}.layui-col-space3>*{padding:1.5px}.layui-col-space5{margin:-2.5px}.layui-col-space5>*{padding:2.5px}.layui-col-space8{margin:-3.5px}.layui-col-space8>*{padding:3.5px}.layui-col-space10{margin:-5px}.layui-col-space10>*{padding:5px}.layui-col-space12{margin:-6px}.layui-col-space12>*{padding:6px}.layui-col-space15{margin:-7.5px}.layui-col-space15>*{padding:7.5px}.layui-col-space18{margin:-9px}.layui-col-space18>*{padding:9px}.layui-col-space20{margin:-10px}.layui-col-space20>*{padding:10px}.layui-col-space22{margin:-11px}.layui-col-space22>*{padding:11px}.layui-col-space25{margin:-12.5px}.layui-col-space25>*{padding:12.5px}.layui-col-space30{margin:-15px}.layui-col-space30>*{padding:15px}.layui-btn,.layui-input,.layui-select,.layui-textarea,.layui-upload-button{outline:0;-webkit-appearance:none;transition:all .3s;-webkit-transition:all .3s;box-sizing:border-box}.layui-elem-quote{margin-bottom:10px;padding:15px;line-height:22px;border-left:5px solid #009688;border-radius:0 2px 2px 0;background-color:#f2f2f2}.layui-quote-nm{border-style:solid;border-width:1px 1px 1px 5px;background:0 0}.layui-elem-field{margin-bottom:10px;padding:0;border-width:1px;border-style:solid}.layui-elem-field legend{margin-left:20px;padding:0 10px;font-size:20px;font-weight:300}.layui-field-title{margin:10px 0 20px;border-width:1px 0 0}.layui-field-box{padding:10px 15px}.layui-field-title .layui-field-box{padding:10px 0}.layui-progress{position:relative;height:6px;border-radius:20px;background-color:#e2e2e2}.layui-progress-bar{position:absolute;left:0;top:0;width:0;max-width:100%;height:6px;border-radius:20px;text-align:right;background-color:#5FB878;transition:all .3s;-webkit-transition:all .3s}.layui-progress-big,.layui-progress-big .layui-progress-bar{height:18px;line-height:18px}.layui-progress-text{position:relative;top:-20px;line-height:18px;font-size:12px;color:#666}.layui-progress-big .layui-progress-text{position:static;padding:0 10px;color:#fff}.layui-collapse{border-width:1px;border-style:solid;border-radius:2px}.layui-colla-content,.layui-colla-item{border-top-width:1px;border-top-style:solid}.layui-colla-item:first-child{border-top:none}.layui-colla-title{position:relative;height:42px;line-height:42px;padding:0 15px 0 35px;color:#333;background-color:#f2f2f2;cursor:pointer;font-size:14px;overflow:hidden}.layui-colla-content{display:none;padding:10px 15px;line-height:22px;color:#666}.layui-colla-icon{position:absolute;left:15px;top:0;font-size:14px}.layui-card{margin-bottom:15px;border-radius:2px;background-color:#fff;box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.layui-card:last-child{margin-bottom:0}.layui-card-header{position:relative;height:42px;line-height:42px;padding:0 15px;border-bottom:1px solid #f6f6f6;color:#333;border-radius:2px 2px 0 0;font-size:14px}.layui-bg-black,.layui-bg-blue,.layui-bg-cyan,.layui-bg-green,.layui-bg-orange,.layui-bg-red{color:#fff!important}.layui-card-body{position:relative;padding:10px 15px;line-height:24px}.layui-card-body[pad15]{padding:15px}.layui-card-body[pad20]{padding:20px}.layui-card-body .layui-table{margin:5px 0}.layui-card .layui-tab{margin:0}.layui-panel-window{position:relative;padding:15px;border-radius:0;border-top:5px solid #E6E6E6;background-color:#fff}.layui-auxiliar-moving{position:fixed;left:0;right:0;top:0;bottom:0;width:100%;height:100%;background:0 0;z-index:9999999999}.layui-form-label,.layui-form-mid,.layui-form-select,.layui-input-block,.layui-input-inline,.layui-textarea{position:relative}.layui-bg-red{background-color:#FF5722!important}.layui-bg-orange{background-color:#FFB800!important}.layui-bg-green{background-color:#009688!important}.layui-bg-cyan{background-color:#2F4056!important}.layui-bg-blue{background-color:#1E9FFF!important}.layui-bg-black{background-color:#393D49!important}.layui-bg-gray{background-color:#eee!important;color:#666!important}.layui-badge-rim,.layui-colla-content,.layui-colla-item,.layui-collapse,.layui-elem-field,.layui-form-pane .layui-form-item[pane],.layui-form-pane .layui-form-label,.layui-input,.layui-layedit,.layui-layedit-tool,.layui-quote-nm,.layui-select,.layui-tab-bar,.layui-tab-card,.layui-tab-title,.layui-tab-title .layui-this:after,.layui-textarea{border-color:#e6e6e6}.layui-timeline-item:before,hr{background-color:#e6e6e6}.layui-text{line-height:22px;font-size:14px;color:#666}.layui-text h1,.layui-text h2,.layui-text h3{font-weight:500;color:#333}.layui-text h1{font-size:30px}.layui-text h2{font-size:24px}.layui-text h3{font-size:18px}.layui-text a:not(.layui-btn){color:#01AAED}.layui-text a:not(.layui-btn):hover{text-decoration:underline}.layui-text ul{padding:5px 0 5px 15px}.layui-text ul li{margin-top:5px;list-style-type:disc}.layui-text em,.layui-word-aux{color:#999!important;padding:0 5px!important}.layui-btn{display:inline-block;height:38px;line-height:38px;padding:0 18px;background-color:#009688;color:#fff;white-space:nowrap;text-align:center;font-size:14px;border:none;border-radius:2px;cursor:pointer}.layui-btn:hover{opacity:.8;filter:alpha(opacity=80);color:#fff}.layui-btn:active{opacity:1;filter:alpha(opacity=100)}.layui-btn+.layui-btn{margin-left:10px}.layui-btn-container{font-size:0}.layui-btn-container .layui-btn{margin-right:10px;margin-bottom:10px}.layui-btn-container .layui-btn+.layui-btn{margin-left:0}.layui-table .layui-btn-container .layui-btn{margin-bottom:9px}.layui-btn-radius{border-radius:100px}.layui-btn .layui-icon{margin-right:3px;font-size:18px;vertical-align:bottom;vertical-align:middle\9}.layui-btn-primary{border:1px solid #C9C9C9;background-color:#fff;color:#555}.layui-btn-primary:hover{border-color:#009688;color:#333}.layui-btn-normal{background-color:#1E9FFF}.layui-btn-warm{background-color:#FFB800}.layui-btn-danger{background-color:#FF5722}.layui-btn-disabled,.layui-btn-disabled:active,.layui-btn-disabled:hover{border:1px solid #e6e6e6;background-color:#FBFBFB;color:#C9C9C9;cursor:not-allowed;opacity:1}.layui-btn-lg{height:44px;line-height:44px;padding:0 25px;font-size:16px}.layui-btn-sm{height:30px;line-height:30px;padding:0 10px;font-size:12px}.layui-btn-sm i{font-size:16px!important}.layui-btn-xs{height:22px;line-height:22px;padding:0 5px;font-size:12px}.layui-btn-xs i{font-size:14px!important}.layui-btn-group{display:inline-block;vertical-align:middle;font-size:0}.layui-btn-group .layui-btn{margin-left:0!important;margin-right:0!important;border-left:1px solid rgba(255,255,255,.5);border-radius:0}.layui-btn-group .layui-btn-primary{border-left:none}.layui-btn-group .layui-btn-primary:hover{border-color:#C9C9C9;color:#009688}.layui-btn-group .layui-btn:first-child{border-left:none;border-radius:2px 0 0 2px}.layui-btn-group .layui-btn-primary:first-child{border-left:1px solid #c9c9c9}.layui-btn-group .layui-btn:last-child{border-radius:0 2px 2px 0}.layui-btn-group .layui-btn+.layui-btn{margin-left:0}.layui-btn-group+.layui-btn-group{margin-left:10px}.layui-btn-fluid{width:100%}.layui-input,.layui-select,.layui-textarea{height:38px;line-height:1.3;line-height:38px\9;border-width:1px;border-style:solid;background-color:#fff;border-radius:2px}.layui-input::-webkit-input-placeholder,.layui-select::-webkit-input-placeholder,.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-input,.layui-textarea{display:block;width:100%;padding-left:10px}.layui-input:hover,.layui-textarea:hover{border-color:#D2D2D2!important}.layui-input:focus,.layui-textarea:focus{border-color:#C9C9C9!important}.layui-textarea{min-height:100px;height:auto;line-height:20px;padding:6px 10px;resize:vertical}.layui-select{padding:0 10px}.layui-form input[type=checkbox],.layui-form input[type=radio],.layui-form select{display:none}.layui-form [lay-ignore]{display:initial}.layui-form-item{margin-bottom:15px;clear:both;*zoom:1}.layui-form-item:after{content:'\20';clear:both;*zoom:1;display:block;height:0}.layui-form-label{float:left;display:block;padding:9px 15px;width:80px;font-weight:400;line-height:20px;text-align:right}.layui-form-label-col{display:block;float:none;padding:9px 0;line-height:20px;text-align:left}.layui-form-item .layui-inline{margin-bottom:5px;margin-right:10px}.layui-input-block{margin-left:110px;min-height:36px}.layui-input-inline{display:inline-block;vertical-align:middle}.layui-form-item .layui-input-inline{float:left;width:190px;margin-right:10px}.layui-form-text .layui-input-inline{width:auto}.layui-form-mid{float:left;display:block;padding:9px 0!important;line-height:20px;margin-right:10px}.layui-form-danger+.layui-form-select .layui-input,.layui-form-danger:focus{border-color:#FF5722!important}.layui-form-select .layui-input{padding-right:30px;cursor:pointer}.layui-form-select .layui-edge{position:absolute;right:10px;top:50%;margin-top:-3px;cursor:pointer;border-width:6px;border-top-color:#c2c2c2;border-top-style:solid;transition:all .3s;-webkit-transition:all .3s}.layui-form-select dl{display:none;position:absolute;left:0;top:42px;padding:5px 0;z-index:899;min-width:100%;border:1px solid #d2d2d2;max-height:300px;overflow-y:auto;background-color:#fff;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12);box-sizing:border-box}.layui-form-select dl dd,.layui-form-select dl dt{padding:0 10px;line-height:36px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layui-form-select dl dt{font-size:12px;color:#999}.layui-form-select dl dd{cursor:pointer}.layui-form-select dl dd:hover{background-color:#f2f2f2;-webkit-transition:.5s all;transition:.5s all}.layui-form-select .layui-select-group dd{padding-left:20px}.layui-form-select dl dd.layui-select-tips{padding-left:10px!important;color:#999}.layui-form-select dl dd.layui-this{background-color:#5FB878;color:#fff}.layui-form-checkbox,.layui-form-select dl dd.layui-disabled{background-color:#fff}.layui-form-selected dl{display:block}.layui-form-checkbox,.layui-form-checkbox *,.layui-form-switch{display:inline-block;vertical-align:middle}.layui-form-selected .layui-edge{margin-top:-9px;-webkit-transform:rotate(180deg);transform:rotate(180deg);margin-top:-3px\9}:root .layui-form-selected .layui-edge{margin-top:-9px\0/IE9}.layui-form-selectup dl{top:auto;bottom:42px}.layui-select-none{margin:5px 0;text-align:center;color:#999}.layui-select-disabled .layui-disabled{border-color:#eee!important}.layui-select-disabled .layui-edge{border-top-color:#d2d2d2}.layui-form-checkbox{position:relative;height:30px;line-height:30px;margin-right:10px;padding-right:30px;cursor:pointer;font-size:0;-webkit-transition:.1s linear;transition:.1s linear;box-sizing:border-box}.layui-form-checkbox span{padding:0 10px;height:100%;font-size:14px;border-radius:2px 0 0 2px;background-color:#d2d2d2;color:#fff;overflow:hidden}.layui-form-checkbox:hover span{background-color:#c2c2c2}.layui-form-checkbox i{position:absolute;right:0;top:0;width:30px;height:28px;border:1px solid #d2d2d2;border-left:none;border-radius:0 2px 2px 0;color:#fff;font-size:20px;text-align:center}.layui-form-checkbox:hover i{border-color:#c2c2c2;color:#c2c2c2}.layui-form-checked,.layui-form-checked:hover{border-color:#5FB878}.layui-form-checked span,.layui-form-checked:hover span{background-color:#5FB878}.layui-form-checked i,.layui-form-checked:hover i{color:#5FB878}.layui-form-item .layui-form-checkbox{margin-top:4px}.layui-form-checkbox[lay-skin=primary]{height:auto!important;line-height:normal!important;min-width:18px;min-height:18px;border:none!important;margin-right:0;padding-left:28px;padding-right:0;background:0 0}.layui-form-checkbox[lay-skin=primary] span{padding-left:0;padding-right:15px;line-height:18px;background:0 0;color:#666}.layui-form-checkbox[lay-skin=primary] i{right:auto;left:0;width:16px;height:16px;line-height:16px;border:1px solid #d2d2d2;font-size:12px;border-radius:2px;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-checkbox[lay-skin=primary]:hover i{border-color:#5FB878;color:#fff}.layui-form-checked[lay-skin=primary] i{border-color:#5FB878;background-color:#5FB878;color:#fff}.layui-checkbox-disbaled[lay-skin=primary] span{background:0 0!important;color:#c2c2c2}.layui-checkbox-disbaled[lay-skin=primary]:hover i{border-color:#d2d2d2}.layui-form-item .layui-form-checkbox[lay-skin=primary]{margin-top:10px}.layui-form-switch{position:relative;height:22px;line-height:22px;min-width:35px;padding:0 5px;margin-top:8px;border:1px solid #d2d2d2;border-radius:20px;cursor:pointer;background-color:#fff;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch i{position:absolute;left:5px;top:3px;width:16px;height:16px;border-radius:20px;background-color:#d2d2d2;-webkit-transition:.1s linear;transition:.1s linear}.layui-form-switch em{position:relative;top:0;width:25px;margin-left:21px;padding:0!important;text-align:center!important;color:#999!important;font-style:normal!important;font-size:12px}.layui-form-onswitch{border-color:#5FB878;background-color:#5FB878}.layui-checkbox-disbaled,.layui-checkbox-disbaled i{border-color:#e2e2e2!important}.layui-form-onswitch i{left:100%;margin-left:-21px;background-color:#fff}.layui-form-onswitch em{margin-left:5px;margin-right:21px;color:#fff!important}.layui-checkbox-disbaled span{background-color:#e2e2e2!important}.layui-checkbox-disbaled:hover i{color:#fff!important}[lay-radio]{display:none}.layui-form-radio,.layui-form-radio *{display:inline-block;vertical-align:middle}.layui-form-radio{line-height:28px;margin:6px 10px 0 0;padding-right:10px;cursor:pointer;font-size:0}.layui-form-radio *{font-size:14px}.layui-form-radio>i{margin-right:8px;font-size:22px;color:#c2c2c2}.layui-form-radio>i:hover,.layui-form-radioed>i{color:#5FB878}.layui-radio-disbaled>i{color:#e2e2e2!important}.layui-form-pane .layui-form-label{width:110px;padding:8px 15px;height:38px;line-height:20px;border-width:1px;border-style:solid;border-radius:2px 0 0 2px;text-align:center;background-color:#FBFBFB;overflow:hidden;box-sizing:border-box}.layui-form-pane .layui-input-inline{margin-left:-1px}.layui-form-pane .layui-input-block{margin-left:110px;left:-1px}.layui-form-pane .layui-input{border-radius:0 2px 2px 0}.layui-form-pane .layui-form-text .layui-form-label{float:none;width:100%;border-radius:2px;box-sizing:border-box;text-align:left}.layui-form-pane .layui-form-text .layui-input-inline{display:block;margin:0;top:-1px;clear:both}.layui-form-pane .layui-form-text .layui-input-block{margin:0;left:0;top:-1px}.layui-form-pane .layui-form-text .layui-textarea{min-height:100px;border-radius:0 0 2px 2px}.layui-form-pane .layui-form-checkbox{margin:4px 0 4px 10px}.layui-form-pane .layui-form-radio,.layui-form-pane .layui-form-switch{margin-top:6px;margin-left:10px}.layui-form-pane .layui-form-item[pane]{position:relative;border-width:1px;border-style:solid}.layui-form-pane .layui-form-item[pane] .layui-form-label{position:absolute;left:0;top:0;height:100%;border-width:0 1px 0 0}.layui-form-pane .layui-form-item[pane] .layui-input-inline{margin-left:110px}@media screen and (max-width:450px){.layui-form-item .layui-form-label{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-form-item .layui-inline{display:block;margin-right:0;margin-bottom:20px;clear:both}.layui-form-item .layui-inline:after{content:'\20';clear:both;display:block;height:0}.layui-form-item .layui-input-inline{display:block;float:none;left:-3px;width:auto;margin:0 0 10px 112px}.layui-form-item .layui-input-inline+.layui-form-mid{margin-left:110px;top:-5px;padding:0}.layui-form-item .layui-form-checkbox{margin-right:5px;margin-bottom:5px}}.layui-layedit{border-width:1px;border-style:solid;border-radius:2px}.layui-layedit-tool{padding:3px 5px;border-bottom-width:1px;border-bottom-style:solid;font-size:0}.layedit-tool-fixed{position:fixed;top:0;border-top:1px solid #e2e2e2}.layui-layedit-tool .layedit-tool-mid,.layui-layedit-tool .layui-icon{display:inline-block;vertical-align:middle;text-align:center;font-size:14px}.layui-layedit-tool .layui-icon{position:relative;width:32px;height:30px;line-height:30px;margin:3px 5px;color:#777;cursor:pointer;border-radius:2px}.layui-layedit-tool .layui-icon:hover{color:#393D49}.layui-layedit-tool .layui-icon:active{color:#000}.layui-layedit-tool .layedit-tool-active{background-color:#e2e2e2;color:#000}.layui-layedit-tool .layui-disabled,.layui-layedit-tool .layui-disabled:hover{color:#d2d2d2;cursor:not-allowed}.layui-layedit-tool .layedit-tool-mid{width:1px;height:18px;margin:0 10px;background-color:#d2d2d2}.layedit-tool-html{width:50px!important;font-size:30px!important}.layedit-tool-b,.layedit-tool-code,.layedit-tool-help{font-size:16px!important}.layedit-tool-d,.layedit-tool-face,.layedit-tool-image,.layedit-tool-unlink{font-size:18px!important}.layedit-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-layedit-iframe iframe{display:block;width:100%}#LAY_layedit_code{overflow:hidden}.layui-laypage{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;margin:10px 0;font-size:0}.layui-laypage>a:first-child,.layui-laypage>a:first-child em{border-radius:2px 0 0 2px}.layui-laypage>a:last-child,.layui-laypage>a:last-child em{border-radius:0 2px 2px 0}.layui-laypage>:first-child{margin-left:0!important}.layui-laypage>:last-child{margin-right:0!important}.layui-laypage a,.layui-laypage button,.layui-laypage input,.layui-laypage select,.layui-laypage span{border:1px solid #e2e2e2}.layui-laypage a,.layui-laypage span{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;padding:0 15px;height:28px;line-height:28px;margin:0 -1px 5px 0;background-color:#fff;color:#333;font-size:12px}.layui-flow-more a *,.layui-laypage input,.layui-table-view select[lay-ignore]{display:inline-block}.layui-laypage a:hover{color:#009688}.layui-laypage em{font-style:normal}.layui-laypage .layui-laypage-spr{color:#999;font-weight:700}.layui-laypage a{text-decoration:none}.layui-laypage .layui-laypage-curr{position:relative}.layui-laypage .layui-laypage-curr em{position:relative;color:#fff}.layui-laypage .layui-laypage-curr .layui-laypage-em{position:absolute;left:-1px;top:-1px;padding:1px;width:100%;height:100%;background-color:#009688}.layui-laypage-em{border-radius:2px}.layui-laypage-next em,.layui-laypage-prev em{font-family:Sim sun;font-size:16px}.layui-laypage .layui-laypage-count,.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh,.layui-laypage .layui-laypage-skip{margin-left:10px;margin-right:10px;padding:0;border:none}.layui-laypage .layui-laypage-limits,.layui-laypage .layui-laypage-refresh{vertical-align:top}.layui-laypage .layui-laypage-refresh i{font-size:18px;cursor:pointer}.layui-laypage select{height:22px;padding:3px;border-radius:2px;cursor:pointer}.layui-laypage .layui-laypage-skip{height:30px;line-height:30px;color:#999}.layui-laypage button,.layui-laypage input{height:30px;line-height:30px;border-radius:2px;vertical-align:top;background-color:#fff;box-sizing:border-box}.layui-laypage input{width:40px;margin:0 10px;padding:0 3px;text-align:center}.layui-laypage input:focus,.layui-laypage select:focus{border-color:#009688!important}.layui-laypage button{margin-left:10px;padding:0 10px;cursor:pointer}.layui-table,.layui-table-view{margin:10px 0}.layui-flow-more{margin:10px 0;text-align:center;color:#999;font-size:14px}.layui-flow-more a{height:32px;line-height:32px}.layui-flow-more a *{vertical-align:top}.layui-flow-more a cite{padding:0 20px;border-radius:3px;background-color:#eee;color:#333;font-style:normal}.layui-flow-more a cite:hover{opacity:.8}.layui-flow-more a i{font-size:30px;color:#737383}.layui-table{width:100%;background-color:#fff;color:#666}.layui-table tr{transition:all .3s;-webkit-transition:all .3s}.layui-table th{text-align:left;font-weight:400}.layui-table tbody tr:hover,.layui-table thead tr,.layui-table-click,.layui-table-header,.layui-table-hover,.layui-table-mend,.layui-table-patch,.layui-table-tool,.layui-table-total,.layui-table-total tr,.layui-table[lay-even] tr:nth-child(even){background-color:#f2f2f2}.layui-table td,.layui-table th,.layui-table-col-set,.layui-table-fixed-r,.layui-table-grid-down,.layui-table-header,.layui-table-page,.layui-table-tips-main,.layui-table-tool,.layui-table-total,.layui-table-view,.layui-table[lay-skin=line],.layui-table[lay-skin=row]{border-width:1px;border-style:solid;border-color:#e6e6e6}.layui-table td,.layui-table th{position:relative;padding:9px 15px;min-height:20px;line-height:20px;font-size:14px}.layui-table[lay-skin=line] td,.layui-table[lay-skin=line] th{border-width:0 0 1px}.layui-table[lay-skin=row] td,.layui-table[lay-skin=row] th{border-width:0 1px 0 0}.layui-table[lay-skin=nob] td,.layui-table[lay-skin=nob] th{border:none}.layui-table img{max-width:100px}.layui-table[lay-size=lg] td,.layui-table[lay-size=lg] th{padding:15px 30px}.layui-table-view .layui-table[lay-size=lg] .layui-table-cell{height:40px;line-height:40px}.layui-table[lay-size=sm] td,.layui-table[lay-size=sm] th{font-size:12px;padding:5px 10px}.layui-table-view .layui-table[lay-size=sm] .layui-table-cell{height:20px;line-height:20px}.layui-table[lay-data]{display:none}.layui-table-box{position:relative;overflow:hidden}.layui-table-view .layui-table{position:relative;width:auto;margin:0}.layui-table-view .layui-table[lay-skin=line]{border-width:0 1px 0 0}.layui-table-view .layui-table[lay-skin=row]{border-width:0 0 1px}.layui-table-view .layui-table td,.layui-table-view .layui-table th{padding:5px 0;border-top:none;border-left:none}.layui-table-view .layui-table th.layui-unselect .layui-table-cell span{cursor:pointer}.layui-table-view .layui-table td{cursor:default}.layui-table-view .layui-form-checkbox[lay-skin=primary] i{width:18px;height:18px}.layui-table-view .layui-form-radio{line-height:0;padding:0}.layui-table-view .layui-form-radio>i{margin:0;font-size:20px}.layui-table-init{position:absolute;left:0;top:0;width:100%;height:100%;text-align:center;z-index:110}.layui-table-init .layui-icon{position:absolute;left:50%;top:50%;margin:-15px 0 0 -15px;font-size:30px;color:#c2c2c2}.layui-table-header{border-width:0 0 1px;overflow:hidden}.layui-table-header .layui-table{margin-bottom:-1px}.layui-table-tool .layui-inline[lay-event]{position:relative;width:26px;height:26px;padding:5px;line-height:16px;margin-right:10px;text-align:center;color:#333;border:1px solid #ccc;cursor:pointer;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool .layui-inline[lay-event]:hover{border:1px solid #999}.layui-table-tool-temp{padding-right:120px}.layui-table-tool-self{position:absolute;right:17px;top:10px}.layui-table-tool .layui-table-tool-self .layui-inline[lay-event]{margin:0 0 0 10px}.layui-table-tool-panel{position:absolute;top:29px;left:-1px;padding:5px 0;min-width:150px;min-height:40px;border:1px solid #d2d2d2;text-align:left;overflow-y:auto;background-color:#fff;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-table-cell,.layui-table-tool-panel li{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-table-tool-panel li{padding:0 10px;line-height:30px;-webkit-transition:.5s all;transition:.5s all}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary]{width:100%;padding-left:28px}.layui-table-tool-panel li:hover{background-color:#f2f2f2}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] i{position:absolute;left:0;top:0}.layui-table-tool-panel li .layui-form-checkbox[lay-skin=primary] span{padding:0}.layui-table-tool .layui-table-tool-self .layui-table-tool-panel{left:auto;right:-1px}.layui-table-col-set{position:absolute;right:0;top:0;width:20px;height:100%;border-width:0 0 0 1px;background-color:#fff}.layui-table-sort{width:10px;height:20px;margin-left:5px;cursor:pointer!important}.layui-table-sort .layui-edge{position:absolute;left:5px;border-width:5px}.layui-table-sort .layui-table-sort-asc{top:3px;border-top:none;border-bottom-style:solid;border-bottom-color:#b2b2b2}.layui-table-sort .layui-table-sort-asc:hover{border-bottom-color:#666}.layui-table-sort .layui-table-sort-desc{bottom:5px;border-bottom:none;border-top-style:solid;border-top-color:#b2b2b2}.layui-table-sort .layui-table-sort-desc:hover{border-top-color:#666}.layui-table-sort[lay-sort=asc] .layui-table-sort-asc{border-bottom-color:#000}.layui-table-sort[lay-sort=desc] .layui-table-sort-desc{border-top-color:#000}.layui-table-cell{height:28px;line-height:28px;padding:0 15px;position:relative;box-sizing:border-box}.layui-table-cell .layui-form-checkbox[lay-skin=primary]{top:-1px;padding:0}.layui-table-cell .layui-table-link{color:#01AAED}.laytable-cell-checkbox,.laytable-cell-numbers,.laytable-cell-radio,.laytable-cell-space{padding:0;text-align:center}.layui-table-body{position:relative;overflow:auto;margin-right:-1px;margin-bottom:-1px}.layui-table-body .layui-none{line-height:26px;padding:15px;text-align:center;color:#999}.layui-table-fixed{position:absolute;left:0;top:0;z-index:101}.layui-table-fixed .layui-table-body{overflow:hidden}.layui-table-fixed-l{box-shadow:0 -1px 8px rgba(0,0,0,.08)}.layui-table-fixed-r{left:auto;right:-1px;border-width:0 0 0 1px;box-shadow:-1px 0 8px rgba(0,0,0,.08)}.layui-table-fixed-r .layui-table-header{position:relative;overflow:visible}.layui-table-mend{position:absolute;right:-49px;top:0;height:100%;width:50px}.layui-table-tool{position:relative;z-index:890;width:100%;min-height:50px;line-height:30px;padding:10px 15px;border-width:0 0 1px}.layui-table-tool .layui-btn-container{margin-bottom:-10px}.layui-table-page,.layui-table-total{border-width:1px 0 0;margin-bottom:-1px;overflow:hidden}.layui-table-page{position:relative;width:100%;padding:7px 7px 0;height:41px;font-size:12px;white-space:nowrap}.layui-table-page>div{height:26px}.layui-table-page .layui-laypage{margin:0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span{height:26px;line-height:26px;margin-bottom:10px;border:none;background:0 0}.layui-table-page .layui-laypage a,.layui-table-page .layui-laypage span.layui-laypage-curr{padding:0 12px}.layui-table-page .layui-laypage span{margin-left:0;padding:0}.layui-table-page .layui-laypage .layui-laypage-prev{margin-left:-7px!important}.layui-table-page .layui-laypage .layui-laypage-curr .layui-laypage-em{left:0;top:0;padding:0}.layui-table-page .layui-laypage button,.layui-table-page .layui-laypage input{height:26px;line-height:26px}.layui-table-page .layui-laypage input{width:40px}.layui-table-page .layui-laypage button{padding:0 10px}.layui-table-page select{height:18px}.layui-table-patch .layui-table-cell{padding:0;width:30px}.layui-table-edit{position:absolute;left:0;top:0;width:100%;height:100%;padding:0 14px 1px;border-radius:0;box-shadow:1px 1px 20px rgba(0,0,0,.15)}.layui-table-edit:focus{border-color:#5FB878!important}select.layui-table-edit{padding:0 0 0 10px;border-color:#C9C9C9}.layui-table-view .layui-form-checkbox,.layui-table-view .layui-form-radio,.layui-table-view .layui-form-switch{top:0;margin:0;box-sizing:content-box}.layui-table-view .layui-form-checkbox{top:-1px;height:26px;line-height:26px}.layui-table-view .layui-form-checkbox i{height:26px}.layui-table-grid .layui-table-cell{overflow:visible}.layui-table-grid-down{position:absolute;top:0;right:0;width:26px;height:100%;padding:5px 0;border-width:0 0 0 1px;text-align:center;background-color:#fff;color:#999;cursor:pointer}.layui-table-grid-down .layui-icon{position:absolute;top:50%;left:50%;margin:-8px 0 0 -8px}.layui-table-grid-down:hover{background-color:#fbfbfb}body .layui-table-tips .layui-layer-content{background:0 0;padding:0;box-shadow:0 1px 6px rgba(0,0,0,.12)}.layui-table-tips-main{margin:-44px 0 0 -1px;max-height:150px;padding:8px 15px;font-size:14px;overflow-y:scroll;background-color:#fff;color:#666}.layui-table-tips-c{position:absolute;right:-3px;top:-13px;width:20px;height:20px;padding:3px;cursor:pointer;background-color:#666;border-radius:50%;color:#fff}.layui-table-tips-c:hover{background-color:#777}.layui-table-tips-c:before{position:relative;right:-2px}.layui-upload-file{display:none!important;opacity:.01;filter:Alpha(opacity=1)}.layui-upload-drag,.layui-upload-form,.layui-upload-wrap{display:inline-block}.layui-upload-list{margin:10px 0}.layui-upload-choose{padding:0 10px;color:#999}.layui-upload-drag{position:relative;padding:30px;border:1px dashed #e2e2e2;background-color:#fff;text-align:center;cursor:pointer;color:#999}.layui-upload-drag .layui-icon{font-size:50px;color:#009688}.layui-upload-drag[lay-over]{border-color:#009688}.layui-upload-iframe{position:absolute;width:0;height:0;border:0;visibility:hidden}.layui-upload-wrap{position:relative;vertical-align:middle}.layui-upload-wrap .layui-upload-file{display:block!important;position:absolute;left:0;top:0;z-index:10;font-size:100px;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layui-tree{line-height:26px}.layui-tree li{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-tree li .layui-tree-spread,.layui-tree li a{display:inline-block;vertical-align:top;height:26px;*display:inline;*zoom:1;cursor:pointer}.layui-tree li a{font-size:0}.layui-tree li a i{font-size:16px}.layui-tree li a cite{padding:0 6px;font-size:14px;font-style:normal}.layui-tree li i{padding-left:6px;color:#333;-moz-user-select:none}.layui-tree li .layui-tree-check{font-size:13px}.layui-tree li .layui-tree-check:hover{color:#009E94}.layui-tree li ul{display:none;margin-left:20px}.layui-tree li .layui-tree-enter{line-height:24px;border:1px dotted #000}.layui-tree-drag{display:none;position:absolute;left:-666px;top:-666px;background-color:#f2f2f2;padding:5px 10px;border:1px dotted #000;white-space:nowrap}.layui-tree-drag i{padding-right:5px}.layui-nav{position:relative;padding:0 20px;background-color:#393D49;color:#fff;border-radius:2px;font-size:0;box-sizing:border-box}.layui-nav *{font-size:14px}.layui-nav .layui-nav-item{position:relative;display:inline-block;*display:inline;*zoom:1;vertical-align:middle;line-height:60px}.layui-nav .layui-nav-item a{display:block;padding:0 20px;color:#fff;color:rgba(255,255,255,.7);transition:all .3s;-webkit-transition:all .3s}.layui-nav .layui-this:after,.layui-nav-bar,.layui-nav-tree .layui-nav-itemed:after{position:absolute;left:0;top:0;width:0;height:5px;background-color:#5FB878;transition:all .2s;-webkit-transition:all .2s}.layui-nav-bar{z-index:1000}.layui-nav .layui-nav-item a:hover,.layui-nav .layui-this a{color:#fff}.layui-nav .layui-this:after{content:'';top:auto;bottom:0;width:100%}.layui-nav-img{width:30px;height:30px;margin-right:10px;border-radius:50%}.layui-nav .layui-nav-more{content:'';width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;cursor:pointer;transition:all .2s;-webkit-transition:all .2s;position:absolute;top:50%;right:3px;margin-top:-3px;border-width:6px;border-top-color:rgba(255,255,255,.7)}.layui-nav .layui-nav-mored,.layui-nav-itemed>a .layui-nav-more{margin-top:-9px;border-style:dashed dashed solid;border-color:transparent transparent #fff}.layui-nav-child{display:none;position:absolute;left:0;top:65px;min-width:100%;line-height:36px;padding:5px 0;box-shadow:0 2px 4px rgba(0,0,0,.12);border:1px solid #d2d2d2;background-color:#fff;z-index:100;border-radius:2px;white-space:nowrap}.layui-nav .layui-nav-child a{color:#333}.layui-nav .layui-nav-child a:hover{background-color:#f2f2f2;color:#000}.layui-nav-child dd{position:relative}.layui-nav .layui-nav-child dd.layui-this a,.layui-nav-child dd.layui-this{background-color:#5FB878;color:#fff}.layui-nav-child dd.layui-this:after{display:none}.layui-nav-tree{width:200px;padding:0}.layui-nav-tree .layui-nav-item{display:block;width:100%;line-height:45px}.layui-nav-tree .layui-nav-item a{position:relative;height:45px;line-height:45px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-nav-tree .layui-nav-item a:hover{background-color:#4E5465}.layui-nav-tree .layui-nav-bar{width:5px;height:0;background-color:#009688}.layui-nav-tree .layui-nav-child dd.layui-this,.layui-nav-tree .layui-nav-child dd.layui-this a,.layui-nav-tree .layui-this,.layui-nav-tree .layui-this>a,.layui-nav-tree .layui-this>a:hover{background-color:#009688;color:#fff}.layui-nav-tree .layui-this:after{display:none}.layui-nav-itemed>a,.layui-nav-tree .layui-nav-title a,.layui-nav-tree .layui-nav-title a:hover{color:#fff!important}.layui-nav-tree .layui-nav-child{position:relative;z-index:0;top:0;border:none;box-shadow:none}.layui-nav-tree .layui-nav-child a{height:40px;line-height:40px;color:#fff;color:rgba(255,255,255,.7)}.layui-nav-tree .layui-nav-child,.layui-nav-tree .layui-nav-child a:hover{background:0 0;color:#fff}.layui-nav-tree .layui-nav-more{right:10px}.layui-nav-itemed>.layui-nav-child{display:block;padding:0;background-color:rgba(0,0,0,.3)!important}.layui-nav-itemed>.layui-nav-child>.layui-this>.layui-nav-child{display:block}.layui-nav-side{position:fixed;top:0;bottom:0;left:0;overflow-x:hidden;z-index:999}.layui-bg-blue .layui-nav-bar,.layui-bg-blue .layui-nav-itemed:after,.layui-bg-blue .layui-this:after{background-color:#93D1FF}.layui-bg-blue .layui-nav-child dd.layui-this{background-color:#1E9FFF}.layui-bg-blue .layui-nav-itemed>a,.layui-nav-tree.layui-bg-blue .layui-nav-title a,.layui-nav-tree.layui-bg-blue .layui-nav-title a:hover{background-color:#007DDB!important}.layui-breadcrumb{visibility:hidden;font-size:0}.layui-breadcrumb>*{font-size:14px}.layui-breadcrumb a{color:#999!important}.layui-breadcrumb a:hover{color:#5FB878!important}.layui-breadcrumb a cite{color:#666;font-style:normal}.layui-breadcrumb span[lay-separator]{margin:0 10px;color:#999}.layui-tab{margin:10px 0;text-align:left!important}.layui-tab[overflow]>.layui-tab-title{overflow:hidden}.layui-tab-title{position:relative;left:0;height:40px;white-space:nowrap;font-size:0;border-bottom-width:1px;border-bottom-style:solid;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li{display:inline-block;*display:inline;*zoom:1;vertical-align:middle;font-size:14px;transition:all .2s;-webkit-transition:all .2s;position:relative;line-height:40px;min-width:65px;padding:0 15px;text-align:center;cursor:pointer}.layui-tab-title li a{display:block}.layui-tab-title .layui-this{color:#000}.layui-tab-title .layui-this:after{position:absolute;left:0;top:0;content:'';width:100%;height:41px;border-width:1px;border-style:solid;border-bottom-color:#fff;border-radius:2px 2px 0 0;box-sizing:border-box;pointer-events:none}.layui-tab-bar{position:absolute;right:0;top:0;z-index:10;width:30px;height:39px;line-height:39px;border-width:1px;border-style:solid;border-radius:2px;text-align:center;background-color:#fff;cursor:pointer}.layui-tab-bar .layui-icon{position:relative;display:inline-block;top:3px;transition:all .3s;-webkit-transition:all .3s}.layui-tab-item{display:none}.layui-tab-more{padding-right:30px;height:auto!important;white-space:normal!important}.layui-tab-more li.layui-this:after{border-bottom-color:#e2e2e2;border-radius:2px}.layui-tab-more .layui-tab-bar .layui-icon{top:-2px;top:3px\9;-webkit-transform:rotate(180deg);transform:rotate(180deg)}:root .layui-tab-more .layui-tab-bar .layui-icon{top:-2px\0/IE9}.layui-tab-content{padding:10px}.layui-tab-title li .layui-tab-close{position:relative;display:inline-block;width:18px;height:18px;line-height:20px;margin-left:8px;top:1px;text-align:center;font-size:14px;color:#c2c2c2;transition:all .2s;-webkit-transition:all .2s}.layui-tab-title li .layui-tab-close:hover{border-radius:2px;background-color:#FF5722;color:#fff}.layui-tab-brief>.layui-tab-title .layui-this{color:#009688}.layui-tab-brief>.layui-tab-more li.layui-this:after,.layui-tab-brief>.layui-tab-title .layui-this:after{border:none;border-radius:0;border-bottom:2px solid #5FB878}.layui-tab-brief[overflow]>.layui-tab-title .layui-this:after{top:-1px}.layui-tab-card{border-width:1px;border-style:solid;border-radius:2px;box-shadow:0 2px 5px 0 rgba(0,0,0,.1)}.layui-tab-card>.layui-tab-title{background-color:#f2f2f2}.layui-tab-card>.layui-tab-title li{margin-right:-1px;margin-left:-1px}.layui-tab-card>.layui-tab-title .layui-this{background-color:#fff}.layui-tab-card>.layui-tab-title .layui-this:after{border-top:none;border-width:1px;border-bottom-color:#fff}.layui-tab-card>.layui-tab-title .layui-tab-bar{height:40px;line-height:40px;border-radius:0;border-top:none;border-right:none}.layui-tab-card>.layui-tab-more .layui-this{background:0 0;color:#5FB878}.layui-tab-card>.layui-tab-more .layui-this:after{border:none}.layui-timeline{padding-left:5px}.layui-timeline-item{position:relative;padding-bottom:20px}.layui-timeline-axis{position:absolute;left:-5px;top:0;z-index:10;width:20px;height:20px;line-height:20px;background-color:#fff;color:#5FB878;border-radius:50%;text-align:center;cursor:pointer}.layui-timeline-axis:hover{color:#FF5722}.layui-timeline-item:before{content:'';position:absolute;left:5px;top:0;z-index:0;width:1px;height:100%}.layui-timeline-item:last-child:before{display:none}.layui-timeline-item:first-child:before{display:block}.layui-timeline-content{padding-left:25px}.layui-timeline-title{position:relative;margin-bottom:10px}.layui-badge,.layui-badge-dot,.layui-badge-rim{position:relative;display:inline-block;padding:0 6px;font-size:12px;text-align:center;background-color:#FF5722;color:#fff;border-radius:2px}.layui-badge{height:18px;line-height:18px}.layui-badge-dot{width:8px;height:8px;padding:0;border-radius:50%}.layui-badge-rim{height:18px;line-height:18px;border-width:1px;border-style:solid;background-color:#fff;color:#666}.layui-btn .layui-badge,.layui-btn .layui-badge-dot{margin-left:5px}.layui-nav .layui-badge,.layui-nav .layui-badge-dot{position:absolute;top:50%;margin:-8px 6px 0}.layui-tab-title .layui-badge,.layui-tab-title .layui-badge-dot{left:5px;top:-2px}.layui-carousel{position:relative;left:0;top:0;background-color:#f8f8f8}.layui-carousel>[carousel-item]{position:relative;width:100%;height:100%;overflow:hidden}.layui-carousel>[carousel-item]:before{position:absolute;content:'\e63d';left:50%;top:50%;width:100px;line-height:20px;margin:-10px 0 0 -50px;text-align:center;color:#c2c2c2;font-family:layui-icon!important;font-size:30px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-carousel>[carousel-item]>*{display:none;position:absolute;left:0;top:0;width:100%;height:100%;background-color:#f8f8f8;transition-duration:.3s;-webkit-transition-duration:.3s}.layui-carousel-updown>*{-webkit-transition:.3s ease-in-out up;transition:.3s ease-in-out up}.layui-carousel-arrow{display:none\9;opacity:0;position:absolute;left:10px;top:50%;margin-top:-18px;width:36px;height:36px;line-height:36px;text-align:center;font-size:20px;border:0;border-radius:50%;background-color:rgba(0,0,0,.2);color:#fff;-webkit-transition-duration:.3s;transition-duration:.3s;cursor:pointer}.layui-carousel-arrow[lay-type=add]{left:auto!important;right:10px}.layui-carousel:hover .layui-carousel-arrow[lay-type=add],.layui-carousel[lay-arrow=always] .layui-carousel-arrow[lay-type=add]{right:20px}.layui-carousel[lay-arrow=always] .layui-carousel-arrow{opacity:1;left:20px}.layui-carousel[lay-arrow=none] .layui-carousel-arrow{display:none}.layui-carousel-arrow:hover,.layui-carousel-ind ul:hover{background-color:rgba(0,0,0,.35)}.layui-carousel:hover .layui-carousel-arrow{display:block\9;opacity:1;left:20px}.layui-carousel-ind{position:relative;top:-35px;width:100%;line-height:0!important;text-align:center;font-size:0}.layui-carousel[lay-indicator=outside]{margin-bottom:30px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind{top:10px}.layui-carousel[lay-indicator=outside] .layui-carousel-ind ul{background-color:rgba(0,0,0,.5)}.layui-carousel[lay-indicator=none] .layui-carousel-ind{display:none}.layui-carousel-ind ul{display:inline-block;padding:5px;background-color:rgba(0,0,0,.2);border-radius:10px;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li{display:inline-block;width:10px;height:10px;margin:0 3px;font-size:14px;background-color:#e2e2e2;background-color:rgba(255,255,255,.5);border-radius:50%;cursor:pointer;-webkit-transition-duration:.3s;transition-duration:.3s}.layui-carousel-ind li:hover{background-color:rgba(255,255,255,.7)}.layui-carousel-ind li.layui-this{background-color:#fff}.layui-carousel>[carousel-item]>.layui-carousel-next,.layui-carousel>[carousel-item]>.layui-carousel-prev,.layui-carousel>[carousel-item]>.layui-this{display:block}.layui-carousel>[carousel-item]>.layui-this{left:0}.layui-carousel>[carousel-item]>.layui-carousel-prev{left:-100%}.layui-carousel>[carousel-item]>.layui-carousel-next{left:100%}.layui-carousel>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel>[carousel-item]>.layui-carousel-prev.layui-carousel-right{left:0}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-left{left:-100%}.layui-carousel>[carousel-item]>.layui-this.layui-carousel-right{left:100%}.layui-carousel[lay-anim=updown] .layui-carousel-arrow{left:50%!important;top:20px;margin:0 0 0 -18px}.layui-carousel[lay-anim=updown]>[carousel-item]>*,.layui-carousel[lay-anim=fade]>[carousel-item]>*{left:0!important}.layui-carousel[lay-anim=updown] .layui-carousel-arrow[lay-type=add]{top:auto!important;bottom:20px}.layui-carousel[lay-anim=updown] .layui-carousel-ind{position:absolute;top:50%;right:20px;width:auto;height:auto}.layui-carousel[lay-anim=updown] .layui-carousel-ind ul{padding:3px 5px}.layui-carousel[lay-anim=updown] .layui-carousel-ind li{display:block;margin:6px 0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next{top:100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{top:0}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-left{top:-100%}.layui-carousel[lay-anim=updown]>[carousel-item]>.layui-this.layui-carousel-right{top:100%}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev{opacity:0}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-next.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-carousel-prev.layui-carousel-right{opacity:1}.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-left,.layui-carousel[lay-anim=fade]>[carousel-item]>.layui-this.layui-carousel-right{opacity:0}.layui-fixbar{position:fixed;right:15px;bottom:15px;z-index:999999}.layui-fixbar li{width:50px;height:50px;line-height:50px;margin-bottom:1px;text-align:center;cursor:pointer;font-size:30px;background-color:#9F9F9F;color:#fff;border-radius:2px;opacity:.95}.layui-fixbar li:hover{opacity:.85}.layui-fixbar li:active{opacity:1}.layui-fixbar .layui-fixbar-top{display:none;font-size:40px}body .layui-util-face{border:none;background:0 0}body .layui-util-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-util-face .layui-layer-TipsG{display:none}.layui-util-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-util-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-util-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layui-code{position:relative;margin:10px 0;padding:15px;line-height:20px;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New;font-size:12px}.layui-rate,.layui-rate *{display:inline-block;vertical-align:middle}.layui-rate{padding:10px 5px 10px 0;font-size:0}.layui-rate li i.layui-icon{font-size:20px;color:#FFB800;margin-right:5px;transition:all .3s;-webkit-transition:all .3s}.layui-rate li i:hover{cursor:pointer;transform:scale(1.12);-webkit-transform:scale(1.12)}.layui-rate[readonly] li i:hover{cursor:default;transform:scale(1)}.layui-colorpicker{width:26px;height:26px;border:1px solid #e6e6e6;padding:5px;border-radius:2px;line-height:24px;display:inline-block;cursor:pointer;transition:all .3s;-webkit-transition:all .3s}.layui-colorpicker:hover{border-color:#d2d2d2}.layui-colorpicker.layui-colorpicker-lg{width:34px;height:34px;line-height:32px}.layui-colorpicker.layui-colorpicker-sm{width:24px;height:24px;line-height:22px}.layui-colorpicker.layui-colorpicker-xs{width:22px;height:22px;line-height:20px}.layui-colorpicker-trigger-bgcolor{display:block;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==);border-radius:2px}.layui-colorpicker-trigger-span{display:block;height:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.15);border-radius:2px;text-align:center}.layui-colorpicker-trigger-i{display:inline-block;color:#FFF;font-size:12px}.layui-colorpicker-trigger-i.layui-icon-close{color:#999}.layui-colorpicker-main{position:absolute;z-index:66666666;width:280px;padding:7px;background:#FFF;border:1px solid #d2d2d2;border-radius:2px;box-shadow:0 2px 4px rgba(0,0,0,.12)}.layui-colorpicker-main-wrapper{height:180px;position:relative}.layui-colorpicker-basis{width:260px;height:100%;position:relative}.layui-colorpicker-basis-white{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(90deg,#FFF,hsla(0,0%,100%,0))}.layui-colorpicker-basis-black{width:100%;height:100%;position:absolute;top:0;left:0;background:linear-gradient(0deg,#000,transparent)}.layui-colorpicker-basis-cursor{width:10px;height:10px;border:1px solid #FFF;border-radius:50%;position:absolute;top:-3px;right:-3px;cursor:pointer}.layui-colorpicker-side{position:absolute;top:0;right:0;width:12px;height:100%;background:linear-gradient(red,#FF0,#0F0,#0FF,#00F,#F0F,red)}.layui-colorpicker-side-slider{width:100%;height:5px;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;left:0}.layui-colorpicker-main-alpha{display:none;height:12px;margin-top:7px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-alpha-bgcolor{height:100%;position:relative}.layui-colorpicker-alpha-slider{width:5px;height:100%;box-shadow:0 0 1px #888;box-sizing:border-box;background:#FFF;border-radius:1px;border:1px solid #f0f0f0;cursor:pointer;position:absolute;top:0}.layui-colorpicker-main-pre{padding-top:7px;font-size:0}.layui-colorpicker-pre{width:20px;height:20px;border-radius:2px;display:inline-block;margin-left:6px;margin-bottom:7px;cursor:pointer}.layui-colorpicker-pre:nth-child(11n+1){margin-left:0}.layui-colorpicker-pre-isalpha{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.layui-colorpicker-pre.layui-this{box-shadow:0 0 3px 2px rgba(0,0,0,.15)}.layui-colorpicker-pre>div{height:100%;border-radius:2px}.layui-colorpicker-main-input{text-align:right;padding-top:7px}.layui-colorpicker-main-input .layui-btn-container .layui-btn{margin:0 0 0 10px}.layui-colorpicker-main-input div.layui-inline{float:left;margin-right:10px;font-size:14px}.layui-colorpicker-main-input input.layui-input{width:150px;height:30px;color:#666}.layui-slider{height:4px;background:#e2e2e2;border-radius:3px;position:relative;cursor:pointer}.layui-slider-bar{border-radius:3px;position:absolute;height:100%}.layui-slider-step{position:absolute;top:0;width:4px;height:4px;border-radius:50%;background:#FFF;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.layui-slider-wrap{width:36px;height:36px;position:absolute;top:-16px;-webkit-transform:translateX(-50%);transform:translateX(-50%);z-index:10;text-align:center}.layui-slider-wrap-btn{width:12px;height:12px;border-radius:50%;background:#FFF;display:inline-block;vertical-align:middle;cursor:pointer;transition:.3s}.layui-slider-wrap:after{content:"";height:100%;display:inline-block;vertical-align:middle}.layui-slider-wrap-btn.layui-slider-hover,.layui-slider-wrap-btn:hover{transform:scale(1.2)}.layui-slider-wrap-btn.layui-disabled:hover{transform:scale(1)!important}.layui-slider-tips{position:absolute;top:-42px;z-index:66666666;white-space:nowrap;display:none;-webkit-transform:translateX(-50%);transform:translateX(-50%);color:#FFF;background:#000;border-radius:3px;height:25px;line-height:25px;padding:0 10px}.layui-slider-tips:after{content:'';position:absolute;bottom:-12px;left:50%;margin-left:-6px;width:0;height:0;border-width:6px;border-style:solid;border-color:#000 transparent transparent}.layui-slider-input{width:70px;height:32px;border:1px solid #e6e6e6;border-radius:3px;font-size:16px;line-height:32px;position:absolute;right:0;top:-15px}.layui-slider-input-btn{display:none;position:absolute;top:0;right:0;width:20px;height:100%;border-left:1px solid #d2d2d2}.layui-slider-input-btn i{cursor:pointer;position:absolute;right:0;bottom:0;width:20px;height:50%;font-size:12px;line-height:16px;text-align:center;color:#999}.layui-slider-input-btn i:first-child{top:0;border-bottom:1px solid #d2d2d2}.layui-slider-input-txt{height:100%;font-size:14px}.layui-slider-input-txt input{height:100%;border:none}.layui-slider-input-btn i:hover{color:#009688}.layui-slider-vertical{width:4px;margin-left:34px}.layui-slider-vertical .layui-slider-bar{width:4px}.layui-slider-vertical .layui-slider-step{top:auto;left:0;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-wrap{top:auto;left:-16px;-webkit-transform:translateY(50%);transform:translateY(50%)}.layui-slider-vertical .layui-slider-tips{top:auto;left:2px}@media \0screen{.layui-slider-wrap-btn{margin-left:-20px}.layui-slider-vertical .layui-slider-wrap-btn{margin-left:0;margin-bottom:-20px}.layui-slider-vertical .layui-slider-tips{margin-left:-8px}.layui-slider>span{margin-left:8px}}.layui-anim{-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-anim.layui-icon{display:inline-block}.layui-anim-loop{-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.layui-trans,.layui-trans a{transition:all .3s;-webkit-transition:all .3s}@-webkit-keyframes layui-rotate{from{-webkit-transform:rotate(0)}to{-webkit-transform:rotate(360deg)}}@keyframes layui-rotate{from{transform:rotate(0)}to{transform:rotate(360deg)}}.layui-anim-rotate{-webkit-animation-name:layui-rotate;animation-name:layui-rotate;-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes layui-up{from{-webkit-transform:translate3d(0,100%,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-up{from{transform:translate3d(0,100%,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-up{-webkit-animation-name:layui-up;animation-name:layui-up}@-webkit-keyframes layui-upbit{from{-webkit-transform:translate3d(0,30px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes layui-upbit{from{transform:translate3d(0,30px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-anim-upbit{-webkit-animation-name:layui-upbit;animation-name:layui-upbit}@-webkit-keyframes layui-scale{0%{opacity:.3;-webkit-transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale{0%{opacity:.3;-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-ms-transform:scale(1);transform:scale(1)}}.layui-anim-scale{-webkit-animation-name:layui-scale;animation-name:layui-scale}@-webkit-keyframes layui-scale-spring{0%{opacity:.5;-webkit-transform:scale(.5)}80%{opacity:.8;-webkit-transform:scale(1.1)}100%{opacity:1;-webkit-transform:scale(1)}}@keyframes layui-scale-spring{0%{opacity:.5;transform:scale(.5)}80%{opacity:.8;transform:scale(1.1)}100%{opacity:1;transform:scale(1)}}.layui-anim-scaleSpring{-webkit-animation-name:layui-scale-spring;animation-name:layui-scale-spring}@-webkit-keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}@keyframes layui-fadein{0%{opacity:0}100%{opacity:1}}.layui-anim-fadein{-webkit-animation-name:layui-fadein;animation-name:layui-fadein}@-webkit-keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}@keyframes layui-fadeout{0%{opacity:1}100%{opacity:0}}.layui-anim-fadeout{-webkit-animation-name:layui-fadeout;animation-name:layui-fadeout} \ No newline at end of file diff --git a/lib/layui/css/layui.mobile.css b/lib/layui/css/layui.mobile.css deleted file mode 100755 index 6f7f0a1..0000000 --- a/lib/layui/css/layui.mobile.css +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge,.layui-upload-iframe{position:absolute;width:0;height:0}.layui-edge{border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-upload-iframe{border:0;visibility:hidden}.layui-upload-enter{border:1px solid #009E94;background-color:#009E94;color:#fff;-webkit-transform:scale(1.1);transform:scale(1.1)}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}@-webkit-keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-left{0%{-webkit-transform:translateX(100%);transform:translateX(100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-left{-webkit-animation-name:layui-m-anim-left;animation-name:layui-m-anim-left}@-webkit-keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes layui-m-anim-right{0%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}100%{-webkit-transform:translateX(0);transform:translateX(0)}}.layui-m-anim-right{-webkit-animation-name:layui-m-anim-right;animation-name:layui-m-anim-right}@-webkit-keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}@keyframes layui-m-anim-lout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(-100%);transform:translateX(-100%)}}.layui-m-anim-lout{-webkit-animation-name:layui-m-anim-lout;animation-name:layui-m-anim-lout}@-webkit-keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}@keyframes layui-m-anim-rout{0%{-webkit-transform:translateX(0);transform:translateX(0)}100%{-webkit-transform:translateX(100%);transform:translateX(100%)}}.layui-m-anim-rout{-webkit-animation-name:layui-m-anim-rout;animation-name:layui-m-anim-rout}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px} \ No newline at end of file diff --git a/lib/layui/css/modules/code.css b/lib/layui/css/modules/code.css deleted file mode 100755 index d0d3822..0000000 --- a/lib/layui/css/modules/code.css +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none} \ No newline at end of file diff --git a/lib/layui/css/modules/laydate/default/laydate.css b/lib/layui/css/modules/laydate/default/laydate.css deleted file mode 100755 index f7e690e..0000000 --- a/lib/layui/css/modules/laydate/default/laydate.css +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - .laydate-set-ym,.layui-laydate,.layui-laydate *,.layui-laydate-list{box-sizing:border-box}html #layuicss-laydate{display:none;position:absolute;width:1989px}.layui-laydate *{margin:0;padding:0}.layui-laydate{position:absolute;z-index:66666666;margin:5px 0;border-radius:2px;font-size:14px;-webkit-animation-duration:.3s;animation-duration:.3s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:laydate-upbit;animation-name:laydate-upbit}.layui-laydate-main{width:272px}.layui-laydate-content td,.layui-laydate-header *,.layui-laydate-list li{transition-duration:.3s;-webkit-transition-duration:.3s}@-webkit-keyframes laydate-upbit{from{-webkit-transform:translate3d(0,20px,0);opacity:.3}to{-webkit-transform:translate3d(0,0,0);opacity:1}}@keyframes laydate-upbit{from{transform:translate3d(0,20px,0);opacity:.3}to{transform:translate3d(0,0,0);opacity:1}}.layui-laydate-static{position:relative;z-index:0;display:inline-block;margin:0;-webkit-animation:none;animation:none}.laydate-ym-show .laydate-next-m,.laydate-ym-show .laydate-prev-m{display:none!important}.laydate-ym-show .laydate-next-y,.laydate-ym-show .laydate-prev-y{display:inline-block!important}.laydate-time-show .laydate-set-ym span[lay-type=month],.laydate-time-show .laydate-set-ym span[lay-type=year],.laydate-time-show .layui-laydate-header .layui-icon,.laydate-ym-show .laydate-set-ym span[lay-type=month]{display:none!important}.layui-laydate-header{position:relative;line-height:30px;padding:10px 70px 5px}.laydate-set-ym span,.layui-laydate-header i{padding:0 5px;cursor:pointer}.layui-laydate-header *{display:inline-block;vertical-align:bottom}.layui-laydate-header i{position:absolute;top:10px;color:#999;font-size:18px}.layui-laydate-header i.laydate-prev-y{left:15px}.layui-laydate-header i.laydate-prev-m{left:45px}.layui-laydate-header i.laydate-next-y{right:15px}.layui-laydate-header i.laydate-next-m{right:45px}.laydate-set-ym{width:100%;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate-time-text{cursor:default!important}.layui-laydate-content{position:relative;padding:10px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-laydate-content table{border-collapse:collapse;border-spacing:0}.layui-laydate-content td,.layui-laydate-content th{width:36px;height:30px;padding:5px;text-align:center}.layui-laydate-content td{position:relative;cursor:pointer}.laydate-day-mark{position:absolute;left:0;top:0;width:100%;height:100%;line-height:30px;font-size:12px;overflow:hidden}.laydate-day-mark::after{position:absolute;content:'';right:2px;top:2px;width:5px;height:5px;border-radius:50%}.layui-laydate-footer{position:relative;height:46px;line-height:26px;padding:10px 20px}.layui-laydate-footer span{margin-right:15px;display:inline-block;cursor:pointer;font-size:12px}.layui-laydate-footer span:hover{color:#5FB878}.laydate-footer-btns{position:absolute;right:10px;top:10px}.laydate-footer-btns span{height:26px;line-height:26px;margin:0 0 0 -1px;padding:0 10px;border:1px solid #C9C9C9;background-color:#fff;white-space:nowrap;vertical-align:top;border-radius:2px}.layui-laydate-list>li,.layui-laydate-range .layui-laydate-main{display:inline-block;vertical-align:middle}.layui-laydate-list{position:absolute;left:0;top:0;width:100%;height:100%;padding:10px;background-color:#fff}.layui-laydate-list>li{position:relative;width:33.3%;height:36px;line-height:36px;margin:3px 0;text-align:center;cursor:pointer}.laydate-month-list>li{width:25%;margin:17px 0}.laydate-time-list>li{height:100%;margin:0;line-height:normal;cursor:default}.laydate-time-list p{position:relative;top:-4px;line-height:29px}.laydate-time-list ol{height:181px;overflow:hidden}.laydate-time-list>li:hover ol{overflow-y:auto}.laydate-time-list ol li{width:130%;padding-left:33px;line-height:30px;text-align:left;cursor:pointer}.layui-laydate-hint{position:absolute;top:115px;left:50%;width:250px;margin-left:-125px;line-height:20px;padding:15px;text-align:center;font-size:12px}.layui-laydate-range{width:546px}.layui-laydate-range .laydate-main-list-0 .laydate-next-m,.layui-laydate-range .laydate-main-list-0 .laydate-next-y,.layui-laydate-range .laydate-main-list-1 .laydate-prev-m,.layui-laydate-range .laydate-main-list-1 .laydate-prev-y{display:none}.layui-laydate-range .laydate-main-list-1 .layui-laydate-content{border-left:1px solid #e2e2e2}.layui-laydate,.layui-laydate-hint{border:1px solid #d2d2d2;box-shadow:0 2px 4px rgba(0,0,0,.12);background-color:#fff;color:#666}.layui-laydate-header{border-bottom:1px solid #e2e2e2}.layui-laydate-header i:hover,.layui-laydate-header span:hover{color:#5FB878}.layui-laydate-content{border-top:none 0;border-bottom:none 0}.layui-laydate-content th{font-weight:400;color:#333}.layui-laydate-content td{color:#666}.layui-laydate-content td.laydate-selected{background-color:#00F7DE}.laydate-selected:hover{background-color:#00F7DE!important}.layui-laydate-content td:hover,.layui-laydate-list li:hover{background-color:#eaeaea;color:#333}.laydate-time-list li ol{margin:0;padding:0;border:1px solid #e2e2e2;border-left-width:0}.laydate-time-list li:first-child ol{border-left-width:1px}.laydate-time-list>li:hover{background:0 0}.layui-laydate-content .laydate-day-next,.layui-laydate-content .laydate-day-prev{color:#d2d2d2}.laydate-selected.laydate-day-next,.laydate-selected.laydate-day-prev{background-color:#f8f8f8!important}.layui-laydate-footer{border-top:1px solid #e2e2e2}.layui-laydate-hint{color:#FF5722}.laydate-day-mark::after{background-color:#5FB878}.layui-laydate-content td.layui-this .laydate-day-mark::after{display:none}.layui-laydate-footer span[lay-type=date]{color:#5FB878}.layui-laydate .layui-this{background-color:#009688!important;color:#fff!important}.layui-laydate .laydate-disabled,.layui-laydate .laydate-disabled:hover{background:0 0!important;color:#d2d2d2!important;cursor:not-allowed!important;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.laydate-theme-molv{border:none}.laydate-theme-molv.layui-laydate-range{width:548px}.laydate-theme-molv .layui-laydate-main{width:274px}.laydate-theme-molv .layui-laydate-header{border:none;background-color:#009688}.laydate-theme-molv .layui-laydate-header i,.laydate-theme-molv .layui-laydate-header span{color:#f6f6f6}.laydate-theme-molv .layui-laydate-header i:hover,.laydate-theme-molv .layui-laydate-header span:hover{color:#fff}.laydate-theme-molv .layui-laydate-content{border:1px solid #e2e2e2;border-top:none;border-bottom:none}.laydate-theme-molv .laydate-main-list-1 .layui-laydate-content{border-left:none}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li,.laydate-theme-grid .layui-laydate-content td,.laydate-theme-grid .layui-laydate-content thead,.laydate-theme-molv .layui-laydate-footer{border:1px solid #e2e2e2}.laydate-theme-grid .laydate-selected,.laydate-theme-grid .laydate-selected:hover{background-color:#f2f2f2!important;color:#009688!important}.laydate-theme-grid .laydate-selected.laydate-day-next,.laydate-theme-grid .laydate-selected.laydate-day-prev{color:#d2d2d2!important}.laydate-theme-grid .laydate-month-list,.laydate-theme-grid .laydate-year-list{margin:1px 0 0 1px}.laydate-theme-grid .laydate-month-list>li,.laydate-theme-grid .laydate-year-list>li{margin:0 -1px -1px 0}.laydate-theme-grid .laydate-year-list>li{height:43px;line-height:43px}.laydate-theme-grid .laydate-month-list>li{height:71px;line-height:71px} \ No newline at end of file diff --git a/lib/layui/css/modules/layer/default/icon-ext.png b/lib/layui/css/modules/layer/default/icon-ext.png deleted file mode 100755 index bbbb669..0000000 Binary files a/lib/layui/css/modules/layer/default/icon-ext.png and /dev/null differ diff --git a/lib/layui/css/modules/layer/default/icon.png b/lib/layui/css/modules/layer/default/icon.png deleted file mode 100755 index 3e17da8..0000000 Binary files a/lib/layui/css/modules/layer/default/icon.png and /dev/null differ diff --git a/lib/layui/css/modules/layer/default/layer.css b/lib/layui/css/modules/layer/default/layer.css deleted file mode 100755 index 157d537..0000000 --- a/lib/layui/css/modules/layer/default/layer.css +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}html #layuicss-layer{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;border-radius:2px;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat #eee}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layer-anim{-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-00{-webkit-animation-name:layer-bounceIn;animation-name:layer-bounceIn}@-webkit-keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:layer-zoomInDown;animation-name:layer-zoomInDown}@-webkit-keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layer-fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:layer-fadeInUpBig;animation-name:layer-fadeInUpBig}@-webkit-keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes layer-zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:layer-zoomInLeft;animation-name:layer-zoomInLeft}@-webkit-keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes layer-rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:layer-rollIn;animation-name:layer-rollIn}@keyframes layer-fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:layer-fadeIn;animation-name:layer-fadeIn}@-webkit-keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes layer-shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:layer-shake;animation-name:layer-shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:1px -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 15px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:5px 5px 0;padding:0 15px;border:1px solid #dedede;background-color:#fff;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#1E9FFF;background-color:#1E9FFF;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:8px 15px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:5px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:5px 10px 10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#fff;border-color:#E9E7E7;color:#333}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95;border-color:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:230px;height:36px;margin:0 auto;line-height:30px;padding-left:10px;border:1px solid #e6e6e6;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px;padding:6px 10px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;overflow:hidden;cursor:pointer}.layui-layer-tab .layui-layer-title span.layui-this{height:43px;border-left:1px solid #eee;border-right:1px solid #eee;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.layui-this{display:block}.layui-layer-photos{-webkit-animation-duration:.8s;animation-duration:.8s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@-webkit-keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes layer-bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:layer-bounceOut;animation-name:layer-bounceOut;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}} \ No newline at end of file diff --git a/lib/layui/css/modules/layer/default/loading-0.gif b/lib/layui/css/modules/layer/default/loading-0.gif deleted file mode 100755 index 6f3c953..0000000 Binary files a/lib/layui/css/modules/layer/default/loading-0.gif and /dev/null differ diff --git a/lib/layui/css/modules/layer/default/loading-1.gif b/lib/layui/css/modules/layer/default/loading-1.gif deleted file mode 100755 index db3a483..0000000 Binary files a/lib/layui/css/modules/layer/default/loading-1.gif and /dev/null differ diff --git a/lib/layui/css/modules/layer/default/loading-2.gif b/lib/layui/css/modules/layer/default/loading-2.gif deleted file mode 100755 index 5bb90fd..0000000 Binary files a/lib/layui/css/modules/layer/default/loading-2.gif and /dev/null differ diff --git a/lib/layui/font/iconfont.eot b/lib/layui/font/iconfont.eot deleted file mode 100755 index 93b3d5a..0000000 Binary files a/lib/layui/font/iconfont.eot and /dev/null differ diff --git a/lib/layui/font/iconfont.svg b/lib/layui/font/iconfont.svg deleted file mode 100755 index 1c7ffe9..0000000 --- a/lib/layui/font/iconfont.svg +++ /dev/null @@ -1,473 +0,0 @@ - - - - - -Created by iconfont - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/lib/layui/font/iconfont.ttf b/lib/layui/font/iconfont.ttf deleted file mode 100755 index 0c8b0a5..0000000 Binary files a/lib/layui/font/iconfont.ttf and /dev/null differ diff --git a/lib/layui/font/iconfont.woff b/lib/layui/font/iconfont.woff deleted file mode 100755 index 786bb2a..0000000 Binary files a/lib/layui/font/iconfont.woff and /dev/null differ diff --git a/lib/layui/images/face/0.gif b/lib/layui/images/face/0.gif deleted file mode 100755 index a63f0d5..0000000 Binary files a/lib/layui/images/face/0.gif and /dev/null differ diff --git a/lib/layui/images/face/1.gif b/lib/layui/images/face/1.gif deleted file mode 100755 index b2b78b2..0000000 Binary files a/lib/layui/images/face/1.gif and /dev/null differ diff --git a/lib/layui/images/face/10.gif b/lib/layui/images/face/10.gif deleted file mode 100755 index 556c7e3..0000000 Binary files a/lib/layui/images/face/10.gif and /dev/null differ diff --git a/lib/layui/images/face/11.gif b/lib/layui/images/face/11.gif deleted file mode 100755 index 2bfc58b..0000000 Binary files a/lib/layui/images/face/11.gif and /dev/null differ diff --git a/lib/layui/images/face/12.gif b/lib/layui/images/face/12.gif deleted file mode 100755 index 1c321c7..0000000 Binary files a/lib/layui/images/face/12.gif and /dev/null differ diff --git a/lib/layui/images/face/13.gif b/lib/layui/images/face/13.gif deleted file mode 100755 index 300bbc2..0000000 Binary files a/lib/layui/images/face/13.gif and /dev/null differ diff --git a/lib/layui/images/face/14.gif b/lib/layui/images/face/14.gif deleted file mode 100755 index 43b6d0a..0000000 Binary files a/lib/layui/images/face/14.gif and /dev/null differ diff --git a/lib/layui/images/face/15.gif b/lib/layui/images/face/15.gif deleted file mode 100755 index c9f25fa..0000000 Binary files a/lib/layui/images/face/15.gif and /dev/null differ diff --git a/lib/layui/images/face/16.gif b/lib/layui/images/face/16.gif deleted file mode 100755 index 34f28e4..0000000 Binary files a/lib/layui/images/face/16.gif and /dev/null differ diff --git a/lib/layui/images/face/17.gif b/lib/layui/images/face/17.gif deleted file mode 100755 index 39cd035..0000000 Binary files a/lib/layui/images/face/17.gif and /dev/null differ diff --git a/lib/layui/images/face/18.gif b/lib/layui/images/face/18.gif deleted file mode 100755 index 7bce299..0000000 Binary files a/lib/layui/images/face/18.gif and /dev/null differ diff --git a/lib/layui/images/face/19.gif b/lib/layui/images/face/19.gif deleted file mode 100755 index adac542..0000000 Binary files a/lib/layui/images/face/19.gif and /dev/null differ diff --git a/lib/layui/images/face/2.gif b/lib/layui/images/face/2.gif deleted file mode 100755 index 7edbb58..0000000 Binary files a/lib/layui/images/face/2.gif and /dev/null differ diff --git a/lib/layui/images/face/20.gif b/lib/layui/images/face/20.gif deleted file mode 100755 index 50631a6..0000000 Binary files a/lib/layui/images/face/20.gif and /dev/null differ diff --git a/lib/layui/images/face/21.gif b/lib/layui/images/face/21.gif deleted file mode 100755 index b984212..0000000 Binary files a/lib/layui/images/face/21.gif and /dev/null differ diff --git a/lib/layui/images/face/22.gif b/lib/layui/images/face/22.gif deleted file mode 100755 index 1f0bd8b..0000000 Binary files a/lib/layui/images/face/22.gif and /dev/null differ diff --git a/lib/layui/images/face/23.gif b/lib/layui/images/face/23.gif deleted file mode 100755 index e05e0f9..0000000 Binary files a/lib/layui/images/face/23.gif and /dev/null differ diff --git a/lib/layui/images/face/24.gif b/lib/layui/images/face/24.gif deleted file mode 100755 index f35928a..0000000 Binary files a/lib/layui/images/face/24.gif and /dev/null differ diff --git a/lib/layui/images/face/25.gif b/lib/layui/images/face/25.gif deleted file mode 100755 index 0b4a883..0000000 Binary files a/lib/layui/images/face/25.gif and /dev/null differ diff --git a/lib/layui/images/face/26.gif b/lib/layui/images/face/26.gif deleted file mode 100755 index 45c4fb5..0000000 Binary files a/lib/layui/images/face/26.gif and /dev/null differ diff --git a/lib/layui/images/face/27.gif b/lib/layui/images/face/27.gif deleted file mode 100755 index 7a4c013..0000000 Binary files a/lib/layui/images/face/27.gif and /dev/null differ diff --git a/lib/layui/images/face/28.gif b/lib/layui/images/face/28.gif deleted file mode 100755 index fc5a0cf..0000000 Binary files a/lib/layui/images/face/28.gif and /dev/null differ diff --git a/lib/layui/images/face/29.gif b/lib/layui/images/face/29.gif deleted file mode 100755 index 5dd7442..0000000 Binary files a/lib/layui/images/face/29.gif and /dev/null differ diff --git a/lib/layui/images/face/3.gif b/lib/layui/images/face/3.gif deleted file mode 100755 index 86df67b..0000000 Binary files a/lib/layui/images/face/3.gif and /dev/null differ diff --git a/lib/layui/images/face/30.gif b/lib/layui/images/face/30.gif deleted file mode 100755 index b751f98..0000000 Binary files a/lib/layui/images/face/30.gif and /dev/null differ diff --git a/lib/layui/images/face/31.gif b/lib/layui/images/face/31.gif deleted file mode 100755 index c9476d7..0000000 Binary files a/lib/layui/images/face/31.gif and /dev/null differ diff --git a/lib/layui/images/face/32.gif b/lib/layui/images/face/32.gif deleted file mode 100755 index 9931b06..0000000 Binary files a/lib/layui/images/face/32.gif and /dev/null differ diff --git a/lib/layui/images/face/33.gif b/lib/layui/images/face/33.gif deleted file mode 100755 index 59111a3..0000000 Binary files a/lib/layui/images/face/33.gif and /dev/null differ diff --git a/lib/layui/images/face/34.gif b/lib/layui/images/face/34.gif deleted file mode 100755 index a334548..0000000 Binary files a/lib/layui/images/face/34.gif and /dev/null differ diff --git a/lib/layui/images/face/35.gif b/lib/layui/images/face/35.gif deleted file mode 100755 index a932264..0000000 Binary files a/lib/layui/images/face/35.gif and /dev/null differ diff --git a/lib/layui/images/face/36.gif b/lib/layui/images/face/36.gif deleted file mode 100755 index 6de432a..0000000 Binary files a/lib/layui/images/face/36.gif and /dev/null differ diff --git a/lib/layui/images/face/37.gif b/lib/layui/images/face/37.gif deleted file mode 100755 index d05f2da..0000000 Binary files a/lib/layui/images/face/37.gif and /dev/null differ diff --git a/lib/layui/images/face/38.gif b/lib/layui/images/face/38.gif deleted file mode 100755 index 8b1c88a..0000000 Binary files a/lib/layui/images/face/38.gif and /dev/null differ diff --git a/lib/layui/images/face/39.gif b/lib/layui/images/face/39.gif deleted file mode 100755 index 38b84a5..0000000 Binary files a/lib/layui/images/face/39.gif and /dev/null differ diff --git a/lib/layui/images/face/4.gif b/lib/layui/images/face/4.gif deleted file mode 100755 index d52200c..0000000 Binary files a/lib/layui/images/face/4.gif and /dev/null differ diff --git a/lib/layui/images/face/40.gif b/lib/layui/images/face/40.gif deleted file mode 100755 index ae42991..0000000 Binary files a/lib/layui/images/face/40.gif and /dev/null differ diff --git a/lib/layui/images/face/41.gif b/lib/layui/images/face/41.gif deleted file mode 100755 index b9c715c..0000000 Binary files a/lib/layui/images/face/41.gif and /dev/null differ diff --git a/lib/layui/images/face/42.gif b/lib/layui/images/face/42.gif deleted file mode 100755 index 0eb1434..0000000 Binary files a/lib/layui/images/face/42.gif and /dev/null differ diff --git a/lib/layui/images/face/43.gif b/lib/layui/images/face/43.gif deleted file mode 100755 index ac0b700..0000000 Binary files a/lib/layui/images/face/43.gif and /dev/null differ diff --git a/lib/layui/images/face/44.gif b/lib/layui/images/face/44.gif deleted file mode 100755 index ad44497..0000000 Binary files a/lib/layui/images/face/44.gif and /dev/null differ diff --git a/lib/layui/images/face/45.gif b/lib/layui/images/face/45.gif deleted file mode 100755 index 6837fca..0000000 Binary files a/lib/layui/images/face/45.gif and /dev/null differ diff --git a/lib/layui/images/face/46.gif b/lib/layui/images/face/46.gif deleted file mode 100755 index d62916d..0000000 Binary files a/lib/layui/images/face/46.gif and /dev/null differ diff --git a/lib/layui/images/face/47.gif b/lib/layui/images/face/47.gif deleted file mode 100755 index 58a0836..0000000 Binary files a/lib/layui/images/face/47.gif and /dev/null differ diff --git a/lib/layui/images/face/48.gif b/lib/layui/images/face/48.gif deleted file mode 100755 index 7ffd161..0000000 Binary files a/lib/layui/images/face/48.gif and /dev/null differ diff --git a/lib/layui/images/face/49.gif b/lib/layui/images/face/49.gif deleted file mode 100755 index 959b992..0000000 Binary files a/lib/layui/images/face/49.gif and /dev/null differ diff --git a/lib/layui/images/face/5.gif b/lib/layui/images/face/5.gif deleted file mode 100755 index 4e8b09f..0000000 Binary files a/lib/layui/images/face/5.gif and /dev/null differ diff --git a/lib/layui/images/face/50.gif b/lib/layui/images/face/50.gif deleted file mode 100755 index 6e22e7f..0000000 Binary files a/lib/layui/images/face/50.gif and /dev/null differ diff --git a/lib/layui/images/face/51.gif b/lib/layui/images/face/51.gif deleted file mode 100755 index ad3f4d3..0000000 Binary files a/lib/layui/images/face/51.gif and /dev/null differ diff --git a/lib/layui/images/face/52.gif b/lib/layui/images/face/52.gif deleted file mode 100755 index 39f8a22..0000000 Binary files a/lib/layui/images/face/52.gif and /dev/null differ diff --git a/lib/layui/images/face/53.gif b/lib/layui/images/face/53.gif deleted file mode 100755 index a181ee7..0000000 Binary files a/lib/layui/images/face/53.gif and /dev/null differ diff --git a/lib/layui/images/face/54.gif b/lib/layui/images/face/54.gif deleted file mode 100755 index e289d92..0000000 Binary files a/lib/layui/images/face/54.gif and /dev/null differ diff --git a/lib/layui/images/face/55.gif b/lib/layui/images/face/55.gif deleted file mode 100755 index 4351083..0000000 Binary files a/lib/layui/images/face/55.gif and /dev/null differ diff --git a/lib/layui/images/face/56.gif b/lib/layui/images/face/56.gif deleted file mode 100755 index e0eff22..0000000 Binary files a/lib/layui/images/face/56.gif and /dev/null differ diff --git a/lib/layui/images/face/57.gif b/lib/layui/images/face/57.gif deleted file mode 100755 index 0bf130f..0000000 Binary files a/lib/layui/images/face/57.gif and /dev/null differ diff --git a/lib/layui/images/face/58.gif b/lib/layui/images/face/58.gif deleted file mode 100755 index 0f06508..0000000 Binary files a/lib/layui/images/face/58.gif and /dev/null differ diff --git a/lib/layui/images/face/59.gif b/lib/layui/images/face/59.gif deleted file mode 100755 index 7081e4f..0000000 Binary files a/lib/layui/images/face/59.gif and /dev/null differ diff --git a/lib/layui/images/face/6.gif b/lib/layui/images/face/6.gif deleted file mode 100755 index f7715bf..0000000 Binary files a/lib/layui/images/face/6.gif and /dev/null differ diff --git a/lib/layui/images/face/60.gif b/lib/layui/images/face/60.gif deleted file mode 100755 index 6e15f89..0000000 Binary files a/lib/layui/images/face/60.gif and /dev/null differ diff --git a/lib/layui/images/face/61.gif b/lib/layui/images/face/61.gif deleted file mode 100755 index f092d7e..0000000 Binary files a/lib/layui/images/face/61.gif and /dev/null differ diff --git a/lib/layui/images/face/62.gif b/lib/layui/images/face/62.gif deleted file mode 100755 index 7fe4984..0000000 Binary files a/lib/layui/images/face/62.gif and /dev/null differ diff --git a/lib/layui/images/face/63.gif b/lib/layui/images/face/63.gif deleted file mode 100755 index cf8e23e..0000000 Binary files a/lib/layui/images/face/63.gif and /dev/null differ diff --git a/lib/layui/images/face/64.gif b/lib/layui/images/face/64.gif deleted file mode 100755 index a779719..0000000 Binary files a/lib/layui/images/face/64.gif and /dev/null differ diff --git a/lib/layui/images/face/65.gif b/lib/layui/images/face/65.gif deleted file mode 100755 index 7bb98f2..0000000 Binary files a/lib/layui/images/face/65.gif and /dev/null differ diff --git a/lib/layui/images/face/66.gif b/lib/layui/images/face/66.gif deleted file mode 100755 index bb6d077..0000000 Binary files a/lib/layui/images/face/66.gif and /dev/null differ diff --git a/lib/layui/images/face/67.gif b/lib/layui/images/face/67.gif deleted file mode 100755 index 6e33f7c..0000000 Binary files a/lib/layui/images/face/67.gif and /dev/null differ diff --git a/lib/layui/images/face/68.gif b/lib/layui/images/face/68.gif deleted file mode 100755 index 1a6c400..0000000 Binary files a/lib/layui/images/face/68.gif and /dev/null differ diff --git a/lib/layui/images/face/69.gif b/lib/layui/images/face/69.gif deleted file mode 100755 index a02f0b2..0000000 Binary files a/lib/layui/images/face/69.gif and /dev/null differ diff --git a/lib/layui/images/face/7.gif b/lib/layui/images/face/7.gif deleted file mode 100755 index e6d4db8..0000000 Binary files a/lib/layui/images/face/7.gif and /dev/null differ diff --git a/lib/layui/images/face/70.gif b/lib/layui/images/face/70.gif deleted file mode 100755 index 416c5c1..0000000 Binary files a/lib/layui/images/face/70.gif and /dev/null differ diff --git a/lib/layui/images/face/71.gif b/lib/layui/images/face/71.gif deleted file mode 100755 index c17d60c..0000000 Binary files a/lib/layui/images/face/71.gif and /dev/null differ diff --git a/lib/layui/images/face/8.gif b/lib/layui/images/face/8.gif deleted file mode 100755 index 66f967b..0000000 Binary files a/lib/layui/images/face/8.gif and /dev/null differ diff --git a/lib/layui/images/face/9.gif b/lib/layui/images/face/9.gif deleted file mode 100755 index 6044740..0000000 Binary files a/lib/layui/images/face/9.gif and /dev/null differ diff --git a/lib/layui/lay/modules/carousel.js b/lib/layui/lay/modules/carousel.js deleted file mode 100755 index 2be2c8c..0000000 --- a/lib/layui/lay/modules/carousel.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
    ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
"].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a/g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
  1. '+o.replace(/[\r\t\n]+/g,"
  2. ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend('

'+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); \ No newline at end of file diff --git a/lib/layui/lay/modules/colorpicker.js b/lib/layui/lay/modules/colorpicker.js deleted file mode 100755 index fd99bf8..0000000 --- a/lib/layui/lay/modules/colorpicker.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var i=layui.jquery,o={config:{},index:layui.colorpicker?layui.colorpicker.index+1e4:0,set:function(e){var o=this;return o.config=i.extend({},o.config,e),o},on:function(e,i){return layui.onevent.call(this,"colorpicker",e,i)}},r=function(){var e=this,i=e.config;return{config:i}},t="colorpicker",n="layui-show",l="layui-colorpicker",c=".layui-colorpicker-main",a="layui-icon-down",s="layui-icon-close",f="layui-colorpicker-trigger-span",d="layui-colorpicker-trigger-i",u="layui-colorpicker-side",p="layui-colorpicker-side-slider",g="layui-colorpicker-basis",v="layui-colorpicker-alpha-bgcolor",h="layui-colorpicker-alpha-slider",m="layui-colorpicker-basis-cursor",b="layui-colorpicker-main-input",k=function(e){var i={h:0,s:0,b:0},o=Math.min(e.r,e.g,e.b),r=Math.max(e.r,e.g,e.b),t=r-o;return i.b=r,i.s=0!=r?255*t/r:0,0!=i.s?e.r==r?i.h=(e.g-e.b)/t:e.g==r?i.h=2+(e.b-e.r)/t:i.h=4+(e.r-e.g)/t:i.h=-1,r==o&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},y=function(e){var e=e.indexOf("#")>-1?e.substring(1):e;if(3==e.length){var i=e.split("");e=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]}e=parseInt(e,16);var o={r:e>>16,g:(65280&e)>>8,b:255&e};return k(o)},x=function(e){var i={},o=e.h,r=255*e.s/100,t=255*e.b/100;if(0==r)i.r=i.g=i.b=t;else{var n=t,l=(255-r)*t/255,c=(n-l)*(o%60)/60;360==o&&(o=0),o<60?(i.r=n,i.b=l,i.g=l+c):o<120?(i.g=n,i.b=l,i.r=n-c):o<180?(i.g=n,i.r=l,i.b=l+c):o<240?(i.b=n,i.r=l,i.g=n-c):o<300?(i.b=n,i.g=l,i.r=l+c):o<360?(i.r=n,i.g=l,i.b=n-c):(i.r=0,i.g=0,i.b=0)}return{r:Math.round(i.r),g:Math.round(i.g),b:Math.round(i.b)}},C=function(e){var o=x(e),r=[o.r.toString(16),o.g.toString(16),o.b.toString(16)];return i.each(r,function(e,i){1==i.length&&(r[e]="0"+i)}),r.join("")},P=function(e){var i=/[0-9]{1,3}/g,o=e.match(i)||[];return{r:o[0],g:o[1],b:o[2]}},B=i(window),w=i(document),D=function(e){var r=this;r.index=++o.index,r.config=i.extend({},r.config,o.config,e),r.render()};D.prototype.config={color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#009688","#5FB878","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","#393D49","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},D.prototype.render=function(){var e=this,o=e.config,r=i(['
',"",'3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','',"","","
"].join("")),t=i(o.elem);o.size&&r.addClass("layui-colorpicker-"+o.size),t.addClass("layui-inline").html(e.elemColorBox=r),e.color=e.elemColorBox.find("."+f)[0].style.background,e.events()},D.prototype.renderPicker=function(){var e=this,o=e.config,r=e.elemColorBox[0],t=e.elemPicker=i(['
','
','
','
','
','
',"
",'
','
',"
","
",'
','
','
',"
","
",function(){if(o.predefine){var e=['
'];return layui.each(o.colors,function(i,o){e.push(['
','
',"
"].join(""))}),e.push("
"),e.join("")}return""}(),'
','
','',"
",'
','','',"","
"].join(""));e.elemColorBox.find("."+f)[0];i(c)[0]&&i(c).data("index")==e.index?e.removePicker(D.thisElemInd):(e.removePicker(D.thisElemInd),i("body").append(t)),D.thisElemInd=e.index,D.thisColor=r.style.background,e.position(),e.pickerEvents()},D.prototype.removePicker=function(e){var o=this;o.config;return i("#layui-colorpicker"+(e||o.index)).remove(),o},D.prototype.position=function(){var e=this,i=e.config,o=e.bindElem||e.elemColorBox[0],r=e.elemPicker[0],t=o.getBoundingClientRect(),n=r.offsetWidth,l=r.offsetHeight,c=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},a=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},s=5,f=t.left,d=t.bottom;f-=(n-o.offsetWidth)/2,d+=s,f+n+s>a("width")?f=a("width")-n-s:fa()&&(d=t.top>l?t.top-l:a()-l,d-=2*s),i.position&&(r.style.position=i.position),r.style.left=f+("fixed"===i.position?0:c(1))+"px",r.style.top=d+("fixed"===i.position?0:c())+"px"},D.prototype.val=function(){var e=this,i=(e.config,e.elemColorBox.find("."+f)),o=e.elemPicker.find("."+b),r=i[0],t=r.style.backgroundColor;if(t){var n=k(P(t)),l=i.attr("lay-type");if(e.select(n.h,n.s,n.b),"torgb"===l&&o.find("input").val(t),"rgba"===l){var c=P(t);if(3==(t.match(/[0-9]{1,3}/g)||[]).length)o.find("input").val("rgba("+c.r+", "+c.g+", "+c.b+", 1)"),e.elemPicker.find("."+h).css("left",280);else{o.find("input").val(t);var a=280*t.slice(t.lastIndexOf(",")+1,t.length-1);e.elemPicker.find("."+h).css("left",a)}e.elemPicker.find("."+v)[0].style.background="linear-gradient(to right, rgba("+c.r+", "+c.g+", "+c.b+", 0), rgb("+c.r+", "+c.g+", "+c.b+"))"}}else e.select(0,100,100),o.find("input").val(""),e.elemPicker.find("."+v)[0].style.background="",e.elemPicker.find("."+h).css("left",280)},D.prototype.side=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=r.attr("lay-type"),n=e.elemPicker.find("."+u),l=e.elemPicker.find("."+p),c=e.elemPicker.find("."+g),y=e.elemPicker.find("."+m),C=e.elemPicker.find("."+v),w=e.elemPicker.find("."+h),D=l[0].offsetTop/180*360,E=100-(y[0].offsetTop+3)/180*100,H=(y[0].offsetLeft+3)/260*100,W=Math.round(w[0].offsetLeft/280*100)/100,j=e.elemColorBox.find("."+d),F=e.elemPicker.find(".layui-colorpicker-pre").children("div"),L=function(i,n,l,c){e.select(i,n,l);var f=x({h:i,s:n,b:l});if(j.addClass(a).removeClass(s),r[0].style.background="rgb("+f.r+", "+f.g+", "+f.b+")","torgb"===t&&e.elemPicker.find("."+b).find("input").val("rgb("+f.r+", "+f.g+", "+f.b+")"),"rgba"===t){var d=0;d=280*c,w.css("left",d),e.elemPicker.find("."+b).find("input").val("rgba("+f.r+", "+f.g+", "+f.b+", "+c+")"),r[0].style.background="rgba("+f.r+", "+f.g+", "+f.b+", "+c+")",C[0].style.background="linear-gradient(to right, rgba("+f.r+", "+f.g+", "+f.b+", 0), rgb("+f.r+", "+f.g+", "+f.b+"))"}o.change&&o.change(e.elemPicker.find("."+b).find("input").val())},M=i(['
t&&(r=t);var l=r/180*360;D=l,L(l,H,E,W),e.preventDefault()};Y(r),e.preventDefault()}),n.on("click",function(e){var o=e.clientY-i(this).offset().top;o<0&&(o=0),o>this.offsetHeight&&(o=this.offsetHeight);var r=o/180*360;D=r,L(r,H,E,W),e.preventDefault()}),y.on("mousedown",function(e){var i=this.offsetTop,o=this.offsetLeft,r=e.clientY,t=e.clientX,n=function(e){var n=i+(e.clientY-r),l=o+(e.clientX-t),a=c[0].offsetHeight-3,s=c[0].offsetWidth-3;n<-3&&(n=-3),n>a&&(n=a),l<-3&&(l=-3),l>s&&(l=s);var f=(l+3)/260*100,d=100-(n+3)/180*100;E=d,H=f,L(D,f,d,W),e.preventDefault()};layui.stope(e),Y(n),e.preventDefault()}),c.on("mousedown",function(e){var o=e.clientY-i(this).offset().top-3+B.scrollTop(),r=e.clientX-i(this).offset().left-3+B.scrollLeft();o<-3&&(o=-3),o>this.offsetHeight-3&&(o=this.offsetHeight-3),r<-3&&(r=-3),r>this.offsetWidth-3&&(r=this.offsetWidth-3);var t=(r+3)/260*100,n=100-(o+3)/180*100;E=n,H=t,L(D,t,n,W),e.preventDefault(),y.trigger(e,"mousedown")}),w.on("mousedown",function(e){var i=this.offsetLeft,o=e.clientX,r=function(e){var r=i+(e.clientX-o),t=C[0].offsetWidth;r<0&&(r=0),r>t&&(r=t);var n=Math.round(r/280*100)/100;W=n,L(D,H,E,n),e.preventDefault()};Y(r),e.preventDefault()}),C.on("click",function(e){var o=e.clientX-i(this).offset().left;o<0&&(o=0),o>this.offsetWidth&&(o=this.offsetWidth);var r=Math.round(o/280*100)/100;W=r,L(D,H,E,r),e.preventDefault()}),F.each(function(){i(this).on("click",function(){i(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e,o=this.style.backgroundColor,r=k(P(o)),t=o.slice(o.lastIndexOf(",")+1,o.length-1);D=r.h,H=r.s,E=r.b,3==(o.match(/[0-9]{1,3}/g)||[]).length&&(t=1),W=t,e=280*t,L(r.h,r.s,r.b,t)})})},D.prototype.select=function(e,i,o,r){var t=this,n=(t.config,C({h:e,s:100,b:100})),l=C({h:e,s:i,b:o}),c=e/360*180,a=180-o/100*180-3,s=i/100*260-3;t.elemPicker.find("."+p).css("top",c),t.elemPicker.find("."+g)[0].style.background="#"+n,t.elemPicker.find("."+m).css({top:a,left:s}),"change"!==r&&t.elemPicker.find("."+b).find("input").val("#"+l)},D.prototype.pickerEvents=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=e.elemPicker.find("."+b+" input"),n={clear:function(i){r[0].style.background="",e.elemColorBox.find("."+d).removeClass(a).addClass(s),e.color="",o.done&&o.done(""),e.removePicker()},confirm:function(i,n){var l=t.val(),c=l,f={};if(l.indexOf(",")>-1){if(f=k(P(l)),e.select(f.h,f.s,f.b),r[0].style.background=c="#"+C(f),(l.match(/[0-9]{1,3}/g)||[]).length>3&&"rgba"===r.attr("lay-type")){var u=280*l.slice(l.lastIndexOf(",")+1,l.length-1);e.elemPicker.find("."+h).css("left",u),r[0].style.background=l,c=l}}else f=y(l),r[0].style.background=c="#"+C(f),e.elemColorBox.find("."+d).removeClass(s).addClass(a);return"change"===n?(e.select(f.h,f.s,f.b,n),void(o.change&&o.change(c))):(e.color=l,o.done&&o.done(l),void e.removePicker())}};e.elemPicker.on("click","*[colorpicker-events]",function(){var e=i(this),o=e.attr("colorpicker-events");n[o]&&n[o].call(this,e)}),t.on("keyup",function(e){var o=i(this);n.confirm.call(this,o,13===e.keyCode?null:"change")})},D.prototype.events=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f);e.elemColorBox.on("click",function(){e.renderPicker(),i(c)[0]&&(e.val(),e.side())}),o.elem[0]&&!e.elemColorBox[0].eventHandler&&(w.on("click",function(o){if(!i(o.target).hasClass(l)&&!i(o.target).parents("."+l)[0]&&!i(o.target).hasClass(c.replace(/\./g,""))&&!i(o.target).parents(c)[0]&&e.elemPicker){if(e.color){var t=k(P(e.color));e.select(t.h,t.s,t.b)}else e.elemColorBox.find("."+d).removeClass(a).addClass(s);r[0].style.background=e.color||"",e.removePicker()}}),B.on("resize",function(){return!(!e.elemPicker||!i(c)[0])&&void e.position()}),e.elemColorBox[0].eventHandler=!0)},o.render=function(e){var i=new D(e);return r.call(i)},e(t,o)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/element.js b/lib/layui/lay/modules/element.js deleted file mode 100755 index ac628df..0000000 --- a/lib/layui/lay/modules/element.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(t){"use strict";var a=layui.$,i=(layui.hint(),layui.device()),e="element",l="layui-this",n="layui-show",s=function(){this.config={}};s.prototype.set=function(t){var i=this;return a.extend(!0,i.config,t),i},s.prototype.on=function(t,a){return layui.onevent.call(this,e,t,a)},s.prototype.tabAdd=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.children(".layui-tab-bar"),o=l.children(".layui-tab-content"),r='
  • "+(i.title||"unnaming")+"
  • ";return s[0]?s.before(r):n.append(r),o.append('
    '+(i.content||"")+"
    "),f.hideTabMore(!0),f.tabAuto(),this},s.prototype.tabDelete=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabDelete(null,s),this},s.prototype.tabChange=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},b.on("click",t.headerElem,function(i){var e=a(this).index();f.tabClick.call(this,i,e,null,t)})},s.prototype.progress=function(t,i){var e="layui-progress",l=a("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",i),s.text(i),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",d="layui-nav-child",y="layui-nav-more",h="layui-anim layui-anim-upbit",f={tabClick:function(t,i,s,o){o=o||{};var r=s||a(this),i=i||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?a(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),d=r.find("a"),y=c.attr("lay-filter");"javascript:;"!==d.attr("href")&&"_blank"===d.attr("target")||(r.addClass(l).siblings().removeClass(l),u.eq(i).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+y+")",{elem:c,index:i})},tabDelete:function(t,i){var n=i||a(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?f.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&f.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){f.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;a(".layui-tab").each(function(){var s=a(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=a('');if(n===window&&8!=i.ie&&f.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=a(this);if(!t.find("."+l)[0]){var i=a('');i.on("click",f.tabDelete),t.append(i)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(a){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"收缩"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var i=a(".layui-tab-title");t!==!0&&"tabmore"===a(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=a(this),i=t.parents(o),n=i.attr("lay-filter"),s=t.parent(),c=t.siblings("."+d),y="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||y||c[0]||(i.find("."+l).removeClass(l),s.addClass(l)),i.hasClass(u)&&(c.removeClass(h),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===i.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=a(this),i=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"":""),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){f.tabAuto.call({})},nav:function(){var t=200,e={},s={},p={},b=function(l,o,r){var c=a(this),f=c.find("."+d);o.hasClass(u)?l.css({top:c.position().top,height:c.children("a").outerHeight(),opacity:1}):(f.addClass(h),l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:c.width(),opacity:1})},i.ie&&i.ie<10?0:t),clearTimeout(p[r]),"block"===f.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){f.addClass(n),c.find("."+y).addClass(y+"d")},300))};a(o+l).each(function(i){var l=a(this),o=a(''),h=l.find("."+r);l.find("."+c)[0]||(l.append(o),h.on("mouseenter",function(){b.call(this,o,l,i)}).on("mouseleave",function(){l.hasClass(u)||(clearTimeout(s[i]),s[i]=setTimeout(function(){l.find("."+d).removeClass(n),l.find("."+y).removeClass(y+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[i]),p[i]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),h.find("a").each(function(){var t=a(this),i=(t.parent(),t.siblings("."+d));i[0]&&!t.children("."+y)[0]&&t.append(''),t.off("click",f.clickThis).on("click",f.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";a(t+l).each(function(){var t=a(this),i="lay-separator",e=t.attr(i)||"/",l=t.find("a");l.next("span["+i+"]")[0]||(l.each(function(t){t!==l.length-1&&a(this).after(""+e+"")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";a("."+t+l).each(function(){var i=a(this),e=i.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),i.attr("lay-showPercent")&&setTimeout(function(){e.html(''+l+"")},350)})},collapse:function(){var t="layui-collapse";a("."+t+l).each(function(){var t=a(this).find(".layui-colla-item");t.each(function(){var t=a(this),i=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");i.find(".layui-colla-icon").remove(),i.append(''+(l?"":"")+""),i.off("click",f.collapse).on("click",f.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,a){a()})},s.prototype.render=s.prototype.init;var p=new s,b=a(document);p.render();var v=".layui-tab-title li";b.on("click",v,f.tabClick),b.on("click",f.hideTabMore),a(window).on("resize",f.tabAuto),t(e,p)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/flow.js b/lib/layui/lay/modules/flow.js deleted file mode 100755 index 8a80c05..0000000 --- a/lib/layui/lay/modules/flow.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/form.js b/lib/layui/lay/modules/form.js deleted file mode 100755 index daa8ce5..0000000 --- a/lib/layui/lay/modules/form.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",s="layui-this",o="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"必填项不能为空"],phone:[/^1\d{10}$/,"请输入正确的手机号"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"邮箱格式不正确"],url:[/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,"链接格式不正确"],number:function(e){if(!e||isNaN(e))return"只能填写数字"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"日期格式不正确"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"请输入正确的身份证号"]}}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=t(r+'[lay-filter="'+e+'"]');a.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value===t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e)},u.prototype.render=function(e,i){var n=this,u=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),d={select:function(){var e,i="请选择",a="layui-form-select",n="layui-select-title",r="layui-select-none",d="",f=u.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&d&&e.val(d)),e=null},y=function(i,u,f){var y,p=t(this),m=i.find("."+n),k=m.find("input"),x=i.find("dl"),g=x.children("dd"),b=this.selectedIndex;if(!u){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=x.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),g.removeClass(o),y=null,g.eq(b).addClass(s).siblings().removeClass(s),e+t>h.height()&&e>=t&&i.addClass(a+"up"),$()},w=function(e){i.removeClass(a+"ed "+a+"up"),k.blur(),y=null,e||T(k.val(),function(e){var i=p[0].selectedIndex;e&&(d=t(p[0].options[i]).html(),0===i&&d===k.attr("placeholder")&&(d=""),k.val(d||""))})},$=function(){var e=x.children("dd."+s);if(e[0]){var t=e.position().top,i=x.height(),a=e.height();t>i&&x.scrollTop(t+x.scrollTop()-i+a-5),t<0&&x.scrollTop(t+x.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),x.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){k.focus()}),k.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=x.children("dd."+s);if(x.children("dd."+o)[0]&&"next"===t){var i=x.children("dd:not(."+o+",."+c+")"),n=i.eq(0).index();if(n>=0&&n无匹配项

    '):x.find("."+r).remove()},"keyup"),""===t&&x.find("."+r).remove(),void $())};f&&k.on("keyup",j).on("blur",function(i){var a=p[0].selectedIndex;e=k,d=t(p[0].options[a]).html(),0===a&&d===k.attr("placeholder")&&(d=""),setTimeout(function(){T(k.val(),function(e){d||k.val("")},"blur")},200)}),g.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?k.val(""):(k.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),o=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['
    ','
    ','','
    ','
    ',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("
    "+a.label+"
    "):t.push('
    '+a.innerHTML+"
    "):t.push('
    '+(a.innerHTML||i)+"
    ")}),0===t.length&&t.push('
    没有选项
    '),t.join("")}(r.find("*"))+"
    ","
    "].join(""));o[0]&&o.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=u.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),s=(l.attr("lay-text")||"").split("|"),o=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['
    ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?s[0]:s[1])||"")+""};return t[r]||t.checkbox}(),"
    "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],a=u.find("input[type=radio]"),n=function(a){var n=t(this),s="layui-anim-scaleSpring";a.on("click",function(){var o=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+o.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(s).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next("."+e),o=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();s[0]&&s.remove();var u=t(['
    ',''+i[l.checked?0:1]+"","
    "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"
    ","
    "].join(""));r.after(u),n.call(this,u)})}};return e?d[e]?d[e]():a.error("不支持的"+e+"表单渲染"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o="layui-form-danger",c={},u=e.parents(r),d=u.find("*[lay-verify]"),v=e.parents("form")[0],h=u.find("input,select,textarea"),y=e.attr("lay-filter");if(layui.each(d,function(e,l){var r=t(this),c=r.attr("lay-verify").split("|"),u=r.attr("lay-verType"),d=r.val();if(r.removeClass(o),layui.each(c,function(e,t){var c,f="",v="function"==typeof a[t];if(a[t]){var c=v?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],c)return"tips"===u?i.tips(f,function(){return"string"==typeof r.attr("lay-ignore")||"select"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):"alert"===u?i.alert(f,{title:"提示",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||l.focus(),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(h,function(e,t){if(t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name){if(/^.*\[\]$/.test(t.name)){var i=t.name.match(/^(.*)\[\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\[\]$/,"$1["+p[i]++ +"]")}/^checkbox|radio$/.test(t.type)&&!t.checked||(c[t.name]=t.value)}}),layui.event.call(this,l,"submit("+y+")",{elem:this,form:v,field:c})},f=new u,v=t(document),h=t(window);f.render(),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/jquery.js b/lib/layui/lay/modules/jquery.js deleted file mode 100755 index 242696a..0000000 --- a/lib/layui/lay/modules/jquery.js +++ /dev/null @@ -1,5 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;!function(e,t){"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(e,t){function n(e){var t=!!e&&"length"in e&&e.length,n=pe.type(e);return"function"!==n&&!pe.isWindow(e)&&("array"===n||0===t||"number"==typeof t&&t>0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(_e,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||"string"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,"input"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),"script"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||"")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function C(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,"script"),C),a=s.length;c")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a=0&&n=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,"constructor")&&!ce.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[le.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,"ms-").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;iT.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG("*",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P="sizzle"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+P+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),M.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),M=M.length&&new RegExp(M.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&_&&!X[n+" "]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}), -l=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[P]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split("").sort(U).join("")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ce=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll("left")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst="0"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},qe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length
    a",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,""],legend:[1,"
    ","
    "],area:[1,"",""],param:[1,"",""],thead:[1,"","
    "],tr:[2,"","
    "],col:[2,"","
    "],td:[3,"","
    "],_default:fe.htmlSerialize?[0,"",""]:[1,"X
    ","
    "]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/-1&&(h=p.split("."),p=h.shift(),h.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,"events")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,"script"),r.length>0&&g(r,!u&&h(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,""):void 0;if("string"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;nt",t=l.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement("div"),l=re.createElement("div");l.style&&(l.style.cssText="float:left;opacity:.5",fe.opacity="0.5"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",fe.clearCloneStyle="content-box"===l.style.backgroundClip,u=re.createElement("div"),u.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),fe.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var yt=/alpha\([^)]*\)/i,vt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Fe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"},Ct=["Webkit","O","Moz","ms"],Et=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":fe.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,"string"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),fe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(yt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+" "+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},gt,[e,"marginRight"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(De);for(var n,r=0,i=e.length;r
    a",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",fe.getSetAttribute="t"!==n.className,fe.style=/top/.test(e.getAttribute("style")),fe.hrefNormalized="/a"===e.getAttribute("href"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement("form").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),fe.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),fe.radioValue="t"===t.value}();var Dt=/\r/g,jt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(jt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),fe.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype="encoding");var Pt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(Pt," ").indexOf(t)>-1)return!0;return!1}}),pe.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 contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Gt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Kt={},Qt={},Zt="*/".concat("*"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||"",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger("ajaxComplete",[T,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks("once memory"),y=d.statusCode||{},v={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+"").replace(zt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(De)||[""],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,"$1_="+Wt++):a+(It.test(a)?"&":"?")+"_="+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader("If-None-Match",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Zt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w="abort";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger("ajaxSend",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&"withCredentials"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=fn.pop()||pe.expando+"_"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("
    ").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),u=pe.css(e,"left"),l=("absolute"===c||"fixed"===c)&&pe.inArray("auto",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){ -for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e("jquery",pe)}),pe}); \ No newline at end of file diff --git a/lib/layui/lay/modules/laydate.js b/lib/layui/lay/modules/laydate.js deleted file mode 100755 index ae0a591..0000000 --- a/lib/layui/lay/modules/laydate.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;!function(){"use strict";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if("interactive"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName("head")[0],o=document.createElement("link");"string"==typeof a&&(i=a);var s=(i||e).replace(/\.|\//g,""),l="layuicss-"+s,d=0;o.rel="stylesheet",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),"function"==typeof a&&!function c(){return++d>80?window.console&&console.error("laydate.css: Invalid"):void(1989===parseInt(t.getStyle(document.getElementById(l),"width"))?a():setTimeout(c,100))}()}}},n={v:"5.0.9",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i="laydate",r="",o=(e?"modules/laydate/":"theme/")+"default/laydate.css?v="+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i="laydate",r=".layui-laydate",o="layui-this",s="laydate-disabled",l="开始日期超出了结束日期
    建议重新选择",d=[100,2e5],c="layui-laydate-static",m="layui-laydate-list",u="laydate-selected",h="layui-laydate-hint",y="laydate-day-prev",f="laydate-day-next",p="layui-laydate-footer",g=".laydate-btns-confirm",v="laydate-time-text",D=".laydate-btns-time",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"focus",show:!1,showBottom:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["日","一","二","三","四","五","六"],time:["时","分","秒"],timeTips:"选择时间",startTime:"开始时间",endTime:"结束时间",dateTips:"返回日期",month:["一","二","三","四","五","六","七","八","九","十","十一","十二"],tools:{confirm:"确定",clear:"清空",now:"现在"}},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s",a="static"===t.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range="-"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+"|.","g"))||[],e.EXP_IF="",e.EXP_SPLIT="",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?"\\d{"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+"("+i+")"}),e.EXP_IF=new RegExp("^"+(t.range?e.EXP_IF+"\\s\\"+t.range+"\\s"+e.EXP_IF:e.EXP_IF)+"$"),e.EXP_SPLIT=new RegExp("^"+e.EXP_SPLIT+"$",""),e.isInput(t.elem[0])||"focus"===t.trigger&&(t.trigger="click"),t.elem.attr("lay-key")||(t.elem.attr("lay-key",e.index),t.eventElem.attr("lay-key",e.index)),t.mark=w.extend({},t.calendar&&"cn"===t.lang?{"0-1-1":"元旦","0-2-14":"情人","0-3-8":"妇女","0-3-12":"植树","0-4-1":"愚人","0-5-1":"劳动","0-5-4":"青年","0-6-1":"儿童","0-9-10":"教师","0-9-18":"国耻","0-10-1":"国庆","0-12-25":"圣诞"}:{},t.mark),w.each(["min","max"],function(e,n){var a=[],i=[];if("number"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r0)return!0;var a=w.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",e}(),function(){var e=w.elem("div",{"class":"laydate-set-ym"}),t=w.elem("span"),n=w.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",e}()],d=w.elem("div",{"class":"layui-laydate-content"}),c=w.elem("table"),m=w.elem("thead"),u=w.elem("tr");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem("th");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return"datetime"===t.type&&e.push(''+n.timeTips+""),w.each(t.btns,function(e,r){var o=n.tools[r]||"btn";t.range&&"now"===r||(a&&"clear"===r&&(o="cn"===t.lang?"重置":"Reset"),i.push(''+o+""))}),e.push('"),e.join("")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem("style"),u=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass("laydate-theme-molv"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,"function"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w("#"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},l=5,d=a.left,c=a.bottom;d+i+l>s("width")&&(d=s("width")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+("fixed"===t.position?0:o(1))+"px",e.elem.style.top=c+("fixed"===t.position?0:o())+"px"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem("div",{"class":h}));t.elem&&(n.innerHTML=e||"",w(t.elem).find("."+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find("."+h).remove()},3e3))},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?"val":"html",i.isInput(s)?s.value:"static"===r.position?"":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=["startTime","endTime"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length必须遵循下述格式:
    "+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"
    已为你重置"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():"":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html(''+n+""),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?"endDate":"dateTime"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.nowl.max,e&&e[i?"addClass":"removeClass"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u="date"!==s.type&&"datetime"!==s.type,h=e?1:0,y=w(r.table[h]).find("td"),f=w(r.elemHeader[h][2]).find("span");if(l.yeard[1]&&(l.year=d[1],r.hint("最高只能支持到公元"+d[1]+"年")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr("class"),e=t&&e=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr("lay-ym",M-8+"-"+T[1]).html(b+p+" - "+(M-1+p))}else if("month"===e)w.each(new Array(12),function(e){var i=w.elem("li",{"lay-ym":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?"月":""),d.appendChild(i),T[0]=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+p);else if("time"===e){var E=function(){w(d).find("ol").each(function(e,a){w(a).find("li").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,["hours","minutes","seconds"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem("li"),i=["

    "+r.time[e]+"

      "];w.each(new Array(t),function(t){i.push(""+w.digit(t,2)+"")}),a.innerHTML=i.join("")+"
    ",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),"year"===e||"month"===e)w(n.elemMain[t]).addClass("laydate-ym-show"),w(d).find("li").on("click",function(){var r=0|w(this).attr("lay-ym");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c="year"===e?n.getAsYM(r,T[1]-1,"sub"):n.getAsYM(T[0],r,"sub");w.extend(i,{year:c[0],month:c[1]})}"year"===a.type||"month"===a.type?(w(d).find("."+o).removeClass(o),w(this).addClass(o),"month"===a.type&&"year"===e&&(n.listYM[t][0]=r,l&&(n[["startDate","endDate"][t]].year=r),n.list("month",t))):(n.checkDate("limit").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,"change"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem("span",{"class":v}),k=function(){w(d).find("ol").each(function(e){var t=this,a=w(t).find("li");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find("."+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass("laydate-time-show"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find("ol").each(function(e){var t=this;w(t).find("li").on("click",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find("."+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find("."+m).remove(),w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),w(e.elem).find("."+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&"date"!==r.type&&"time"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?"addClass":"removeClass"](s),e&&a&&i.hint("string"==typeof e?l.replace(/日期/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join("")+" "+a.range+" "+n.parse(1):r.join("")},T.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?"val":"html";return"static"===n.position||w(a)[i](e||""),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find("td");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr("lay-ymd").split("-"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+" "+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s','
    '+f+"
    ",'
    ','',"
    ","
    "].join(""));return l.ie&&l.ie<8?c.removeClass("layui-hide").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass("layui-hide").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e("#"+i[1].attr("textarea"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find("iframe");n.css({height:a.height}).on("load",function(){var o=n.contents(),r=n.prop("contentWindow"),c=o.find("head"),s=e([""].join("")),u=o.find("body");c.append(s),u.attr("contenteditable","true").css({"min-height":a.height}).html(i.value||""),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e("#LAY_layedit_"+t),a=i.prop("contentWindow");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on("keydown",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if("pre"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg("请暂时用shift+enter"),!1}r.execCommand("formatBlock",!1,"

    ")}}),e(n).parents("form").on("submit",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on("paste",function(e){r.execCommand("formatBlock",!1,"

    "),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find("*[style]").each(function(){var t=this.style.textAlign;this.removeAttribute("style"),e(this).css({"text-align":t||""})}),t.find("table").addClass("layui-table"),t.find("script,link").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute("text"),l.selection){var r=a.text||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop("outerHTML")),a.select()}else{var r=a.toString()||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l="layedit-tool-active",n=p(m(a)),o=function(e){return t.find(".layedit-tool-"+e)};i&&i[i.hasClass(l)?"removeClass":"addClass"](l),t.find(">i").removeClass(l),o("unlink").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;"b"!==t&&"strong"!==t||o("b").addClass(l),"i"!==t&&"em"!==t||o("i").addClass(l),"u"===t&&o("u").addClass(l),"strike"===t&&o("d").addClass(l),"p"===t&&("center"===e?o("center").addClass(l):"right"===e?o("right").addClass(l):o("left").addClass(l)),"a"===t&&(o("link").addClass(l),o("unlink").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr("href"),target:l.attr("target")},function(e){var a=l[0];"A"===a.tagName?a.href=e.url:v.call(t,"a",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand("unlink")},face:function(e){x.call(this,function(i){v.call(t,"img",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use("upload",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find("input")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,"img",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||"上传失败")}})})},code:function(e){k.call(o,function(i){v.call(t,"pre",{text:i.code,"lay-lang":i.lang},e)})},help:function(){i.open({type:2,title:"帮助",area:["600px","380px"],shadeClose:!0,shade:.1,skin:"layui-layer-msg",content:["http://www.layui.com/about/layedit/help.html","no"]})}},s=a.find(".layui-layedit-tool"),u=function(){var i=e(this),a=i.attr("layedit-event"),l=i.attr("lay-command");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand("formatBlock",!1,"

    "),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(">i").on("mousedown",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)||u.call(this)}).on("click",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)&&u.call(this)}),o.on("click",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:"LAY_layedit_link",area:"350px",shade:.05,shadeClose:!0,moveType:1,title:"超链接",skin:"layui-layer-msg",content:['

      ','
    • ','','
      ','',"
      ","
    • ",'
    • ','','
      ','",'","
      ","
    • ",'
    • ','','',"
    • ","
    "].join(""),success:function(t,n){var o="submit(layedit-link-yes)";a.render("radio"),t.find(".layui-btn-primary").on("click",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=["[微笑]","[嘻嘻]","[哈哈]","[可爱]","[可怜]","[挖鼻]","[吃惊]","[害羞]","[挤眼]","[闭嘴]","[鄙视]","[爱你]","[泪]","[偷笑]","[亲亲]","[生病]","[太开心]","[白眼]","[右哼哼]","[左哼哼]","[嘘]","[衰]","[委屈]","[吐]","[哈欠]","[抱抱]","[怒]","[疑问]","[馋嘴]","[拜拜]","[思考]","[汗]","[困]","[睡]","[钱]","[失望]","[酷]","[色]","[哼]","[鼓掌]","[晕]","[悲伤]","[抓狂]","[黑线]","[阴险]","[怒骂]","[互粉]","[心]","[伤心]","[猪头]","[熊猫]","[兔子]","[ok]","[耶]","[good]","[NO]","[赞]","[来]","[弱]","[草泥马]","[神马]","[囧]","[浮云]","[给力]","[围观]","[威武]","[奥特曼]","[礼物]","[钟]","[话筒]","[蜡烛]","[蛋糕]"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+"images/face/"+t+".gif"}),e}();return x.hide=x.hide||function(t){"face"!==e(t.target).attr("layedit-event")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('
  • '+e+'
  • ')}),'
      '+t.join("")+"
    "}(),this,{tips:1,time:0,skin:"layui-box layui-util-face",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(".layui-clear>li").on("click",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off("click",x.hide).on("click",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:"LAY_layedit_code",area:"550px",shade:.05,shadeClose:!0,moveType:1,title:"插入代码",skin:"layui-layer-msg",content:['
      ','
    • ','','
      ','","
      ","
    • ",'
    • ','','
      ','',"
      ","
    • ",'
    • ','','',"
    • ","
    "].join(""),success:function(l,n){var o="submit(layedit-code-yes)";a.render("select"),l.find(".layui-btn-primary").on("click",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},w=new c;t(n,w)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/layer.js b/lib/layui/lay/modules/layer.js deleted file mode 100755 index c6d5378..0000000 --- a/lib/layui/lay/modules/layer.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"信息",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'
    '+(f?r.title[0]:r.title)+"
    ":"";return r.zIndex=s,t([r.shade?'
    ':"",'
    '+(e&&2!=r.type?"":u)+'
    '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
    '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
    '+e+"
    "}():"")+(r.resize?'':"")+"
    "],u,i('
    ')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;af&&(a=f),ou&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("最多输入"+(e.maxlength||500)+"个字数",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
      '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
    • '+(t[0].content||"no content")+"
    • ";i'+(t[i].content||"no content")+"";return a}()+"
    ",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("没有图片")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]'+(u[d].alt||
    '+(u.length>1?'':"")+'
    '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
    ",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
    是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window); \ No newline at end of file diff --git a/lib/layui/lay/modules/laypage.js b/lib/layui/lay/modules/laypage.js deleted file mode 100755 index fd07fda..0000000 --- a/lib/layui/lay/modules/laypage.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
    ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
    "].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/laytpl.js b/lib/layui/lay/modules/laytpl.js deleted file mode 100755 index d482d4e..0000000 --- a/lib/layui/lay/modules/laytpl.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/mobile.js b/lib/layui/lay/modules/mobile.js deleted file mode 100755 index 35cfdf0..0000000 --- a/lib/layui/lay/modules/mobile.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define(function(i){i("layui.mobile",layui.v)});layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});layui.define(function(e){"use strict";var t=(window,document),i="querySelectorAll",n="getElementsByClassName",a=function(e){return t[i](e)},s={type:0,shade:!0,shadeClose:!0,fixed:!0,anim:"scale"},l={extend:function(e){var t=JSON.parse(JSON.stringify(s));for(var i in e)t[i]=e[i];return t},timer:{},end:{}};l.touch=function(e,t){e.addEventListener("click",function(e){t.call(this,e)},!1)};var o=0,r=["layui-m-layer"],d=function(e){var t=this;t.config=l.extend(e),t.view()};d.prototype.view=function(){var e=this,i=e.config,s=t.createElement("div");e.id=s.id=r[0]+o,s.setAttribute("class",r[0]+" "+r[0]+(i.type||0)),s.setAttribute("index",o);var l=function(){var e="object"==typeof i.title;return i.title?'

    '+(e?i.title[0]:i.title)+"

    ":""}(),d=function(){"string"==typeof i.btn&&(i.btn=[i.btn]);var e,t=(i.btn||[]).length;return 0!==t&&i.btn?(e=''+i.btn[0]+"",2===t&&(e=''+i.btn[1]+""+e),'
    '+e+"
    "):""}();if(i.fixed||(i.top=i.hasOwnProperty("top")?i.top:100,i.style=i.style||"",i.style+=" top:"+(t.body.scrollTop+i.top)+"px"),2===i.type&&(i.content='

    '+(i.content||"")+"

    "),i.skin&&(i.anim="up"),"msg"===i.skin&&(i.shade=!1),s.innerHTML=(i.shade?"
    ':"")+'
    "+l+'
    '+i.content+"
    "+d+"
    ",!i.type||2===i.type){var y=t[n](r[0]+i.type),u=y.length;u>=1&&c.close(y[0].getAttribute("index"))}document.body.appendChild(s);var m=e.elem=a("#"+e.id)[0];i.success&&i.success(m),e.index=o++,e.action(i,m)},d.prototype.action=function(e,t){var i=this;e.time&&(l.timer[i.index]=setTimeout(function(){c.close(i.index)},1e3*e.time));var a=function(){var t=this.getAttribute("type");0==t?(e.no&&e.no(),c.close(i.index)):e.yes?e.yes(i.index):c.close(i.index)};if(e.btn)for(var s=t[n]("layui-m-layerbtn")[0].children,o=s.length,r=0;r0&&e-1 in t)}function s(t){return A.call(t,function(t){return null!=t})}function u(t){return t.length>0?T.fn.concat.apply([],t):t}function c(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function l(t){return t in F?F[t]:F[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function f(t,e){return"number"!=typeof e||k[c(t)]?e:e+"px"}function h(t){var e,n;return $[t]||(e=L.createElement(t),L.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),$[t]=n),$[t]}function p(t){return"children"in t?D.call(t.children):T.map(t.childNodes,function(t){if(1==t.nodeType)return t})}function d(t,e){var n,r=t?t.length:0;for(n=0;n]*>/,R=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,z=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Z=/^(?:body|html)$/i,q=/([A-Z])/g,H=["val","css","html","text","data","width","height","offset"],I=["after","prepend","before","append"],V=L.createElement("table"),_=L.createElement("tr"),B={tr:L.createElement("tbody"),tbody:V,thead:V,tfoot:V,td:_,th:_,"*":L.createElement("div")},U=/complete|loaded|interactive/,X=/^[\w-]*$/,J={},W=J.toString,Y={},G=L.createElement("div"),K={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},Q=Array.isArray||function(t){return t instanceof Array};return Y.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.matches||t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var r,i=t.parentNode,o=!i;return o&&(i=G).appendChild(t),r=~Y.qsa(i,e).indexOf(t),o&&G.removeChild(t),r},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return A.call(t,function(e,n){return t.indexOf(e)==n})},Y.fragment=function(t,e,n){var r,i,a;return R.test(t)&&(r=T(L.createElement(RegExp.$1))),r||(t.replace&&(t=t.replace(z,"<$1>")),e===E&&(e=M.test(t)&&RegExp.$1),e in B||(e="*"),a=B[e],a.innerHTML=""+t,r=T.each(D.call(a.childNodes),function(){a.removeChild(this)})),o(n)&&(i=T(r),T.each(n,function(t,e){H.indexOf(t)>-1?i[t](e):i.attr(t,e)})),r},Y.Z=function(t,e){return new d(t,e)},Y.isZ=function(t){return t instanceof Y.Z},Y.init=function(t,n){var r;if(!t)return Y.Z();if("string"==typeof t)if(t=t.trim(),"<"==t[0]&&M.test(t))r=Y.fragment(t,RegExp.$1,n),t=null;else{if(n!==E)return T(n).find(t);r=Y.qsa(L,t)}else{if(e(t))return T(L).ready(t);if(Y.isZ(t))return t;if(Q(t))r=s(t);else if(i(t))r=[t],t=null;else if(M.test(t))r=Y.fragment(t.trim(),RegExp.$1,n),t=null;else{if(n!==E)return T(n).find(t);r=Y.qsa(L,t)}}return Y.Z(r,t)},T=function(t,e){return Y.init(t,e)},T.extend=function(t){var e,n=D.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){m(t,n,e)}),t},Y.qsa=function(t,e){var n,r="#"==e[0],i=!r&&"."==e[0],o=r||i?e.slice(1):e,a=X.test(o);return t.getElementById&&a&&r?(n=t.getElementById(o))?[n]:[]:1!==t.nodeType&&9!==t.nodeType&&11!==t.nodeType?[]:D.call(a&&!r&&t.getElementsByClassName?i?t.getElementsByClassName(o):t.getElementsByTagName(e):t.querySelectorAll(e))},T.contains=L.documentElement.contains?function(t,e){return t!==e&&t.contains(e)}:function(t,e){for(;e&&(e=e.parentNode);)if(e===t)return!0;return!1},T.type=t,T.isFunction=e,T.isWindow=n,T.isArray=Q,T.isPlainObject=o,T.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},T.isNumeric=function(t){var e=Number(t),n=typeof t;return null!=t&&"boolean"!=n&&("string"!=n||t.length)&&!isNaN(e)&&isFinite(e)||!1},T.inArray=function(t,e,n){return O.indexOf.call(e,t,n)},T.camelCase=C,T.trim=function(t){return null==t?"":String.prototype.trim.call(t)},T.uuid=0,T.support={},T.expr={},T.noop=function(){},T.map=function(t,e){var n,r,i,o=[];if(a(t))for(r=0;r=0?t:t+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return O.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return e(t)?this.not(this.not(t)):T(A.call(this,function(e){return Y.matches(e,t)}))},add:function(t,e){return T(N(this.concat(T(t,e))))},is:function(t){return this.length>0&&Y.matches(this[0],t)},not:function(t){var n=[];if(e(t)&&t.call!==E)this.each(function(e){t.call(this,e)||n.push(this)});else{var r="string"==typeof t?this.filter(t):a(t)&&e(t.item)?D.call(t):T(t);this.forEach(function(t){r.indexOf(t)<0&&n.push(t)})}return T(n)},has:function(t){return this.filter(function(){return i(t)?T.contains(this,t):T(this).find(t).size()})},eq:function(t){return t===-1?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!i(t)?t:T(t)},last:function(){var t=this[this.length-1];return t&&!i(t)?t:T(t)},find:function(t){var e,n=this;return e=t?"object"==typeof t?T(t).filter(function(){var t=this;return O.some.call(n,function(e){return T.contains(e,t)})}):1==this.length?T(Y.qsa(this[0],t)):this.map(function(){return Y.qsa(this,t)}):T()},closest:function(t,e){var n=[],i="object"==typeof t&&T(t);return this.each(function(o,a){for(;a&&!(i?i.indexOf(a)>=0:Y.matches(a,t));)a=a!==e&&!r(a)&&a.parentNode;a&&n.indexOf(a)<0&&n.push(a)}),T(n)},parents:function(t){for(var e=[],n=this;n.length>0;)n=T.map(n,function(t){if((t=t.parentNode)&&!r(t)&&e.indexOf(t)<0)return e.push(t),t});return v(e,t)},parent:function(t){return v(N(this.pluck("parentNode")),t)},children:function(t){return v(this.map(function(){return p(this)}),t)},contents:function(){return this.map(function(){return this.contentDocument||D.call(this.childNodes)})},siblings:function(t){return v(this.map(function(t,e){return A.call(p(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return T.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=h(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var n=e(t);if(this[0]&&!n)var r=T(t).get(0),i=r.parentNode||this.length>1;return this.each(function(e){T(this).wrapAll(n?t.call(this,e):i?r.cloneNode(!0):r)})},wrapAll:function(t){if(this[0]){T(this[0]).before(t=T(t));for(var e;(e=t.children()).length;)t=e.first();T(t).append(this)}return this},wrapInner:function(t){var n=e(t);return this.each(function(e){var r=T(this),i=r.contents(),o=n?t.call(this,e):t;i.length?i.wrapAll(o):r.append(o)})},unwrap:function(){return this.parent().each(function(){T(this).replaceWith(T(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(t){return this.each(function(){var e=T(this);(t===E?"none"==e.css("display"):t)?e.show():e.hide()})},prev:function(t){return T(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return T(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0 in arguments?this.each(function(e){var n=this.innerHTML;T(this).empty().append(g(this,t,e,n))}):0 in this?this[0].innerHTML:null},text:function(t){return 0 in arguments?this.each(function(e){var n=g(this,t,e,this.textContent);this.textContent=null==n?"":""+n}):0 in this?this.pluck("textContent").join(""):null},attr:function(t,e){var n;return"string"!=typeof t||1 in arguments?this.each(function(n){if(1===this.nodeType)if(i(t))for(j in t)y(this,j,t[j]);else y(this,t,g(this,e,n,this.getAttribute(t)))}):0 in this&&1==this[0].nodeType&&null!=(n=this[0].getAttribute(t))?n:E},removeAttr:function(t){return this.each(function(){1===this.nodeType&&t.split(" ").forEach(function(t){y(this,t)},this)})},prop:function(t,e){return t=K[t]||t,1 in arguments?this.each(function(n){this[t]=g(this,e,n,this[t])}):this[0]&&this[0][t]},removeProp:function(t){return t=K[t]||t,this.each(function(){delete this[t]})},data:function(t,e){var n="data-"+t.replace(q,"-$1").toLowerCase(),r=1 in arguments?this.attr(n,e):this.attr(n);return null!==r?b(r):E},val:function(t){return 0 in arguments?(null==t&&(t=""),this.each(function(e){this.value=g(this,t,e,this.value)})):this[0]&&(this[0].multiple?T(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value)},offset:function(t){if(t)return this.each(function(e){var n=T(this),r=g(this,t,e,n.offset()),i=n.offsetParent().offset(),o={top:r.top-i.top,left:r.left-i.left};"static"==n.css("position")&&(o.position="relative"),n.css(o)});if(!this.length)return null;if(L.documentElement!==this[0]&&!T.contains(L.documentElement,this[0]))return{top:0,left:0};var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(e,n){if(arguments.length<2){var r=this[0];if("string"==typeof e){if(!r)return;return r.style[C(e)]||getComputedStyle(r,"").getPropertyValue(e)}if(Q(e)){if(!r)return;var i={},o=getComputedStyle(r,"");return T.each(e,function(t,e){i[e]=r.style[C(e)]||o.getPropertyValue(e)}),i}}var a="";if("string"==t(e))n||0===n?a=c(e)+":"+f(e,n):this.each(function(){this.style.removeProperty(c(e))});else for(j in e)e[j]||0===e[j]?a+=c(j)+":"+f(j,e[j])+";":this.each(function(){this.style.removeProperty(c(j))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(T(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return!!t&&O.some.call(this,function(t){return this.test(x(t))},l(t))},addClass:function(t){return t?this.each(function(e){if("className"in this){S=[];var n=x(this),r=g(this,t,e,n);r.split(/\s+/g).forEach(function(t){T(this).hasClass(t)||S.push(t)},this),S.length&&x(this,n+(n?" ":"")+S.join(" "))}}):this},removeClass:function(t){return this.each(function(e){if("className"in this){if(t===E)return x(this,"");S=x(this),g(this,t,e,S).split(/\s+/g).forEach(function(t){S=S.replace(l(t)," ")}),x(this,S.trim())}})},toggleClass:function(t,e){return t?this.each(function(n){var r=T(this),i=g(this,t,n,x(this));i.split(/\s+/g).forEach(function(t){(e===E?!r.hasClass(t):e)?r.addClass(t):r.removeClass(t)})}):this},scrollTop:function(t){if(this.length){var e="scrollTop"in this[0];return t===E?e?this[0].scrollTop:this[0].pageYOffset:this.each(e?function(){this.scrollTop=t}:function(){this.scrollTo(this.scrollX,t)})}},scrollLeft:function(t){if(this.length){var e="scrollLeft"in this[0];return t===E?e?this[0].scrollLeft:this[0].pageXOffset:this.each(e?function(){this.scrollLeft=t}:function(){this.scrollTo(t,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),n=this.offset(),r=Z.test(e[0].nodeName)?{top:0,left:0}:e.offset();return n.top-=parseFloat(T(t).css("margin-top"))||0,n.left-=parseFloat(T(t).css("margin-left"))||0,r.top+=parseFloat(T(e[0]).css("border-top-width"))||0,r.left+=parseFloat(T(e[0]).css("border-left-width"))||0,{top:n.top-r.top,left:n.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||L.body;t&&!Z.test(t.nodeName)&&"static"==T(t).css("position");)t=t.offsetParent;return t})}},T.fn.detach=T.fn.remove,["width","height"].forEach(function(t){var e=t.replace(/./,function(t){return t[0].toUpperCase()});T.fn[t]=function(i){var o,a=this[0];return i===E?n(a)?a["inner"+e]:r(a)?a.documentElement["scroll"+e]:(o=this.offset())&&o[t]:this.each(function(e){a=T(this),a.css(t,g(this,i,e,a[t]()))})}}),I.forEach(function(e,n){var r=n%2;T.fn[e]=function(){var e,i,o=T.map(arguments,function(n){var r=[];return e=t(n),"array"==e?(n.forEach(function(t){return t.nodeType!==E?r.push(t):T.zepto.isZ(t)?r=r.concat(t.get()):void(r=r.concat(Y.fragment(t)))}),r):"object"==e||null==n?n:Y.fragment(n)}),a=this.length>1;return o.length<1?this:this.each(function(t,e){i=r?e:e.parentNode,e=0==n?e.nextSibling:1==n?e.firstChild:2==n?e:null;var s=T.contains(L.documentElement,i);o.forEach(function(t){if(a)t=t.cloneNode(!0);else if(!i)return T(t).remove();i.insertBefore(t,e),s&&w(t,function(t){if(!(null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src)){var e=t.ownerDocument?t.ownerDocument.defaultView:window;e.eval.call(e,t.innerHTML)}})})})},T.fn[r?e+"To":"insert"+(n?"Before":"After")]=function(t){return T(t)[e](this),this}}),Y.Z.prototype=d.prototype=T.fn,Y.uniq=N,Y.deserializeValue=b,T.zepto=Y,T}();!function(t){function e(t){return t._zid||(t._zid=h++)}function n(t,n,o,a){if(n=r(n),n.ns)var s=i(n.ns);return(v[e(t)]||[]).filter(function(t){return t&&(!n.e||t.e==n.e)&&(!n.ns||s.test(t.ns))&&(!o||e(t.fn)===e(o))&&(!a||t.sel==a)})}function r(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function i(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function o(t,e){return t.del&&!y&&t.e in x||!!e}function a(t){return b[t]||y&&x[t]||t}function s(n,i,s,u,l,h,p){var d=e(n),m=v[d]||(v[d]=[]);i.split(/\s/).forEach(function(e){if("ready"==e)return t(document).ready(s);var i=r(e);i.fn=s,i.sel=l,i.e in b&&(s=function(e){var n=e.relatedTarget;if(!n||n!==this&&!t.contains(this,n))return i.fn.apply(this,arguments)}),i.del=h;var d=h||s;i.proxy=function(t){if(t=c(t),!t.isImmediatePropagationStopped()){t.data=u;var e=d.apply(n,t._args==f?[t]:[t].concat(t._args));return e===!1&&(t.preventDefault(),t.stopPropagation()),e}},i.i=m.length,m.push(i),"addEventListener"in n&&n.addEventListener(a(i.e),i.proxy,o(i,p))})}function u(t,r,i,s,u){var c=e(t);(r||"").split(/\s/).forEach(function(e){n(t,e,i,s).forEach(function(e){delete v[c][e.i],"removeEventListener"in t&&t.removeEventListener(a(e.e),e.proxy,o(e,u))})})}function c(e,n){return!n&&e.isDefaultPrevented||(n||(n=e),t.each(T,function(t,r){var i=n[t];e[t]=function(){return this[r]=w,i&&i.apply(n,arguments)},e[r]=E}),e.timeStamp||(e.timeStamp=Date.now()),(n.defaultPrevented!==f?n.defaultPrevented:"returnValue"in n?n.returnValue===!1:n.getPreventDefault&&n.getPreventDefault())&&(e.isDefaultPrevented=w)),e}function l(t){var e,n={originalEvent:t};for(e in t)j.test(e)||t[e]===f||(n[e]=t[e]);return c(n,t)}var f,h=1,p=Array.prototype.slice,d=t.isFunction,m=function(t){return"string"==typeof t},v={},g={},y="onfocusin"in window,x={focus:"focusin",blur:"focusout"},b={mouseenter:"mouseover",mouseleave:"mouseout"};g.click=g.mousedown=g.mouseup=g.mousemove="MouseEvents",t.event={add:s,remove:u},t.proxy=function(n,r){var i=2 in arguments&&p.call(arguments,2);if(d(n)){var o=function(){return n.apply(r,i?i.concat(p.call(arguments)):arguments)};return o._zid=e(n),o}if(m(r))return i?(i.unshift(n[r],n),t.proxy.apply(null,i)):t.proxy(n[r],n);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,r){return this.on(t,e,n,r,1)};var w=function(){return!0},E=function(){return!1},j=/^([A-Z]|returnValue$|layer[XY]$|webkitMovement[XY]$)/,T={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,n,r,i,o){var a,c,h=this;return e&&!m(e)?(t.each(e,function(t,e){h.on(t,n,r,e,o)}),h):(m(n)||d(i)||i===!1||(i=r,r=n,n=f),i!==f&&r!==!1||(i=r,r=f),i===!1&&(i=E),h.each(function(f,h){o&&(a=function(t){return u(h,t.type,i),i.apply(this,arguments)}),n&&(c=function(e){var r,o=t(e.target).closest(n,h).get(0);if(o&&o!==h)return r=t.extend(l(e),{currentTarget:o,liveFired:h}),(a||i).apply(o,[r].concat(p.call(arguments,1)))}),s(h,e,i,r,n,c||a)}))},t.fn.off=function(e,n,r){var i=this;return e&&!m(e)?(t.each(e,function(t,e){i.off(t,n,e)}),i):(m(n)||d(r)||r===!1||(r=n,n=f),r===!1&&(r=E),i.each(function(){u(this,e,r,n)}))},t.fn.trigger=function(e,n){return e=m(e)||t.isPlainObject(e)?t.Event(e):c(e),e._args=n,this.each(function(){e.type in x&&"function"==typeof this[e.type]?this[e.type]():"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,r){var i,o;return this.each(function(a,s){i=l(m(e)?t.Event(e):e),i._args=r,i.target=s,t.each(n(s,e.type||e),function(t,e){if(o=e.proxy(i),i.isImmediatePropagationStopped())return!1})}),o},"focusin focusout focus blur load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return 0 in arguments?this.bind(e,t):this.trigger(e)}}),t.Event=function(t,e){m(t)||(e=t,t=e.type);var n=document.createEvent(g[t]||"Events"),r=!0;if(e)for(var i in e)"bubbles"==i?r=!!e[i]:n[i]=e[i];return n.initEvent(t,r,!0),c(n)}}(e),function(t){function e(e,n,r){var i=t.Event(n);return t(e).trigger(i,r),!i.isDefaultPrevented()}function n(t,n,r,i){if(t.global)return e(n||x,r,i)}function r(e){e.global&&0===t.active++&&n(e,null,"ajaxStart")}function i(e){e.global&&!--t.active&&n(e,null,"ajaxStop")}function o(t,e){var r=e.context;return e.beforeSend.call(r,t,e)!==!1&&n(e,r,"ajaxBeforeSend",[t,e])!==!1&&void n(e,r,"ajaxSend",[t,e])}function a(t,e,r,i){var o=r.context,a="success";r.success.call(o,t,a,e),i&&i.resolveWith(o,[t,a,e]),n(r,o,"ajaxSuccess",[e,r,t]),u(a,e,r)}function s(t,e,r,i,o){var a=i.context;i.error.call(a,r,e,t),o&&o.rejectWith(a,[r,e,t]),n(i,a,"ajaxError",[r,i,t||e]),u(e,r,i)}function u(t,e,r){var o=r.context;r.complete.call(o,e,t),n(r,o,"ajaxComplete",[e,r]),i(r)}function c(t,e,n){if(n.dataFilter==l)return t;var r=n.context;return n.dataFilter.call(r,t,e)}function l(){}function f(t){return t&&(t=t.split(";",2)[0]),t&&(t==T?"html":t==j?"json":w.test(t)?"script":E.test(t)&&"xml")||"text"}function h(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function p(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()&&"jsonp"!=e.dataType||(e.url=h(e.url,e.data),e.data=void 0)}function d(e,n,r,i){return t.isFunction(n)&&(i=r,r=n,n=void 0),t.isFunction(r)||(i=r,r=void 0),{url:e,data:n,success:r,dataType:i}}function m(e,n,r,i){var o,a=t.isArray(n),s=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),i&&(n=r?i:i+"["+(s||"object"==o||"array"==o?n:"")+"]"),!i&&a?e.add(u.name,u.value):"array"==o||!r&&"object"==o?m(e,u,r,n):e.add(n,u)})}var v,g,y=+new Date,x=window.document,b=/)<[^<]*)*<\/script>/gi,w=/^(?:text|application)\/javascript/i,E=/^(?:text|application)\/xml/i,j="application/json",T="text/html",S=/^\s*$/,C=x.createElement("a");C.href=window.location.href,t.active=0,t.ajaxJSONP=function(e,n){if(!("type"in e))return t.ajax(e);var r,i,u=e.jsonpCallback,c=(t.isFunction(u)?u():u)||"Zepto"+y++,l=x.createElement("script"),f=window[c],h=function(e){t(l).triggerHandler("error",e||"abort")},p={abort:h};return n&&n.promise(p),t(l).on("load error",function(o,u){clearTimeout(i),t(l).off().remove(),"error"!=o.type&&r?a(r[0],p,e,n):s(null,u||"error",p,e,n),window[c]=f,r&&t.isFunction(f)&&f(r[0]),f=r=void 0}),o(p,e)===!1?(h("abort"),p):(window[c]=function(){r=arguments},l.src=e.url.replace(/\?(.+)=\?/,"?$1="+c),x.head.appendChild(l),e.timeout>0&&(i=setTimeout(function(){h("timeout")},e.timeout)),p)},t.ajaxSettings={type:"GET",beforeSend:l,success:l,error:l,complete:l,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:j,xml:"application/xml, text/xml",html:T,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0,dataFilter:l},t.ajax=function(e){var n,i,u=t.extend({},e||{}),d=t.Deferred&&t.Deferred();for(v in t.ajaxSettings)void 0===u[v]&&(u[v]=t.ajaxSettings[v]);r(u),u.crossDomain||(n=x.createElement("a"),n.href=u.url,n.href=n.href,u.crossDomain=C.protocol+"//"+C.host!=n.protocol+"//"+n.host),u.url||(u.url=window.location.toString()),(i=u.url.indexOf("#"))>-1&&(u.url=u.url.slice(0,i)),p(u);var m=u.dataType,y=/\?.+=\?/.test(u.url);if(y&&(m="jsonp"),u.cache!==!1&&(e&&e.cache===!0||"script"!=m&&"jsonp"!=m)||(u.url=h(u.url,"_="+Date.now())),"jsonp"==m)return y||(u.url=h(u.url,u.jsonp?u.jsonp+"=?":u.jsonp===!1?"":"callback=?")),t.ajaxJSONP(u,d);var b,w=u.accepts[m],E={},j=function(t,e){E[t.toLowerCase()]=[t,e]},T=/^([\w-]+:)\/\//.test(u.url)?RegExp.$1:window.location.protocol,N=u.xhr(),O=N.setRequestHeader;if(d&&d.promise(N),u.crossDomain||j("X-Requested-With","XMLHttpRequest"),j("Accept",w||"*/*"),(w=u.mimeType||w)&&(w.indexOf(",")>-1&&(w=w.split(",",2)[0]),N.overrideMimeType&&N.overrideMimeType(w)),(u.contentType||u.contentType!==!1&&u.data&&"GET"!=u.type.toUpperCase())&&j("Content-Type",u.contentType||"application/x-www-form-urlencoded"),u.headers)for(g in u.headers)j(g,u.headers[g]);if(N.setRequestHeader=j,N.onreadystatechange=function(){if(4==N.readyState){N.onreadystatechange=l,clearTimeout(b);var e,n=!1;if(N.status>=200&&N.status<300||304==N.status||0==N.status&&"file:"==T){if(m=m||f(u.mimeType||N.getResponseHeader("content-type")),"arraybuffer"==N.responseType||"blob"==N.responseType)e=N.response;else{e=N.responseText;try{e=c(e,m,u),"script"==m?(0,eval)(e):"xml"==m?e=N.responseXML:"json"==m&&(e=S.test(e)?null:t.parseJSON(e))}catch(r){n=r}if(n)return s(n,"parsererror",N,u,d)}a(e,N,u,d)}else s(N.statusText||null,N.status?"error":"abort",N,u,d)}},o(N,u)===!1)return N.abort(),s(null,"abort",N,u,d),N;var P=!("async"in u)||u.async;if(N.open(u.type,u.url,P,u.username,u.password),u.xhrFields)for(g in u.xhrFields)N[g]=u.xhrFields[g];for(g in E)O.apply(N,E[g]);return u.timeout>0&&(b=setTimeout(function(){N.onreadystatechange=l,N.abort(),s(null,"timeout",N,u,d)},u.timeout)),N.send(u.data?u.data:null),N},t.get=function(){return t.ajax(d.apply(null,arguments))},t.post=function(){var e=d.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=d.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,r){if(!this.length)return this;var i,o=this,a=e.split(/\s/),s=d(e,n,r),u=s.success;return a.length>1&&(s.url=a[0],i=a[1]),s.success=function(e){o.html(i?t("
    ").html(e.replace(b,"")).find(i):e),u&&u.apply(o,arguments)},t.ajax(s),this};var N=encodeURIComponent;t.param=function(e,n){var r=[];return r.add=function(e,n){t.isFunction(n)&&(n=n()),null==n&&(n=""),this.push(N(e)+"="+N(n))},m(r,e,n),r.join("&").replace(/%20/g,"+")}}(e),function(t){t.fn.serializeArray=function(){var e,n,r=[],i=function(t){return t.forEach?t.forEach(i):void r.push({name:e,value:t})};return this[0]&&t.each(this[0].elements,function(r,o){n=o.type,e=o.name,e&&"fieldset"!=o.nodeName.toLowerCase()&&!o.disabled&&"submit"!=n&&"reset"!=n&&"button"!=n&&"file"!=n&&("radio"!=n&&"checkbox"!=n||o.checked)&&i(t(o).val())}),r},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(0 in arguments)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(e),function(){try{getComputedStyle(void 0)}catch(t){var e=getComputedStyle;window.getComputedStyle=function(t,n){try{return e(t,n)}catch(r){return null}}}}(),t("zepto",e)});layui.define(["layer-mobile","zepto"],function(e){"use strict";var t=layui.zepto,a=layui["layer-mobile"],i=(layui.device(),"layui-upload-enter"),n="layui-upload-iframe",r={icon:2,shift:6},o={file:"文件",video:"视频",audio:"音频"};a.msg=function(e){return a.open({content:e||"",skin:"msg",time:2})};var s=function(e){this.options=e};s.prototype.init=function(){var e=this,a=e.options,r=t("body"),s=t(a.elem||".layui-upload-file"),u=t('');return t("#"+n)[0]||r.append(u),s.each(function(r,s){s=t(s);var u='
    ',l=s.attr("lay-type")||a.type;a.unwrap||(u='
    '+u+''+(s.attr("lay-title")||a.title||"上传"+(o[l]||"图片"))+"
    "),u=t(u),a.unwrap||u.on("dragover",function(e){e.preventDefault(),t(this).addClass(i)}).on("dragleave",function(){t(this).removeClass(i)}).on("drop",function(){t(this).removeClass(i)}),s.parent("form").attr("target")===n&&(a.unwrap?s.unwrap():(s.parent().next().remove(),s.unwrap().unwrap())),s.wrap(u),s.off("change").on("change",function(){e.action(this,l)})})},s.prototype.action=function(e,i){var o=this,s=o.options,u=e.value,l=t(e),p=l.attr("lay-ext")||s.ext||"";if(u){switch(i){case"file":if(p&&!RegExp("\\w\\.("+p+")$","i").test(escape(u)))return a.msg("不支持该文件格式",r),e.value="";break;case"video":if(!RegExp("\\w\\.("+(p||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(u)))return a.msg("不支持该视频格式",r),e.value="";break;case"audio":if(!RegExp("\\w\\.("+(p||"mp3|wav|mid")+")$","i").test(escape(u)))return a.msg("不支持该音频格式",r),e.value="";break;default:if(!RegExp("\\w\\.("+(p||"jpg|png|gif|bmp|jpeg")+")$","i").test(escape(u)))return a.msg("不支持该图片格式",r),e.value=""}s.before&&s.before(e),l.parent().submit();var c=t("#"+n),f=setInterval(function(){var t;try{t=c.contents().find("body").text()}catch(i){a.msg("上传接口存在跨域",r),clearInterval(f)}if(t){clearInterval(f),c.contents().find("body").html("");try{t=JSON.parse(t)}catch(i){return t={},a.msg("请对上传接口返回JSON字符",r)}"function"==typeof s.success&&s.success(t,e)}},30);e.value=""}},e("upload-mobile",function(e){var t=new s(e=e||{});t.init()})});layui.define(function(i){i("layim-mobile",layui.v)});layui["layui.mobile"]||layui.config({base:layui.cache.dir+"lay/modules/mobile/"}).extend({"layer-mobile":"layer-mobile",zepto:"zepto","upload-mobile":"upload-mobile","layim-mobile":"layim-mobile"}),layui.define(["layer-mobile","zepto","layim-mobile"],function(l){l("mobile",{layer:layui["layer-mobile"],layim:layui["layim-mobile"]})}); \ No newline at end of file diff --git a/lib/layui/lay/modules/rate.js b/lib/layui/lay/modules/rate.js deleted file mode 100755 index 762fb3a..0000000 --- a/lib/layui/lay/modules/rate.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var a=layui.jquery,i={config:{},index:layui.rate?layui.rate.index+1e4:0,set:function(e){var i=this;return i.config=a.extend({},i.config,e),i},on:function(e,a){return layui.onevent.call(this,n,e,a)}},l=function(){var e=this,a=e.config;return{setvalue:function(a){e.setvalue.call(e,a)},config:a}},n="rate",t="layui-rate",o="layui-icon-rate",s="layui-icon-rate-solid",u="layui-icon-rate-half",r="layui-icon-rate-solid layui-icon-rate-half",c="layui-icon-rate-solid layui-icon-rate",f="layui-icon-rate layui-icon-rate-half",v=function(e){var l=this;l.index=++i.index,l.config=a.extend({},l.config,i.config,e),l.render()};v.prototype.config={length:5,text:!1,readonly:!1,half:!1,value:0,theme:""},v.prototype.render=function(){var e=this,i=e.config,l=i.theme?'style="color: '+i.theme+';"':"";i.elem=a(i.elem),parseInt(i.value)!==i.value&&(i.half||(i.value=Math.ceil(i.value)-i.value<.5?Math.ceil(i.value):Math.floor(i.value)));for(var n='
      ",u=1;u<=i.length;u++){var r='
    • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
    • ":n+=r}n+="
    "+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/slider.js b/lib/layui/lay/modules/slider.js deleted file mode 100755 index 446378d..0000000 --- a/lib/layui/lay/modules/slider.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var i=layui.jquery,t={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,n,e,i)}},a=function(){var e=this,i=e.config;return{setValue:function(i,t){return e.slide("set",i,t||0)},config:i}},n="slider",l="layui-disabled",s="layui-slider",r="layui-slider-bar",o="layui-slider-wrap",u="layui-slider-wrap-btn",d="layui-slider-tips",v="layui-slider-input",c="layui-slider-input-txt",m="layui-slider-input-btn",p="layui-slider-hover",f=function(e){var a=this;a.index=++t.index,a.config=i.extend({},a.config,t.config,e),a.render()};f.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#009688"},f.prototype.render=function(){var e=this,t=e.config;if(t.step<1&&(t.step=1),t.maxt.min?a:t.min,t.value[1]=n>t.min?n:t.min,t.value[0]=t.value[0]>t.max?t.max:t.value[0],t.value[1]=t.value[1]>t.max?t.max:t.value[1];var r=Math.floor((t.value[0]-t.min)/(t.max-t.min)*100),v=Math.floor((t.value[1]-t.min)/(t.max-t.min)*100),m=v-r+"%";r+="%",v+="%"}else{"object"==typeof t.value&&(t.value=Math.min.apply(null,t.value)),t.valuet.max&&(t.value=t.max);var m=Math.floor((t.value-t.min)/(t.max-t.min)*100)+"%"}var p=t.disabled?"#c2c2c2":t.theme,f='
    '+(t.tips?'
    ':"")+'
    '+(t.range?'
    ':"")+"
    ",h=i(t.elem),y=h.next("."+s);if(y[0]&&y.remove(),e.elemTemp=i(f),t.range?(e.elemTemp.find("."+o).eq(0).data("value",t.value[0]),e.elemTemp.find("."+o).eq(1).data("value",t.value[1])):e.elemTemp.find("."+o).data("value",t.value),h.html(e.elemTemp),"vertical"===t.type&&e.elemTemp.height(t.height+"px"),t.showstep){for(var g=(t.max-t.min)/t.step,b="",x=1;x
    ')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
    ');h.css("position","relative"),h.append(w),h.find("."+c).children("input").val(t.value),"vertical"===t.type?w.css({left:0,top:-48}):e.elemTemp.css("margin-right",w.outerWidth()+15)}t.disabled?(e.elemTemp.addClass(l),e.elemTemp.find("."+u).addClass(l)):e.slide(),e.elemTemp.find("."+u).on("mouseover",function(){var a="vertical"===t.type?t.height:e.elemTemp[0].offsetWidth,n=e.elemTemp.find("."+o),l="vertical"===t.type?a-i(this).parent()[0].offsetTop-n.height():i(this).parent()[0].offsetLeft,s=l/a*100,r=i(this).parent().data("value"),u=t.setTips?t.setTips(r):r;e.elemTemp.find("."+d).html(u),"vertical"===t.type?e.elemTemp.find("."+d).css({bottom:s+"%","margin-bottom":"20px",display:"inline-block"}):e.elemTemp.find("."+d).css({left:s+"%",display:"inline-block"})}).on("mouseout",function(){e.elemTemp.find("."+d).css("display","none")})},f.prototype.slide=function(e,t,a){var n=this,l=n.config,s=n.elemTemp,f=function(){return"vertical"===l.type?l.height:s[0].offsetWidth},h=s.find("."+o),y=s.next("."+v),g=y.children("."+c).children("input").val(),b=100/((l.max-l.min)/Math.ceil(l.step)),x=function(e,i){e=Math.ceil(e)*b>100?Math.ceil(e)*b:Math.round(e)*b,e=e>100?100:e,h.eq(i).css("vertical"===l.type?"bottom":"left",e+"%");var t=T(h[0].offsetLeft),a=l.range?T(h[1].offsetLeft):0;"vertical"===l.type?(s.find("."+d).css({bottom:e+"%","margin-bottom":"20px"}),t=T(f()-h[0].offsetTop-h.height()),a=l.range?T(f()-h[1].offsetTop-h.height()):0):s.find("."+d).css("left",e+"%"),t=t>100?100:t,a=a>100?100:a;var n=Math.min(t,a),o=Math.abs(t-a);"vertical"===l.type?s.find("."+r).css({height:o+"%",bottom:n+"%"}):s.find("."+r).css({width:o+"%",left:n+"%"});var u=l.min+Math.round((l.max-l.min)*e/100);if(g=u,y.children("."+c).children("input").val(g),h.eq(i).data("value",u),u=l.setTips?l.setTips(u):u,s.find("."+d).html(u),l.range){var v=[h.eq(0).data("value"),h.eq(1).data("value")];v[0]>v[1]&&v.reverse()}l.change&&l.change(l.range?v:u)},T=function(e){var i=e/f()*100/b,t=Math.round(i)*b;return e==f()&&(t=Math.ceil(i)*b),t},w=i(['
    f()&&(r=f());var o=r/f()*100/b;x(o,e),t.addClass(p),s.find("."+d).show(),i.preventDefault()},o=function(){t.removeClass(p),s.find("."+d).hide()};M(r,o)})}),s.on("click",function(e){var t=i("."+u);if(!t.is(event.target)&&0===t.has(event.target).length&&t.length){var a,n="vertical"===l.type?f()-e.clientY+i(this).offset().top:e.clientX-i(this).offset().left;n<0&&(n=0),n>f()&&(n=f());var s=n/f()*100/b;a=l.range?"vertical"===l.type?Math.abs(n-parseInt(i(h[0]).css("bottom")))>Math.abs(n-parseInt(i(h[1]).css("bottom")))?1:0:Math.abs(n-h[0].offsetLeft)>Math.abs(n-h[1].offsetLeft)?1:0:0,x(s,a),e.preventDefault()}}),y.hover(function(){var e=i(this);e.children("."+m).fadeIn("fast")},function(){var e=i(this);e.children("."+m).fadeOut("fast")}),y.children("."+m).children("i").each(function(e){i(this).on("click",function(){g=1==e?g-l.stepl.max?l.max:Number(g)+l.step;var i=(g-l.min)/(l.max-l.min)*100/b;x(i,0)})});var q=function(){var e=this.value;e=isNaN(e)?0:e,e=el.max?l.max:e,this.value=e;var i=(e-l.min)/(l.max-l.min)*100/b;x(i,0)};y.children("."+c).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),q.call(this))}).on("change",q)},f.prototype.events=function(){var e=this;e.config},t.render=function(e){var i=new f(e);return a.call(i)},e(n,t)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/table.js b/lib/layui/lay/modules/table.js deleted file mode 100755 index e9217db..0000000 --- a/lib/layui/lay/modules/table.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=(layui.util,layui.hint()),r=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,u,e,t)}},c=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(c.that[i]=e,c.config[i]=t),{reload:function(t){e.reload.call(e,t)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)},config:t}},s=function(e){var t=c.config[e];return t||o.error("The ID option was not found in the table instance"),t||null},u="table",h=".layui-table",y="layui-hide",f="layui-none",p="layui-table-view",v=".layui-table-tool",m=".layui-table-box",g=".layui-table-init",b=".layui-table-header",x=".layui-table-body",k=".layui-table-main",C=".layui-table-fixed",w=".layui-table-fixed-l",T=".layui-table-fixed-r",A=".layui-table-total",L=".layui-table-page",S=".layui-table-sort",N="layui-table-edit",W="layui-table-hover",_=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
    ','
    ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
    ","
    "].join("")},E=['',"","
    "].join(""),z=['
    ',"{{# if(d.data.toolbar){ }}",'
    ','
    ','
    ',"
    ","{{# } }}",'
    ',"{{# if(d.data.loading){ }}",'
    ','',"
    ","{{# } }}","{{# var left, right; }}",'
    ',_(),"
    ",'
    ',E,"
    ","{{# if(left){ }}",'
    ','
    ',_({fixed:!0}),"
    ",'
    ',E,"
    ","
    ","{{# }; }}","{{# if(right){ }}",'
    ','
    ',_({fixed:"right"}),'
    ',"
    ",'
    ',E,"
    ","
    ","{{# }; }}","
    ","{{# if(d.data.totalRow){ }}",'
    ','','',"
    ","
    ","{{# } }}","{{# if(d.data.page){ }}",'
    ','
    ',"
    ","{{# } }}","","
    "].join(""),H=t(window),R=t(document),F=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};F.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"无数据"}},F.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=H.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+p),o=e.elem=t(i(z).render({VIEW_CLASS:p,data:a,index:e.index}));if(a.index=e.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(v),e.layBox=o.find(m),e.layHeader=o.find(b),e.layMain=o.find(k),e.layBody=o.find(x),e.layFixed=o.find(C),e.layFixLeft=o.find(w),e.layFixRight=o.find(T),e.layTotal=o.find(A),e.layPage=o.find(L),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(b).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},F.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},F.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},F.prototype.renderToolbar=function(){var e=this,a=e.config,l=['
    ','
    ','
    '].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"筛选列",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"导出",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"打印",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},d=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i=r[t];i&&d.push('
    ')}),e.layTool.find(".layui-table-tool-self").html(d.join(""))},F.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](y),r.colspan=n,r.hide=n<1;var d=l.data("parentkey");d&&i.setParentCol(e,d)}},F.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},F.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,d){var c=0,s=d.minWidth||t.cellMinWidth;return d?void(d.colGroup||d.hide||(e?l&&ln&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var d=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&d>=-i&&d<=i){var c=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?c(t.prev()):t},s=c(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+d+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},F.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},F.prototype.reload=function(e){var i=this;i.config.data&&i.config.data.constructor===Array&&delete i.config.data,i.config=t.extend({},i.config,e),i.render()},F.prototype.page=1,F.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var d=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(d=JSON.stringify(d)),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:d,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.layMain.html('
    '+(t[n.msgName]||"返回的数据不符合规范,正确的成功状态码 ("+n.statusName+") 应为:"+n.statusCode)+"
    ")):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.layMain.html('
    数据接口请求异常:'+t+"
    "),i.renderForm(),i.setColsWidth()}})}else if(a.data&&a.data.constructor===Array){var c={},s=e*a.limit-a.limit;c[n.dataName]=a.data.concat().splice(s,a.limit),c[n.countName]=a.data.length,i.renderData(c,e,a.data.length),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(c,e,c[n.countName])}},F.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},F.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,u=e[s.response.dataName]||[],h=[],p=[],v=[],m=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(u,function(a,l){var o=[],u=[],f=[],m=a+s.limit*(n-1)+1;0!==l.length&&(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var c=r.field||n,h=s.index+"-"+r.key,p=l[c];if(void 0!==p&&null!==p||(p=""),!r.colGroup){var v=['','
    '+function(){var n=t.extend(!0,{LAY_INDEX:m},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return m}return r.toolbar?i(t(r.toolbar).html()||"").render(n):r.templet?function(){return"function"==typeof r.templet?r.templet(n):i(t(r.templet).html()||String(p)).render(n)}():p}(),"
    "].join("");o.push(v),r.fixed&&"right"!==r.fixed&&u.push(v),"right"===r.fixed&&f.push(v)}}),h.push(''+o.join("")+""),p.push(''+u.join("")+""),v.push(''+f.join("")+""))}),c.layBody.scrollTop(0),c.layMain.find("."+f).remove(),c.layMain.find("tbody").html(h.join("")),c.layFixLeft.find("tbody").html(p.join("")),c.layFixRight.find("tbody").html(v.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return c.key=s.id||s.index,d.cache[c.key]=u,c.layPage[0==o||0===u.length&&1==n?"addClass":"removeClass"](y),r?m():0===u.length?(c.renderForm(),c.layFixed.remove(),c.layMain.find("tbody").html(""),c.layMain.find("."+f).remove(),c.layMain.append('
    '+s.text.none+"
    ")):(m(),c.renderTotal(u),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.loading(),c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page))))},F.prototype.renderTotal=function(e){var t=this,i=t.config,a={};if(i.totalRow){layui.each(e,function(e,i){0!==i.length&&t.eachCols(function(e,t){var l=t.field||e,n=i[l];t.totalRow&&(a[l]=(a[l]||0)+(parseFloat(n)||0))})});var l=[];t.eachCols(function(e,t){var n=t.field||e,o=['','
    '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
    "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},F.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},F.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},F.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},F.prototype.sort=function(e,i,a,l){var n,r,c=this,s={},h=c.config,y=h.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1});try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(S);c.layHeader.find("th").find(S).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){return o.error("Table modules: Did not match to field")}c.sortKey={field:n,sort:i},h.autoSort&&("asc"===i?r=layui.sort(f,n):"desc"===i?r=layui.sort(f,n,!0):(r=layui.sort(f,d.config.indexName),delete c.sortKey)),s[h.response.dataName]=r||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,u,"sort("+y+")",{field:n,type:i})},F.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(g).remove()):(i.layInit=t(['
    ','',"
    "].join("")),i.layBox.append(i.layInit)))},F.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},F.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},F.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},F.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=H.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e=e-(t.layPage.outerHeight()||41)-2),t.layMain.css("height",e))},F.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},F.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('
    ');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),d=r-l;e.layFixed.find(x).css("height",i.height()>=d?d:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](y),e.layFixRight.css("right",a-1)},F.prototype.events=function(){var e,a=this,o=a.config,c=t("body"),s={},h=a.layHeader.find("th"),f=".layui-table-cell",p=o.elem.attr("lay-filter");a.layTool.on("click","*[lay-event]",function(e){var i=t(this),c=i.attr("lay-event"),s=function(e){var l=t(e.list),n=t('
      ');n.html(l),o.height&&n.css("max-height",o.height-(a.layTool.outerHeight()||50)),i.find(".layui-table-tool-panel")[0]||i.append(n),a.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),R.trigger("table.tool.panel.remove"),l.close(a.tipsIndex),c){case"LAYTABLE_COLS":s({list:function(){var e=[];return a.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('
    • ')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var i=t(e.elem),l=this.checked,n=i.data("key"),r=i.data("parentkey");layui.each(o.cols,function(e,t){layui.each(t,function(t,i){if(e+"-"+t===n){var d=i.hide;i.hide=!l,a.elem.find('*[data-key="'+o.index+"-"+n+'"]')[l?"removeClass":"addClass"](y),d!=i.hide&&a.setParentCol(!l,r),a.resize()}})})})}});break;case"LAYTABLE_EXPORT":r.ie?l.tips("导出功能不支持 IE,请用 Chrome 等高级浏览器导出",this,{tips:3}):s({list:function(){return['
    • 导出到 Csv 文件
    • ','
    • 导出到 Excel 文件
    • '].join("")}(),done:function(e,i){i.on("click",function(){var e=t(this).data("type");d.exportFile(o.id,null,e)})}});break;case"LAYTABLE_PRINT":var h=window.open("打印窗口","_blank"),f=[""].join(""),v=t(a.layHeader.html());v.append(a.layMain.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),h.document.write(f+v.prop("outerHTML")),h.document.close(),h.print(),h.close()}layui.event.call(this,u,"toolbar("+p+")",t.extend({event:c,config:o},{}))}),h.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||s.resizeStart||(s.allowResize=i.width()-l<=10,c.css("cursor",s.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);s.resizeStart||c.css("cursor","")}).on("mousedown",function(e){var i=t(this);if(s.allowResize){var l=i.data("key");e.preventDefault(),s.resizeStart=!0,s.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();s.rule=e,s.ruleWidth=parseFloat(t),s.minWidth=i.data("minwidth")||o.cellMinWidth})}}),R.on("mousemove",function(t){if(s.resizeStart){if(t.preventDefault(),s.rule){var i=s.ruleWidth+t.clientX-s.offset[0];i');return n[0].value=i.data("content")||l.text(),i.find("."+N)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(f);if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('
      ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(f);a.tipsIndex=l.tips(['
      ',d.html(),"
      ",''].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:r.ios||r.android?300:a.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),a.layBody.on("click","*[lay-event]",function(){var e=t(this),i=e.parents("tr").eq(0).data("index");layui.event.call(this,u,"tool("+p+")",v.call(this,{event:e.attr("lay-event")})),a.setThisRowChecked(i)}),a.layMain.on("scroll",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layTotal.scrollLeft(i),a.layFixed.find(x).scrollTop(n),l.close(a.tipsIndex)}),R.on("click",function(){R.trigger("table.remove.tool.panel")}),R.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()}),H.on("resize",function(){a.resize()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':h+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},c.that={},c.config={},d.eachCols=function(e,i,a){var l=c.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.exportFile=function(e,t,i){t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var a=c.config[e]||{},l={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],n=document.createElement("a");return r.ie?o.error("IE_NOT_SUPPORT_EXPORTS"):(n.href="data:"+l+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],a=[];return layui.each(t,function(t,l){var n=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(l),function(e,t){n.push(t)})):d.eachCols(e,function(e,a){a.field&&"normal"==a.type&&!a.hide&&(0==t&&i.push(a.title||""),n.push(l[a.field]))}),a.push(n.join(","))}),i.join(",")+"\r\n"+a.join("\r\n")}()),n.download=(a.title||"table_"+(a.index||""))+"."+i,document.body.appendChild(n),n.click(),void document.body.removeChild(n))},d.resize=function(e){if(e){var t=s(e);if(!t)return;c.that[e].resize()}else layui.each(c.that,function(){this.resize()})},d.reload=function(e,i){i=i||{};var a=s(e);if(a)return i.data&&i.data.constructor===Array&&delete a.data,d.render(t.extend(!0,{},a,i))},d.render=function(e){var t=new F(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(u,d)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/tree.js b/lib/layui/lay/modules/tree.js deleted file mode 100755 index e8c053d..0000000 --- a/lib/layui/lay/modules/tree.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('
        '),s=o(["
      • ",function(){return l?''+(n.spread?t.arrow[1]:t.arrow[0])+"":""}(),function(){return r.check?''+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"":""}(),function(){return'"+(''+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"")+(""+(n.name||"未命名")+"")}(),"
      • "].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('
        '));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})}); \ No newline at end of file diff --git a/lib/layui/lay/modules/upload.js b/lib/layui/lay/modules/upload.js deleted file mode 100755 index 404d534..0000000 --- a/lib/layui/lay/modules/upload.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("layer",function(e){"use strict";var i=layui.$,t=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,r,e,i)}},l=function(){var e=this;return{upload:function(i){e.upload.call(e,i)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var t=this;t.config=i.extend({},t.config,o.config,e),t.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var t=this,e=t.config;e.elem=i(e.elem),e.bindAction=i(e.bindAction),t.file(),t.events()},p.prototype.file=function(){var e=this,t=e.config,n=e.elemFile=i(['"].join("")),o=t.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&t.elem.wrap('
        '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,t=e.config,n=i(''),a=i(['
        ',"
        "].join(""));i("#"+f)[0]||i("body").append(n),t.elem.next().hasClass(c)||(e.elemFile.wrap(a),t.elem.next("."+c).append(function(){var e=[];return layui.each(t.data,function(i,t){t="function"==typeof t?t():t,e.push('')}),e.join("")}()))},p.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var i=this;window.FileReader&&layui.each(i.chooseFiles,function(i,t){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){e&&e(i,t,this.result)}})},p.prototype.upload=function(e,t){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var t=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&t+n===o.fileLength&&"function"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:t,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,i){i="function"==typeof i?i():i,r.append(e,i)}),i.ajax({url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(i){t++,d(e,i),u()},error:function(){n++,o.msg("请求上传接口出现异常"),m(e),u()}})})},c=function(){var e=i("#"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var i,t=e.contents().find("body");try{i=t.text()}catch(n){o.msg("获取上传后的响应信息出现异常"),clearInterval(p.timer),m()}i&&(clearInterval(p.timer),t.html(""),d(0,i))},30)},d=function(e,i){if(o.elemFile.next("."+s).remove(),r.value="","object"!=typeof i)try{i=JSON.parse(i)}catch(t){return i={},o.msg("请对上传接口返回有效JSON")}"function"==typeof l.done&&l.done(i,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var i=[];return layui.each(e||o.chooseFiles,function(e,t){i.push(t.name)}),i}(),g={preview:function(e){o.preview(e)},upload:function(e,i){var t={};t[e]=i,o.upload(t)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,i){o.files[e]=i}),o.files},resetFile:function(e,i,t){var n=new File([i],t);o.files=o.files||{},o.files[e]=n}},y=function(){if("choose"!==t&&!l.auto||(l.choose&&l.choose(g),"choose"!==t))return l.before&&l.before(g),a.ie?a.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return o.msg("选择的文件中包含不支持的格式"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return o.msg("选择的视频中包含不支持的格式"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return o.msg("选择的音频中包含不支持的格式"),r.value="";break;default:if(layui.each(v,function(e,i){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(i))||(n=!0)}),n)return o.msg("选择的图片中包含不支持的格式"),r.value=""}if(o.fileLength=function(){var i=0,t=e||o.files||o.chooseFiles||r.files;return layui.each(t,function(){i++}),i}(),l.number&&o.fileLength>l.number)return o.msg("同时最多只能上传的数量为:"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,i){if(i.size>1024*l.size){var t=l.size/1024;t=t>=1?t.toFixed(2)+"MB":l.size+"KB",r.value="",F=t}}),F)return o.msg("文件不能超过"+F)}y()}},p.prototype.events=function(){var e=this,t=e.config,o=function(i){e.chooseFiles={},layui.each(i,function(i,t){var n=(new Date).getTime();e.chooseFiles[n+"-"+i]=t})},l=function(i,n){var a=e.elemFile,o=i.length>1?i.length+"个文件":(i[0]||{}).name||a[0].value.match(/[^\/\\]+\..+/g)||[]||"";a.next().hasClass(s)&&a.next().remove(),e.upload(null,"choose"),e.isFile()||t.choose||a.after(''+o+"")};t.elem.off("upload.start").on("upload.start",function(){var a=i(this),o=a.attr("lay-data");if(o)try{o=new Function("return "+o)(),e.config=i.extend({},t,o)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||t.elem.off("upload.over").on("upload.over",function(){var e=i(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=i(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,a){var r=i(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),o(u),t.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var i=this.files||[];o(i),t.auto?e.upload():l(i)}),t.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),t.elem.data("haveEvents")||(e.elemFile.on("change",function(){i(this).trigger("upload.change")}),t.elem.on("click",function(){e.isFile()||i(this).trigger("upload.start")}),t.drag&&t.elem.on("dragover",function(e){e.preventDefault(),i(this).trigger("upload.over")}).on("dragleave",function(e){i(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),i(this).trigger("upload.drop",e)}),t.bindAction.on("click",function(){i(this).trigger("upload.action")}),t.elem.data("haveEvents",!0))},o.render=function(e){var i=new p(e);return l.call(i)},e(r,o)}); \ No newline at end of file diff --git a/lib/layui/lay/modules/util.js b/lib/layui/lay/modules/util.js deleted file mode 100755 index 8d38508..0000000 --- a/lib/layui/lay/modules/util.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,a,n="layui-fixbar",r="layui-fixbar-top",o=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
          ',t.bar1?'
        • '+c[0]+"
        • ":"",t.bar2?'
        • '+c[1]+"
        • ":"",'
        • '+c[2]+"
        • ","
        "].join("")),s=g.find("."+r),u=function(){var e=o.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+n)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),a=i.attr("lay-type");"top"===a&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,a)}),o.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var a=this,n="function"==typeof e,r=new Date(t).getTime(),o=new Date(!e||n?(new Date).getTime():e).getTime(),l=r-o,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];n&&(i=e);var g=setTimeout(function(){a.countdown(t,o+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,a=[[],[]],n=(new Date).getTime()-new Date(t).getTime();return n>6912e5?(n=new Date(t),a[0][0]=i.digit(n.getFullYear(),4),a[0][1]=i.digit(n.getMonth()+1),a[0][2]=i.digit(n.getDate()),e||(a[1][0]=i.digit(n.getHours()),a[1][1]=i.digit(n.getMinutes()),a[1][2]=i.digit(n.getSeconds())),a[0].join("-")+" "+a[1].join(":")):n>=864e5?(n/1e3/60/60/24|0)+"天前":n>=36e5?(n/1e3/60/60|0)+"小时前":n>=12e4?(n/1e3/60|0)+"分钟前":n<0?"未来":"刚刚"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var a=t.length;a/g,">").replace(/'/g,"'").replace(/"/g,""")}};!function(t,e,i){"$:nomunge";function a(){n=e[l](function(){r.each(function(){var e=t(this),i=e.width(),a=e.height(),n=t.data(this,g);(i!==n.w||a!==n.h)&&e.trigger(c,[n.w=i,n.h=a])}),a()},o[s])}var n,r=t([]),o=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";o[s]=250,o[u]=!0,t.event.special[c]={setup:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===r.length&&a()},teardown:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.not(e),e.removeData(g),r.length||clearTimeout(n)},add:function(e){function a(e,a,r){var o=t(this),l=t.data(this,g)||{};l.w=a!==i?a:o.width(),l.h=r!==i?r:o.height(),n.apply(this,arguments)}if(!o[u]&&this[l])return!1;var n;return t.isFunction(e)?(n=e,a):(n=e.handler,void(e.handler=a))}}}(e,window),t("util",i)}); \ No newline at end of file diff --git a/lib/layui/layui.all.js b/lib/layui/layui.all.js deleted file mode 100755 index 5cd5973..0000000 --- a/lib/layui/layui.all.js +++ /dev/null @@ -1,5 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.4.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;oi?1:r/g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});layui.define(function(e){"use strict";var a=document,t="getElementById",n="getElementsByTagName",i="laypage",r="layui-disabled",u=function(e){var a=this;a.config=e||{},a.config.index=++s.index,a.render(!0)};u.prototype.type=function(){var e=this.config;if("object"==typeof e.elem)return void 0===e.elem.length?2:3},u.prototype.view=function(){var e=this,a=e.config,t=a.groups="groups"in a?0|a.groups:5;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.limits="object"==typeof a.limits?a.limits:[10,20,30,40,50],a.limit=0|a.limit||10,a.pages=Math.ceil(a.count/a.limit)||1,a.curr>a.pages&&(a.curr=a.pages),t<0?t=1:t>a.pages&&(t=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var n=a.pages>t?Math.ceil((a.curr+(t>1?1:0))/(t>0?t:1)):1,i={prev:function(){return a.prev?''+a.prev+"":""}(),page:function(){var e=[];if(a.count<1)return"";n>1&&a.first!==!1&&0!==t&&e.push(''+(a.first||1)+"");var i=Math.floor((t-1)/2),r=n>1?a.curr-i:1,u=n>1?function(){var e=a.curr+(t-i-1);return e>a.pages?a.pages:e}():t;for(u-r2&&e.push('');r<=u;r++)r===a.curr?e.push('"+r+""):e.push(''+r+"");return a.pages>t&&a.pages>u&&a.last!==!1&&(u+1…'),0!==t&&e.push(''+(a.last||a.pages)+"")),e.join("")}(),next:function(){return a.next?''+a.next+"":""}(),count:'共 '+a.count+" 条",limit:function(){var e=['"}(),refresh:['','',""].join(""),skip:function(){return['到第','','页',""].join("")}()};return['
        ',function(){var e=[];return layui.each(a.layout,function(a,t){i[t]&&e.push(i[t])}),e.join("")}(),"
        "].join("")},u.prototype.jump=function(e,a){if(e){var t=this,i=t.config,r=e.children,u=e[n]("button")[0],l=e[n]("input")[0],p=e[n]("select")[0],c=function(){var e=0|l.value.replace(/\s|\D/g,"");e&&(i.curr=e,t.render())};if(a)return c();for(var o=0,y=r.length;oi.pages||(i.curr=e,t.render())});p&&s.on(p,"change",function(){var e=this.value;i.curr*e>i.count&&(i.curr=Math.ceil(i.count/e)),i.limit=e,t.render()}),u&&s.on(u,"click",function(){c()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[n]("input")[0];t&&s.on(t,"keyup",function(t){var n=this.value,i=t.keyCode;/^(37|38|39|40)$/.test(i)||(/\D/.test(n)&&(this.value=n.replace(/\D/,"")),13===i&&a.jump(e,!0))})}},u.prototype.render=function(e){var n=this,i=n.config,r=n.type(),u=n.view();2===r?i.elem&&(i.elem.innerHTML=u):3===r?i.elem.html(u):a[t](i.elem)&&(a[t](i.elem).innerHTML=u),i.jump&&i.jump(i,e);var s=a[t]("layui-laypage-"+i.index);n.jump(s),i.hash&&!e&&(location.hash="!"+i.hash+"="+i.curr),n.skip(s)};var s={render:function(e){var a=new u(e);return a.index},index:layui.laypage?layui.laypage.index+1e4:0,on:function(e,a,t){return e.attachEvent?e.attachEvent("on"+a,function(a){a.target=a.srcElement,t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(i,s)});!function(){"use strict";var e=window.layui&&layui.define,t={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,n=t.length-1,a=n;a>0;a--)if("interactive"===t[a].readyState){e=t[a].src;break}return e||t[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),getStyle:function(e,t){var n=e.currentStyle?e.currentStyle:window.getComputedStyle(e,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](t)},link:function(e,a,i){if(n.path){var r=document.getElementsByTagName("head")[0],o=document.createElement("link");"string"==typeof a&&(i=a);var s=(i||e).replace(/\.|\//g,""),l="layuicss-"+s,d=0;o.rel="stylesheet",o.href=n.path+e,o.id=l,document.getElementById(l)||r.appendChild(o),"function"==typeof a&&!function c(){return++d>80?window.console&&console.error("laydate.css: Invalid"):void(1989===parseInt(t.getStyle(document.getElementById(l),"width"))?a():setTimeout(c,100))}()}}},n={v:"5.0.9",config:{},index:window.laydate&&window.laydate.v?1e5:0,path:t.getPath,set:function(e){var t=this;return t.config=w.extend({},t.config,e),t},ready:function(a){var i="laydate",r="",o=(e?"modules/laydate/":"theme/")+"default/laydate.css?v="+n.v+r;return e?layui.addcss(o,a,i):t.link(o,a,i),this}},a=function(){var e=this;return{hint:function(t){e.hint.call(e,t)},config:e.config}},i="laydate",r=".layui-laydate",o="layui-this",s="laydate-disabled",l="开始日期超出了结束日期
        建议重新选择",d=[100,2e5],c="layui-laydate-static",m="layui-laydate-list",u="laydate-selected",h="layui-laydate-hint",y="laydate-day-prev",f="laydate-day-next",p="layui-laydate-footer",g=".laydate-btns-confirm",v="laydate-time-text",D=".laydate-btns-time",T=function(e){var t=this;t.index=++n.index,t.config=w.extend({},t.config,n.config,e),n.ready(function(){t.init()})},w=function(e){return new C(e)},C=function(e){for(var t=0,n="object"==typeof e?[e]:(this.selector=e,document.querySelectorAll(e||null));t0)return n[0].getAttribute(e)}():n.each(function(n,a){a.setAttribute(e,t)})},C.prototype.removeAttr=function(e){return this.each(function(t,n){n.removeAttribute(e)})},C.prototype.html=function(e){return this.each(function(t,n){n.innerHTML=e})},C.prototype.val=function(e){return this.each(function(t,n){n.value=e})},C.prototype.append=function(e){return this.each(function(t,n){"object"==typeof e?n.appendChild(e):n.innerHTML=n.innerHTML+e})},C.prototype.remove=function(e){return this.each(function(t,n){e?n.removeChild(e):n.parentNode.removeChild(n)})},C.prototype.on=function(e,t){return this.each(function(n,a){a.attachEvent?a.attachEvent("on"+e,function(e){e.target=e.srcElement,t.call(a,e)}):a.addEventListener(e,t,!1)})},C.prototype.off=function(e,t){return this.each(function(n,a){a.detachEvent?a.detachEvent("on"+e,t):a.removeEventListener(e,t,!1)})},T.isLeapYear=function(e){return e%4===0&&e%100!==0||e%400===0},T.prototype.config={type:"date",range:!1,format:"yyyy-MM-dd",value:null,isInitValue:!0,min:"1900-1-1",max:"2099-12-31",trigger:"focus",show:!1,showBottom:!0,btns:["clear","now","confirm"],lang:"cn",theme:"default",position:null,calendar:!1,mark:{},zIndex:null,done:null,change:null},T.prototype.lang=function(){var e=this,t=e.config,n={cn:{weeks:["日","一","二","三","四","五","六"],time:["时","分","秒"],timeTips:"选择时间",startTime:"开始时间",endTime:"结束时间",dateTips:"返回日期",month:["一","二","三","四","五","六","七","八","九","十","十一","十二"],tools:{confirm:"确定",clear:"清空",now:"现在"}},en:{weeks:["Su","Mo","Tu","We","Th","Fr","Sa"],time:["Hours","Minutes","Seconds"],timeTips:"Select Time",startTime:"Start Time",endTime:"End Time",dateTips:"Select Date",month:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],tools:{confirm:"Confirm",clear:"Clear",now:"Now"}}};return n[t.lang]||n.cn},T.prototype.init=function(){var e=this,t=e.config,n="yyyy|y|MM|M|dd|d|HH|H|mm|m|ss|s",a="static"===t.position,i={year:"yyyy",month:"yyyy-MM",date:"yyyy-MM-dd",time:"HH:mm:ss",datetime:"yyyy-MM-dd HH:mm:ss"};t.elem=w(t.elem),t.eventElem=w(t.eventElem),t.elem[0]&&(t.range===!0&&(t.range="-"),t.format===i.date&&(t.format=i[t.type]),e.format=t.format.match(new RegExp(n+"|.","g"))||[],e.EXP_IF="",e.EXP_SPLIT="",w.each(e.format,function(t,a){var i=new RegExp(n).test(a)?"\\d{"+function(){return new RegExp(n).test(e.format[0===t?t+1:t-1]||"")?/^yyyy|y$/.test(a)?4:a.length:/^yyyy$/.test(a)?"1,4":/^y$/.test(a)?"1,308":"1,2"}()+"}":"\\"+a;e.EXP_IF=e.EXP_IF+i,e.EXP_SPLIT=e.EXP_SPLIT+"("+i+")"}),e.EXP_IF=new RegExp("^"+(t.range?e.EXP_IF+"\\s\\"+t.range+"\\s"+e.EXP_IF:e.EXP_IF)+"$"),e.EXP_SPLIT=new RegExp("^"+e.EXP_SPLIT+"$",""),e.isInput(t.elem[0])||"focus"===t.trigger&&(t.trigger="click"),t.elem.attr("lay-key")||(t.elem.attr("lay-key",e.index),t.eventElem.attr("lay-key",e.index)),t.mark=w.extend({},t.calendar&&"cn"===t.lang?{"0-1-1":"元旦","0-2-14":"情人","0-3-8":"妇女","0-3-12":"植树","0-4-1":"愚人","0-5-1":"劳动","0-5-4":"青年","0-6-1":"儿童","0-9-10":"教师","0-9-18":"国耻","0-10-1":"国庆","0-12-25":"圣诞"}:{},t.mark),w.each(["min","max"],function(e,n){var a=[],i=[];if("number"==typeof t[n]){var r=t[n],o=(new Date).getTime(),s=864e5,l=new Date(r?r0)return!0;var a=w.elem("div",{"class":"layui-laydate-header"}),i=[function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-y"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-prev-m"});return e.innerHTML="",e}(),function(){var e=w.elem("div",{"class":"laydate-set-ym"}),t=w.elem("span"),n=w.elem("span");return e.appendChild(t),e.appendChild(n),e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-m"});return e.innerHTML="",e}(),function(){var e=w.elem("i",{"class":"layui-icon laydate-icon laydate-next-y"});return e.innerHTML="",e}()],d=w.elem("div",{"class":"layui-laydate-content"}),c=w.elem("table"),m=w.elem("thead"),u=w.elem("tr");w.each(i,function(e,t){a.appendChild(t)}),m.appendChild(u),w.each(new Array(6),function(e){var t=c.insertRow(0);w.each(new Array(7),function(a){if(0===e){var i=w.elem("th");i.innerHTML=n.weeks[a],u.appendChild(i)}t.insertCell(a)})}),c.insertBefore(m,c.children[0]),d.appendChild(c),r[e]=w.elem("div",{"class":"layui-laydate-main laydate-main-list-"+e}),r[e].appendChild(a),r[e].appendChild(d),o.push(i),s.push(d),l.push(c)}),w(d).html(function(){var e=[],i=[];return"datetime"===t.type&&e.push(''+n.timeTips+""),w.each(t.btns,function(e,r){var o=n.tools[r]||"btn";t.range&&"now"===r||(a&&"clear"===r&&(o="cn"===t.lang?"重置":"Reset"),i.push(''+o+""))}),e.push('"),e.join("")}()),w.each(r,function(e,t){i.appendChild(t)}),t.showBottom&&i.appendChild(d),/^#/.test(t.theme)){var m=w.elem("style"),u=["#{{id}} .layui-laydate-header{background-color:{{theme}};}","#{{id}} .layui-this{background-color:{{theme}} !important;}"].join("").replace(/{{id}}/g,e.elemID).replace(/{{theme}}/g,t.theme);"styleSheet"in m?(m.setAttribute("type","text/css"),m.styleSheet.cssText=u):m.innerHTML=u,w(i).addClass("laydate-theme-molv"),i.appendChild(m)}e.remove(T.thisElemDate),a?t.elem.append(i):(document.body.appendChild(i),e.position()),e.checkDate().calendar(),e.changeEvent(),T.thisElemDate=e.elemID,"function"==typeof t.ready&&t.ready(w.extend({},t.dateTime,{month:t.dateTime.month+1}))},T.prototype.remove=function(e){var t=this,n=(t.config,w("#"+(e||t.elemID)));return n.hasClass(c)||t.checkDate(function(){n.remove()}),t},T.prototype.position=function(){var e=this,t=e.config,n=e.bindElem||t.elem[0],a=n.getBoundingClientRect(),i=e.elem.offsetWidth,r=e.elem.offsetHeight,o=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},s=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},l=5,d=a.left,c=a.bottom;d+i+l>s("width")&&(d=s("width")-i-l),c+r+l>s()&&(c=a.top>r?a.top-r:s()-r,c-=2*l),t.position&&(e.elem.style.position=t.position),e.elem.style.left=d+("fixed"===t.position?0:o(1))+"px",e.elem.style.top=c+("fixed"===t.position?0:o())+"px"},T.prototype.hint=function(e){var t=this,n=(t.config,w.elem("div",{"class":h}));t.elem&&(n.innerHTML=e||"",w(t.elem).find("."+h).remove(),t.elem.appendChild(n),clearTimeout(t.hinTimer),t.hinTimer=setTimeout(function(){w(t.elem).find("."+h).remove()},3e3))},T.prototype.getAsYM=function(e,t,n){return n?t--:t++,t<0&&(t=11,e--),t>11&&(t=0,e++),[e,t]},T.prototype.systemDate=function(e){var t=e||new Date;return{year:t.getFullYear(),month:t.getMonth(),date:t.getDate(),hours:e?e.getHours():0,minutes:e?e.getMinutes():0,seconds:e?e.getSeconds():0}},T.prototype.checkDate=function(e){var t,a,i=this,r=(new Date,i.config),o=r.dateTime=r.dateTime||i.systemDate(),s=i.bindElem||r.elem[0],l=(i.isInput(s)?"val":"html",i.isInput(s)?s.value:"static"===r.position?"":s.innerHTML),c=function(e){e.year>d[1]&&(e.year=d[1],a=!0),e.month>11&&(e.month=11,a=!0),e.hours>23&&(e.hours=0,a=!0),e.minutes>59&&(e.minutes=0,e.hours++,a=!0),e.seconds>59&&(e.seconds=0,e.minutes++,a=!0),t=n.getEndDate(e.month+1,e.year),e.date>t&&(e.date=t,a=!0)},m=function(e,t,n){var o=["startTime","endTime"];t=(t.match(i.EXP_SPLIT)||[]).slice(1),n=n||0,r.range&&(i[o[n]]=i[o[n]]||{}),w.each(i.format,function(s,l){var c=parseFloat(t[s]);t[s].length必须遵循下述格式:
        "+(r.range?r.format+" "+r.range+" "+r.format:r.format)+"
        已为你重置"),a=!0):l&&l.constructor===Date?r.dateTime=i.systemDate(l):(r.dateTime=i.systemDate(),delete i.startState,delete i.endState,delete i.startDate,delete i.endDate,delete i.startTime,delete i.endTime),c(o),a&&l&&i.setValue(r.range?i.endDate?i.parse():"":i.parse()),e&&e(),i)},T.prototype.mark=function(e,t){var n,a=this,i=a.config;return w.each(i.mark,function(e,a){var i=e.split("-");i[0]!=t[0]&&0!=i[0]||i[1]!=t[1]&&0!=i[1]||i[2]!=t[2]||(n=a||t[2])}),n&&e.html(''+n+""),a},T.prototype.limit=function(e,t,n,a){var i,r=this,o=r.config,l={},d=o[n>41?"endDate":"dateTime"],c=w.extend({},d,t||{});return w.each({now:c,min:o.min,max:o.max},function(e,t){l[e]=r.newDate(w.extend({year:t.year,month:t.month,date:t.date},function(){var e={};return w.each(a,function(n,a){e[a]=t[a]}),e}())).getTime()}),i=l.nowl.max,e&&e[i?"addClass":"removeClass"](s),i},T.prototype.calendar=function(e){var t,a,i,r=this,s=r.config,l=e||s.dateTime,c=new Date,m=r.lang(),u="date"!==s.type&&"datetime"!==s.type,h=e?1:0,y=w(r.table[h]).find("td"),f=w(r.elemHeader[h][2]).find("span");if(l.yeard[1]&&(l.year=d[1],r.hint("最高只能支持到公元"+d[1]+"年")),r.firstDate||(r.firstDate=w.extend({},l)),c.setFullYear(l.year,l.month,1),t=c.getDay(),a=n.getEndDate(l.month||12,l.year),i=n.getEndDate(l.month+1,l.year),w.each(y,function(e,n){var d=[l.year,l.month],c=0;n=w(n),n.removeAttr("class"),e=t&&e=n.firstDate.year&&(r.month=a.max.month,r.date=a.max.date),n.limit(w(i),r,t),M++}),w(u[f?0:1]).attr("lay-ym",M-8+"-"+T[1]).html(b+p+" - "+(M-1+p))}else if("month"===e)w.each(new Array(12),function(e){var i=w.elem("li",{"lay-ym":e}),s={year:T[0],month:e};e+1==T[1]&&w(i).addClass(o),i.innerHTML=r.month[e]+(f?"月":""),d.appendChild(i),T[0]=n.firstDate.year&&(s.date=a.max.date),n.limit(w(i),s,t)}),w(u[f?0:1]).attr("lay-ym",T[0]+"-"+T[1]).html(T[0]+p);else if("time"===e){var E=function(){w(d).find("ol").each(function(e,a){w(a).find("li").each(function(a,i){n.limit(w(i),[{hours:a},{hours:n[x].hours,minutes:a},{hours:n[x].hours,minutes:n[x].minutes,seconds:a}][e],t,[["hours"],["hours","minutes"],["hours","minutes","seconds"]][e])})}),a.range||n.limit(w(n.footer).find(g),n[x],0,["hours","minutes","seconds"])};a.range?n[x]||(n[x]={hours:0,minutes:0,seconds:0}):n[x]=i,w.each([24,60,60],function(e,t){var a=w.elem("li"),i=["

        "+r.time[e]+"

          "];w.each(new Array(t),function(t){i.push(""+w.digit(t,2)+"")}),a.innerHTML=i.join("")+"
        ",d.appendChild(a)}),E()}if(y&&h.removeChild(y),h.appendChild(d),"year"===e||"month"===e)w(n.elemMain[t]).addClass("laydate-ym-show"),w(d).find("li").on("click",function(){var r=0|w(this).attr("lay-ym");if(!w(this).hasClass(s)){if(0===t)i[e]=r,l&&(n.startDate[e]=r),n.limit(w(n.footer).find(g),null,0);else if(l)n.endDate[e]=r;else{var c="year"===e?n.getAsYM(r,T[1]-1,"sub"):n.getAsYM(T[0],r,"sub");w.extend(i,{year:c[0],month:c[1]})}"year"===a.type||"month"===a.type?(w(d).find("."+o).removeClass(o),w(this).addClass(o),"month"===a.type&&"year"===e&&(n.listYM[t][0]=r,l&&(n[["startDate","endDate"][t]].year=r),n.list("month",t))):(n.checkDate("limit").calendar(),n.closeList()),n.setBtnStatus(),a.range||n.done(null,"change"),w(n.footer).find(D).removeClass(s)}});else{var S=w.elem("span",{"class":v}),k=function(){w(d).find("ol").each(function(e){var t=this,a=w(t).find("li");t.scrollTop=30*(n[x][C[e]]-2),t.scrollTop<=0&&a.each(function(e,n){if(!w(this).hasClass(s))return t.scrollTop=30*(e-2),!0})})},H=w(c[2]).find("."+v);k(),S.innerHTML=a.range?[r.startTime,r.endTime][t]:r.timeTips,w(n.elemMain[t]).addClass("laydate-time-show"),H[0]&&H.remove(),c[2].appendChild(S),w(d).find("ol").each(function(e){var t=this;w(t).find("li").on("click",function(){var r=0|this.innerHTML;w(this).hasClass(s)||(a.range?n[x][C[e]]=r:i[C[e]]=r,w(t).find("."+o).removeClass(o),w(this).addClass(o),E(),k(),(n.endDate||"time"===a.type)&&n.done(null,"change"),n.setBtnStatus())})})}return n},T.prototype.listYM=[],T.prototype.closeList=function(){var e=this;e.config;w.each(e.elemCont,function(t,n){w(this).find("."+m).remove(),w(e.elemMain[t]).removeClass("laydate-ym-show laydate-time-show")}),w(e.elem).find("."+v).remove()},T.prototype.setBtnStatus=function(e,t,n){var a,i=this,r=i.config,o=w(i.footer).find(g),d=r.range&&"date"!==r.type&&"time"!==r.type;d&&(t=t||i.startDate,n=n||i.endDate,a=i.newDate(t).getTime()>i.newDate(n).getTime(),i.limit(null,t)||i.limit(null,n)?o.addClass(s):o[a?"addClass":"removeClass"](s),e&&a&&i.hint("string"==typeof e?l.replace(/日期/g,e):l))},T.prototype.parse=function(e,t){var n=this,a=n.config,i=t||(e?w.extend({},n.endDate,n.endTime):a.range?w.extend({},n.startDate,n.startTime):a.dateTime),r=n.format.concat();return w.each(r,function(e,t){/yyyy|y/.test(t)?r[e]=w.digit(i.year,t.length):/MM|M/.test(t)?r[e]=w.digit(i.month+1,t.length):/dd|d/.test(t)?r[e]=w.digit(i.date,t.length):/HH|H/.test(t)?r[e]=w.digit(i.hours,t.length):/mm|m/.test(t)?r[e]=w.digit(i.minutes,t.length):/ss|s/.test(t)&&(r[e]=w.digit(i.seconds,t.length))}),a.range&&!e?r.join("")+" "+a.range+" "+n.parse(1):r.join("")},T.prototype.newDate=function(e){return e=e||{},new Date(e.year||1,e.month||0,e.date||1,e.hours||0,e.minutes||0,e.seconds||0)},T.prototype.setValue=function(e){var t=this,n=t.config,a=t.bindElem||n.elem[0],i=t.isInput(a)?"val":"html";return"static"===n.position||w(a)[i](e||""),this},T.prototype.stampRange=function(){var e,t,n=this,a=n.config,i=w(n.elem).find("td");if(a.range&&!n.endDate&&w(n.footer).find(g).addClass(s),n.endDate)return e=n.newDate({year:n.startDate.year,month:n.startDate.month,date:n.startDate.date}).getTime(),t=n.newDate({year:n.endDate.year,month:n.endDate.month,date:n.endDate.date}).getTime(),e>t?n.hint(l):void w.each(i,function(a,i){var r=w(i).attr("lay-ymd").split("-"),s=n.newDate({year:r[0],month:r[1]-1,date:r[2]}).getTime();w(i).removeClass(u+" "+o),s!==e&&s!==t||w(i).addClass(w(i).hasClass(y)||w(i).hasClass(f)?u:o),s>e&&s0&&t-1 in e)}function r(e,t,n){if(pe.isFunction(t))return pe.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return pe.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(Ce.test(t))return pe.filter(t,e,n);t=pe.filter(t,e)}return pe.grep(e,function(e){return pe.inArray(e,t)>-1!==n})}function i(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}function o(e){var t={};return pe.each(e.match(De)||[],function(e,n){t[n]=!0}),t}function a(){re.addEventListener?(re.removeEventListener("DOMContentLoaded",s),e.removeEventListener("load",s)):(re.detachEvent("onreadystatechange",s),e.detachEvent("onload",s))}function s(){(re.addEventListener||"load"===e.event.type||"complete"===re.readyState)&&(a(),pe.ready())}function u(e,t,n){if(void 0===n&&1===e.nodeType){var r="data-"+t.replace(_e,"-$1").toLowerCase();if(n=e.getAttribute(r),"string"==typeof n){try{n="true"===n||"false"!==n&&("null"===n?null:+n+""===n?+n:qe.test(n)?pe.parseJSON(n):n)}catch(i){}pe.data(e,t,n)}else n=void 0}return n}function l(e){var t;for(t in e)if(("data"!==t||!pe.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}function c(e,t,n,r){if(He(e)){var i,o,a=pe.expando,s=e.nodeType,u=s?pe.cache:e,l=s?e[a]:e[a]&&a;if(l&&u[l]&&(r||u[l].data)||void 0!==n||"string"!=typeof t)return l||(l=s?e[a]=ne.pop()||pe.guid++:a),u[l]||(u[l]=s?{}:{toJSON:pe.noop}),"object"!=typeof t&&"function"!=typeof t||(r?u[l]=pe.extend(u[l],t):u[l].data=pe.extend(u[l].data,t)),o=u[l],r||(o.data||(o.data={}),o=o.data),void 0!==n&&(o[pe.camelCase(t)]=n),"string"==typeof t?(i=o[t],null==i&&(i=o[pe.camelCase(t)])):i=o,i}}function f(e,t,n){if(He(e)){var r,i,o=e.nodeType,a=o?pe.cache:e,s=o?e[pe.expando]:pe.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){pe.isArray(t)?t=t.concat(pe.map(t,pe.camelCase)):t in r?t=[t]:(t=pe.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;for(;i--;)delete r[t[i]];if(n?!l(r):!pe.isEmptyObject(r))return}(n||(delete a[s].data,l(a[s])))&&(o?pe.cleanData([e],!0):fe.deleteExpando||a!=a.window?delete a[s]:a[s]=void 0)}}}function d(e,t,n,r){var i,o=1,a=20,s=r?function(){return r.cur()}:function(){return pe.css(e,t,"")},u=s(),l=n&&n[3]||(pe.cssNumber[t]?"":"px"),c=(pe.cssNumber[t]||"px"!==l&&+u)&&Me.exec(pe.css(e,t));if(c&&c[3]!==l){l=l||c[3],n=n||[],c=+u||1;do o=o||".5",c/=o,pe.style(e,t,c+l);while(o!==(o=s()/u)&&1!==o&&--a)}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}function p(e){var t=ze.split("|"),n=e.createDocumentFragment();if(n.createElement)for(;t.length;)n.createElement(t.pop());return n}function h(e,t){var n,r,i=0,o="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):void 0;if(!o)for(o=[],n=e.childNodes||e;null!=(r=n[i]);i++)!t||pe.nodeName(r,t)?o.push(r):pe.merge(o,h(r,t));return void 0===t||t&&pe.nodeName(e,t)?pe.merge([e],o):o}function g(e,t){for(var n,r=0;null!=(n=e[r]);r++)pe._data(n,"globalEval",!t||pe._data(t[r],"globalEval"))}function m(e){Be.test(e.type)&&(e.defaultChecked=e.checked)}function y(e,t,n,r,i){for(var o,a,s,u,l,c,f,d=e.length,y=p(t),v=[],x=0;x"!==f[1]||Ve.test(a)?0:u:u.firstChild,o=a&&a.childNodes.length;o--;)pe.nodeName(c=a.childNodes[o],"tbody")&&!c.childNodes.length&&a.removeChild(c);for(pe.merge(v,u.childNodes),u.textContent="";u.firstChild;)u.removeChild(u.firstChild);u=y.lastChild}else v.push(t.createTextNode(a));for(u&&y.removeChild(u),fe.appendChecked||pe.grep(h(v,"input"),m),x=0;a=v[x++];)if(r&&pe.inArray(a,r)>-1)i&&i.push(a);else if(s=pe.contains(a.ownerDocument,a),u=h(y.appendChild(a),"script"),s&&g(u),n)for(o=0;a=u[o++];)Ie.test(a.type||"")&&n.push(a);return u=null,y}function v(){return!0}function x(){return!1}function b(){try{return re.activeElement}catch(e){}}function w(e,t,n,r,i,o){var a,s;if("object"==typeof t){"string"!=typeof n&&(r=r||n,n=void 0);for(s in t)w(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),i===!1)i=x;else if(!i)return e;return 1===o&&(a=i,i=function(e){return pe().off(e),a.apply(this,arguments)},i.guid=a.guid||(a.guid=pe.guid++)),e.each(function(){pe.event.add(this,t,i,r,n)})}function T(e,t){return pe.nodeName(e,"table")&&pe.nodeName(11!==t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function C(e){return e.type=(null!==pe.find.attr(e,"type"))+"/"+e.type,e}function E(e){var t=it.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function N(e,t){if(1===t.nodeType&&pe.hasData(e)){var n,r,i,o=pe._data(e),a=pe._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;r1&&"string"==typeof p&&!fe.checkClone&&rt.test(p))return e.each(function(i){var o=e.eq(i);g&&(t[0]=p.call(this,i,o.html())),S(o,t,n,r)});if(f&&(l=y(t,e[0].ownerDocument,!1,e,r),i=l.firstChild,1===l.childNodes.length&&(l=i),i||r)){for(s=pe.map(h(l,"script"),C),a=s.length;c")).appendTo(t.documentElement),t=(ut[0].contentWindow||ut[0].contentDocument).document,t.write(),t.close(),n=D(e,t),ut.detach()),lt[e]=n),n}function L(e,t){return{get:function(){return e()?void delete this.get:(this.get=t).apply(this,arguments)}}}function H(e){if(e in Et)return e;for(var t=e.charAt(0).toUpperCase()+e.slice(1),n=Ct.length;n--;)if(e=Ct[n]+t,e in Et)return e}function q(e,t){for(var n,r,i,o=[],a=0,s=e.length;a=0&&n=0},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},isPlainObject:function(e){var t;if(!e||"object"!==pe.type(e)||e.nodeType||pe.isWindow(e))return!1;try{if(e.constructor&&!ce.call(e,"constructor")&&!ce.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}if(!fe.ownFirst)for(t in e)return ce.call(e,t);for(t in e);return void 0===t||ce.call(e,t)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?ue[le.call(e)]||"object":typeof e},globalEval:function(t){t&&pe.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(ge,"ms-").replace(me,ye)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t){var r,i=0;if(n(e))for(r=e.length;iT.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[P]=!0,e}function i(e){var t=H.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=n.length;r--;)T.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||V)-(~e.sourceIndex||V);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function u(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function l(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function f(){}function d(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function g(e,n,r){for(var i=0,o=n.length;i-1&&(r[l]=!(a[l]=f))}}else x=m(x===a?x.splice(h,x.length):x),o?o(null,a,x,u):Q.apply(a,x)})}function v(e){for(var t,n,r,i=e.length,o=T.relative[e[0].type],a=o||T.relative[" "],s=o?1:0,u=p(function(e){return e===t},a,!0),l=p(function(e){return ee(t,e)>-1},a,!0),c=[function(e,n,r){var i=!o&&(r||n!==A)||((t=n).nodeType?u(e,n,r):l(e,n,r));return t=null,i}];s1&&h(c),s>1&&d(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=e.length>0,a=function(r,a,s,u,l){var c,f,d,p=0,h="0",g=r&&[],y=[],v=A,x=r||o&&T.find.TAG("*",l),b=W+=null==v?1:Math.random()||.1,w=x.length;for(l&&(A=a===H||a||l);h!==w&&null!=(c=x[h]);h++){if(o&&c){for(f=0,a||c.ownerDocument===H||(L(c),s=!_);d=e[f++];)if(d(c,a||H,s)){u.push(c);break}l&&(W=b)}i&&((c=!d&&c)&&p--,r&&g.push(c))}if(p+=h,i&&h!==p){for(f=0;d=n[f++];)d(g,y,a,s);if(r){if(p>0)for(;h--;)g[h]||y[h]||(y[h]=G.call(u));y=m(y)}Q.apply(u,y),l&&!r&&y.length>0&&p+n.length>1&&t.uniqueSort(u)}return l&&(W=b,A=v),g};return i?r(a):a}var b,w,T,C,E,N,k,S,A,D,j,L,H,q,_,F,M,O,R,P="sizzle"+1*new Date,B=e.document,W=0,I=0,$=n(),z=n(),X=n(),U=function(e,t){return e===t&&(j=!0),0},V=1<<31,Y={}.hasOwnProperty,J=[],G=J.pop,K=J.push,Q=J.push,Z=J.slice,ee=function(e,t){for(var n=0,r=e.length;n+~]|"+ne+")"+ne+"*"),ce=new RegExp("="+ne+"*([^\\]'\"]*?)"+ne+"*\\]","g"),fe=new RegExp(oe),de=new RegExp("^"+re+"$"),pe={ID:new RegExp("^#("+re+")"),CLASS:new RegExp("^\\.("+re+")"),TAG:new RegExp("^("+re+"|[*])"),ATTR:new RegExp("^"+ie),PSEUDO:new RegExp("^"+oe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ne+"*(even|odd|(([+-]|)(\\d*)n|)"+ne+"*(?:([+-]|)"+ne+"*(\\d+)|))"+ne+"*\\)|)","i"),bool:new RegExp("^(?:"+te+")$","i"),needsContext:new RegExp("^"+ne+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ne+"*((?:-\\d)?\\d*)"+ne+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,ge=/^h\d$/i,me=/^[^{]+\{\s*\[native \w/,ye=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ve=/[+~]/,xe=/'|\\/g,be=new RegExp("\\\\([\\da-f]{1,6}"+ne+"?|("+ne+")|.)","ig"),we=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},Te=function(){L()};try{Q.apply(J=Z.call(B.childNodes),B.childNodes),J[B.childNodes.length].nodeType}catch(Ce){Q={apply:J.length?function(e,t){K.apply(e,Z.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}w=t.support={},E=t.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},L=t.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:B;return r!==H&&9===r.nodeType&&r.documentElement?(H=r,q=H.documentElement,_=!E(H),(n=H.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",Te,!1):n.attachEvent&&n.attachEvent("onunload",Te)),w.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),w.getElementsByTagName=i(function(e){return e.appendChild(H.createComment("")),!e.getElementsByTagName("*").length}),w.getElementsByClassName=me.test(H.getElementsByClassName),w.getById=i(function(e){return q.appendChild(e).id=P,!H.getElementsByName||!H.getElementsByName(P).length}),w.getById?(T.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&_){var n=t.getElementById(e);return n?[n]:[]}},T.filter.ID=function(e){var t=e.replace(be,we);return function(e){return e.getAttribute("id")===t}}):(delete T.find.ID,T.filter.ID=function(e){var t=e.replace(be,we);return function(e){var n="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return n&&n.value===t}}),T.find.TAG=w.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):w.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},T.find.CLASS=w.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&_)return t.getElementsByClassName(e)},M=[],F=[],(w.qsa=me.test(H.querySelectorAll))&&(i(function(e){q.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&F.push("[*^$]="+ne+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||F.push("\\["+ne+"*(?:value|"+te+")"),e.querySelectorAll("[id~="+P+"-]").length||F.push("~="),e.querySelectorAll(":checked").length||F.push(":checked"),e.querySelectorAll("a#"+P+"+*").length||F.push(".#.+[+~]")}),i(function(e){var t=H.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&F.push("name"+ne+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||F.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),F.push(",.*:")})),(w.matchesSelector=me.test(O=q.matches||q.webkitMatchesSelector||q.mozMatchesSelector||q.oMatchesSelector||q.msMatchesSelector))&&i(function(e){w.disconnectedMatch=O.call(e,"div"),O.call(e,"[s!='']:x"),M.push("!=",oe)}),F=F.length&&new RegExp(F.join("|")),M=M.length&&new RegExp(M.join("|")),t=me.test(q.compareDocumentPosition),R=t||me.test(q.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},U=t?function(e,t){if(e===t)return j=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!w.sortDetached&&t.compareDocumentPosition(e)===n?e===H||e.ownerDocument===B&&R(B,e)?-1:t===H||t.ownerDocument===B&&R(B,t)?1:D?ee(D,e)-ee(D,t):0:4&n?-1:1)}:function(e,t){if(e===t)return j=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,s=[e],u=[t];if(!i||!o)return e===H?-1:t===H?1:i?-1:o?1:D?ee(D,e)-ee(D,t):0;if(i===o)return a(e,t);for(n=e;n=n.parentNode;)s.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;s[r]===u[r];)r++;return r?a(s[r],u[r]):s[r]===B?-1:u[r]===B?1:0},H):H},t.matches=function(e,n){return t(e,null,null,n)},t.matchesSelector=function(e,n){if((e.ownerDocument||e)!==H&&L(e),n=n.replace(ce,"='$1']"),w.matchesSelector&&_&&!X[n+" "]&&(!M||!M.test(n))&&(!F||!F.test(n)))try{var r=O.call(e,n);if(r||w.disconnectedMatch||e.document&&11!==e.document.nodeType)return r}catch(i){}return t(n,H,null,[e]).length>0},t.contains=function(e,t){return(e.ownerDocument||e)!==H&&L(e),R(e,t)},t.attr=function(e,t){(e.ownerDocument||e)!==H&&L(e);var n=T.attrHandle[t.toLowerCase()],r=n&&Y.call(T.attrHandle,t.toLowerCase())?n(e,t,!_):void 0;return void 0!==r?r:w.attributes||!_?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},t.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},t.uniqueSort=function(e){var t,n=[],r=0,i=0;if(j=!w.detectDuplicates,D=!w.sortStable&&e.slice(0),e.sort(U),j){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return D=null,e},C=t.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=C(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=C(t);return n},T=t.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(be,we),e[3]=(e[3]||e[4]||e[5]||"").replace(be,we),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||t.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&t.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&fe.test(n)&&(t=N(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(be,we).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=$[e+" "];return t||(t=new RegExp("(^|"+ne+")"+e+"("+ne+"|$)"))&&$(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(e,n,r){return function(i){var o=t.attr(i,e);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o.replace(ae," ")+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,u){var l,c,f,d,p,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!u&&!s,x=!1;if(m){if(o){for(;g;){for(d=t;d=d[g];)if(s?d.nodeName.toLowerCase()===y:1===d.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){for(d=m,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}), -l=c[e]||[],p=l[0]===W&&l[1],x=p&&l[2],d=p&&m.childNodes[p];d=++p&&d&&d[g]||(x=p=0)||h.pop();)if(1===d.nodeType&&++x&&d===t){c[e]=[W,p,x];break}}else if(v&&(d=t,f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),l=c[e]||[],p=l[0]===W&&l[1],x=p),x===!1)for(;(d=++p&&d&&d[g]||(x=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==y:1!==d.nodeType)||!++x||(v&&(f=d[P]||(d[P]={}),c=f[d.uniqueID]||(f[d.uniqueID]={}),c[e]=[W,x]),d!==t)););return x-=i,x===r||x%r===0&&x/r>=0}}},PSEUDO:function(e,n){var i,o=T.pseudos[e]||T.setFilters[e.toLowerCase()]||t.error("unsupported pseudo: "+e);return o[P]?o(n):o.length>1?(i=[e,e,"",n],T.setFilters.hasOwnProperty(e.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=ee(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=k(e.replace(se,"$1"));return i[P]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),t[0]=null,!n.pop()}}),has:r(function(e){return function(n){return t(e,n).length>0}}),contains:r(function(e){return e=e.replace(be,we),function(t){return(t.textContent||t.innerText||C(t)).indexOf(e)>-1}}),lang:r(function(e){return de.test(e||"")||t.error("unsupported lang: "+e),e=e.replace(be,we).toLowerCase(),function(t){var n;do if(n=_?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===q},focus:function(e){return e===H.activeElement&&(!H.hasFocus||H.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!T.pseudos.empty(e)},header:function(e){return ge.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:l(function(){return[0]}),last:l(function(e,t){return[t-1]}),eq:l(function(e,t,n){return[n<0?n+t:n]}),even:l(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:l(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&w.getById&&9===t.nodeType&&_&&T.relative[o[1].type]){if(t=(T.find.ID(a.matches[0].replace(be,we),t)||[])[0],!t)return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!T.relative[s=a.type]);)if((u=T.find[s])&&(r=u(a.matches[0].replace(be,we),ve.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&d(o),!e)return Q.apply(n,r),n;break}}return(l||k(e,f))(r,t,!_,n,!t||ve.test(e)&&c(t.parentNode)||t),n},w.sortStable=P.split("").sort(U).join("")===P,w.detectDuplicates=!!j,L(),w.sortDetached=i(function(e){return 1&e.compareDocumentPosition(H.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),w.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(te,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),t}(e);pe.find=ve,pe.expr=ve.selectors,pe.expr[":"]=pe.expr.pseudos,pe.uniqueSort=pe.unique=ve.uniqueSort,pe.text=ve.getText,pe.isXMLDoc=ve.isXML,pe.contains=ve.contains;var xe=function(e,t,n){for(var r=[],i=void 0!==n;(e=e[t])&&9!==e.nodeType;)if(1===e.nodeType){if(i&&pe(e).is(n))break;r.push(e)}return r},be=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},we=pe.expr.match.needsContext,Te=/^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,Ce=/^.[^:#\[\.,]*$/;pe.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?pe.find.matchesSelector(r,e)?[r]:[]:pe.find.matches(e,pe.grep(t,function(e){return 1===e.nodeType}))},pe.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(pe(e).filter(function(){for(t=0;t1?pe.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},filter:function(e){return this.pushStack(r(this,e||[],!1))},not:function(e){return this.pushStack(r(this,e||[],!0))},is:function(e){return!!r(this,"string"==typeof e&&we.test(e)?pe(e):e||[],!1).length}});var Ee,Ne=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,ke=pe.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||Ee,"string"==typeof e){if(r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Ne.exec(e),!r||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof pe?t[0]:t,pe.merge(this,pe.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:re,!0)),Te.test(r[1])&&pe.isPlainObject(t))for(r in t)pe.isFunction(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}if(i=re.getElementById(r[2]),i&&i.parentNode){if(i.id!==r[2])return Ee.find(e);this.length=1,this[0]=i}return this.context=re,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):pe.isFunction(e)?"undefined"!=typeof n.ready?n.ready(e):e(pe):(void 0!==e.selector&&(this.selector=e.selector,this.context=e.context),pe.makeArray(e,this))};ke.prototype=pe.fn,Ee=pe(re);var Se=/^(?:parents|prev(?:Until|All))/,Ae={children:!0,contents:!0,next:!0,prev:!0};pe.fn.extend({has:function(e){var t,n=pe(e,this),r=n.length;return this.filter(function(){for(t=0;t-1:1===n.nodeType&&pe.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(o.length>1?pe.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?pe.inArray(this[0],pe(e)):pe.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(pe.uniqueSort(pe.merge(this.get(),pe(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),pe.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return xe(e,"parentNode")},parentsUntil:function(e,t,n){return xe(e,"parentNode",n)},next:function(e){return i(e,"nextSibling")},prev:function(e){return i(e,"previousSibling")},nextAll:function(e){return xe(e,"nextSibling")},prevAll:function(e){return xe(e,"previousSibling")},nextUntil:function(e,t,n){return xe(e,"nextSibling",n)},prevUntil:function(e,t,n){return xe(e,"previousSibling",n)},siblings:function(e){return be((e.parentNode||{}).firstChild,e)},children:function(e){return be(e.firstChild)},contents:function(e){return pe.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:pe.merge([],e.childNodes)}},function(e,t){pe.fn[e]=function(n,r){var i=pe.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=pe.filter(r,i)),this.length>1&&(Ae[e]||(i=pe.uniqueSort(i)),Se.test(e)&&(i=i.reverse())),this.pushStack(i)}});var De=/\S+/g;pe.Callbacks=function(e){e="string"==typeof e?o(e):pe.extend({},e);var t,n,r,i,a=[],s=[],u=-1,l=function(){for(i=e.once,r=t=!0;s.length;u=-1)for(n=s.shift();++u-1;)a.splice(n,1),n<=u&&u--}),this},has:function(e){return e?pe.inArray(e,a)>-1:a.length>0},empty:function(){return a&&(a=[]),this},disable:function(){return i=s=[],a=n="",this},disabled:function(){return!a},lock:function(){return i=!0,n||c.disable(),this},locked:function(){return!!i},fireWith:function(e,n){return i||(n=n||[],n=[e,n.slice?n.slice():n],s.push(n),t||l()),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},pe.extend({Deferred:function(e){var t=[["resolve","done",pe.Callbacks("once memory"),"resolved"],["reject","fail",pe.Callbacks("once memory"),"rejected"],["notify","progress",pe.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return pe.Deferred(function(n){pe.each(t,function(t,o){var a=pe.isFunction(e[t])&&e[t];i[o[1]](function(){var e=a&&a.apply(this,arguments);e&&pe.isFunction(e.promise)?e.promise().progress(n.notify).done(n.resolve).fail(n.reject):n[o[0]+"With"](this===r?n.promise():this,a?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?pe.extend(e,r):r}},i={};return r.pipe=r.then,pe.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t,n,r,i=0,o=ie.call(arguments),a=o.length,s=1!==a||e&&pe.isFunction(e.promise)?a:0,u=1===s?e:pe.Deferred(),l=function(e,n,r){return function(i){n[e]=this,r[e]=arguments.length>1?ie.call(arguments):i,r===t?u.notifyWith(n,r):--s||u.resolveWith(n,r)}};if(a>1)for(t=new Array(a),n=new Array(a),r=new Array(a);i0||(je.resolveWith(re,[pe]),pe.fn.triggerHandler&&(pe(re).triggerHandler("ready"),pe(re).off("ready"))))}}),pe.ready.promise=function(t){if(!je)if(je=pe.Deferred(),"complete"===re.readyState||"loading"!==re.readyState&&!re.documentElement.doScroll)e.setTimeout(pe.ready);else if(re.addEventListener)re.addEventListener("DOMContentLoaded",s),e.addEventListener("load",s);else{re.attachEvent("onreadystatechange",s),e.attachEvent("onload",s);var n=!1;try{n=null==e.frameElement&&re.documentElement}catch(r){}n&&n.doScroll&&!function i(){if(!pe.isReady){try{n.doScroll("left")}catch(t){return e.setTimeout(i,50)}a(),pe.ready()}}()}return je.promise(t)},pe.ready.promise();var Le;for(Le in pe(fe))break;fe.ownFirst="0"===Le,fe.inlineBlockNeedsLayout=!1,pe(function(){var e,t,n,r;n=re.getElementsByTagName("body")[0],n&&n.style&&(t=re.createElement("div"),r=re.createElement("div"),r.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px",n.appendChild(r).appendChild(t),"undefined"!=typeof t.style.zoom&&(t.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1",fe.inlineBlockNeedsLayout=e=3===t.offsetWidth,e&&(n.style.zoom=1)),n.removeChild(r))}),function(){var e=re.createElement("div");fe.deleteExpando=!0;try{delete e.test}catch(t){fe.deleteExpando=!1}e=null}();var He=function(e){var t=pe.noData[(e.nodeName+" ").toLowerCase()],n=+e.nodeType||1;return(1===n||9===n)&&(!t||t!==!0&&e.getAttribute("classid")===t)},qe=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,_e=/([A-Z])/g;pe.extend({cache:{},noData:{"applet ":!0,"embed ":!0,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?pe.cache[e[pe.expando]]:e[pe.expando],!!e&&!l(e)},data:function(e,t,n){return c(e,t,n)},removeData:function(e,t){return f(e,t)},_data:function(e,t,n){return c(e,t,n,!0)},_removeData:function(e,t){return f(e,t,!0)}}),pe.fn.extend({data:function(e,t){var n,r,i,o=this[0],a=o&&o.attributes;if(void 0===e){if(this.length&&(i=pe.data(o),1===o.nodeType&&!pe._data(o,"parsedAttrs"))){for(n=a.length;n--;)a[n]&&(r=a[n].name,0===r.indexOf("data-")&&(r=pe.camelCase(r.slice(5)),u(o,r,i[r])));pe._data(o,"parsedAttrs",!0)}return i}return"object"==typeof e?this.each(function(){pe.data(this,e)}):arguments.length>1?this.each(function(){pe.data(this,e,t)}):o?u(o,e,pe.data(o,e)):void 0},removeData:function(e){return this.each(function(){pe.removeData(this,e)})}}),pe.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=pe._data(e,t),n&&(!r||pe.isArray(n)?r=pe._data(e,t,pe.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=pe.queue(e,t),r=n.length,i=n.shift(),o=pe._queueHooks(e,t),a=function(){pe.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return pe._data(e,n)||pe._data(e,n,{empty:pe.Callbacks("once memory").add(function(){pe._removeData(e,t+"queue"),pe._removeData(e,n)})})}}),pe.fn.extend({queue:function(e,t){var n=2;return"string"!=typeof e&&(t=e,e="fx",n--),arguments.length
        a",fe.leadingWhitespace=3===e.firstChild.nodeType,fe.tbody=!e.getElementsByTagName("tbody").length,fe.htmlSerialize=!!e.getElementsByTagName("link").length,fe.html5Clone="<:nav>"!==re.createElement("nav").cloneNode(!0).outerHTML,n.type="checkbox",n.checked=!0,t.appendChild(n),fe.appendChecked=n.checked,e.innerHTML="",fe.noCloneChecked=!!e.cloneNode(!0).lastChild.defaultValue,t.appendChild(e),n=re.createElement("input"),n.setAttribute("type","radio"),n.setAttribute("checked","checked"),n.setAttribute("name","t"),e.appendChild(n),fe.checkClone=e.cloneNode(!0).cloneNode(!0).lastChild.checked,fe.noCloneEvent=!!e.addEventListener,e[pe.expando]=1,fe.attributes=!e.getAttribute(pe.expando)}();var Xe={option:[1,""],legend:[1,"
        ","
        "],area:[1,"",""],param:[1,"",""],thead:[1,"","
        "],tr:[2,"","
        "],col:[2,"","
        "],td:[3,"","
        "],_default:fe.htmlSerialize?[0,"",""]:[1,"X
        ","
        "]};Xe.optgroup=Xe.option,Xe.tbody=Xe.tfoot=Xe.colgroup=Xe.caption=Xe.thead,Xe.th=Xe.td;var Ue=/<|&#?\w+;/,Ve=/-1&&(h=p.split("."),p=h.shift(),h.sort()),a=p.indexOf(":")<0&&"on"+p,t=t[pe.expando]?t:new pe.Event(p,"object"==typeof t&&t),t.isTrigger=i?2:3,t.namespace=h.join("."),t.rnamespace=t.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,t.result=void 0,t.target||(t.target=r),n=null==n?[t]:pe.makeArray(n,[t]),l=pe.event.special[p]||{},i||!l.trigger||l.trigger.apply(r,n)!==!1)){if(!i&&!l.noBubble&&!pe.isWindow(r)){for(u=l.delegateType||p,Ke.test(u+p)||(s=s.parentNode);s;s=s.parentNode)d.push(s),c=s;c===(r.ownerDocument||re)&&d.push(c.defaultView||c.parentWindow||e)}for(f=0;(s=d[f++])&&!t.isPropagationStopped();)t.type=f>1?u:l.bindType||p,o=(pe._data(s,"events")||{})[t.type]&&pe._data(s,"handle"),o&&o.apply(s,n),o=a&&s[a],o&&o.apply&&He(s)&&(t.result=o.apply(s,n),t.result===!1&&t.preventDefault());if(t.type=p,!i&&!t.isDefaultPrevented()&&(!l._default||l._default.apply(d.pop(),n)===!1)&&He(r)&&a&&r[p]&&!pe.isWindow(r)){c=r[a],c&&(r[a]=null),pe.event.triggered=p;try{r[p]()}catch(g){}pe.event.triggered=void 0,c&&(r[a]=c)}return t.result}},dispatch:function(e){e=pe.event.fix(e);var t,n,r,i,o,a=[],s=ie.call(arguments),u=(pe._data(this,"events")||{})[e.type]||[],l=pe.event.special[e.type]||{};if(s[0]=e,e.delegateTarget=this,!l.preDispatch||l.preDispatch.call(this,e)!==!1){for(a=pe.event.handlers.call(this,e,u),t=0;(i=a[t++])&&!e.isPropagationStopped();)for(e.currentTarget=i.elem,n=0;(o=i.handlers[n++])&&!e.isImmediatePropagationStopped();)e.rnamespace&&!e.rnamespace.test(o.namespace)||(e.handleObj=o,e.data=o.data,r=((pe.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s),void 0!==r&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()));return l.postDispatch&&l.postDispatch.call(this,e),e.result}},handlers:function(e,t){var n,r,i,o,a=[],s=t.delegateCount,u=e.target;if(s&&u.nodeType&&("click"!==e.type||isNaN(e.button)||e.button<1))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(r=[],n=0;n-1:pe.find(i,this,null,[u]).length),r[i]&&r.push(o);r.length&&a.push({elem:u,handlers:r})}return s]","i"),tt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,nt=/\s*$/g,at=p(re),st=at.appendChild(re.createElement("div"));pe.extend({htmlPrefilter:function(e){return e.replace(tt,"<$1>")},clone:function(e,t,n){var r,i,o,a,s,u=pe.contains(e.ownerDocument,e);if(fe.html5Clone||pe.isXMLDoc(e)||!et.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(st.innerHTML=e.outerHTML,st.removeChild(o=st.firstChild)),!(fe.noCloneEvent&&fe.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||pe.isXMLDoc(e)))for(r=h(o),s=h(e),a=0;null!=(i=s[a]);++a)r[a]&&k(i,r[a]);if(t)if(n)for(s=s||h(e),r=r||h(o),a=0;null!=(i=s[a]);a++)N(i,r[a]);else N(e,o);return r=h(o,"script"),r.length>0&&g(r,!u&&h(e,"script")),r=s=i=null,o},cleanData:function(e,t){for(var n,r,i,o,a=0,s=pe.expando,u=pe.cache,l=fe.attributes,c=pe.event.special;null!=(n=e[a]);a++)if((t||He(n))&&(i=n[s],o=i&&u[i])){if(o.events)for(r in o.events)c[r]?pe.event.remove(n,r):pe.removeEvent(n,r,o.handle);u[i]&&(delete u[i],l||"undefined"==typeof n.removeAttribute?n[s]=void 0:n.removeAttribute(s),ne.push(i))}}}),pe.fn.extend({domManip:S,detach:function(e){return A(this,e,!0)},remove:function(e){return A(this,e)},text:function(e){return Pe(this,function(e){return void 0===e?pe.text(this):this.empty().append((this[0]&&this[0].ownerDocument||re).createTextNode(e))},null,e,arguments.length)},append:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.appendChild(e)}})},prepend:function(){return S(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=T(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return S(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++){for(1===e.nodeType&&pe.cleanData(h(e,!1));e.firstChild;)e.removeChild(e.firstChild);e.options&&pe.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return pe.clone(this,e,t)})},html:function(e){return Pe(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e)return 1===t.nodeType?t.innerHTML.replace(Ze,""):void 0;if("string"==typeof e&&!nt.test(e)&&(fe.htmlSerialize||!et.test(e))&&(fe.leadingWhitespace||!$e.test(e))&&!Xe[(We.exec(e)||["",""])[1].toLowerCase()]){e=pe.htmlPrefilter(e);try{for(;nt",t=l.getElementsByTagName("td"),t[0].style.cssText="margin:0;border:0;padding:0;display:none",o=0===t[0].offsetHeight,o&&(t[0].style.display="",t[1].style.display="none",o=0===t[0].offsetHeight)),f.removeChild(u)}var n,r,i,o,a,s,u=re.createElement("div"),l=re.createElement("div");l.style&&(l.style.cssText="float:left;opacity:.5",fe.opacity="0.5"===l.style.opacity,fe.cssFloat=!!l.style.cssFloat,l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",fe.clearCloneStyle="content-box"===l.style.backgroundClip,u=re.createElement("div"),u.style.cssText="border:0;width:8px;height:0;top:0;left:-9999px;padding:0;margin-top:1px;position:absolute",l.innerHTML="",u.appendChild(l),fe.boxSizing=""===l.style.boxSizing||""===l.style.MozBoxSizing||""===l.style.WebkitBoxSizing,pe.extend(fe,{reliableHiddenOffsets:function(){return null==n&&t(),o},boxSizingReliable:function(){return null==n&&t(),i},pixelMarginRight:function(){return null==n&&t(),r},pixelPosition:function(){return null==n&&t(),n},reliableMarginRight:function(){return null==n&&t(),a},reliableMarginLeft:function(){return null==n&&t(),s}}))}();var ht,gt,mt=/^(top|right|bottom|left)$/;e.getComputedStyle?(ht=function(t){var n=t.ownerDocument.defaultView;return n&&n.opener||(n=e),n.getComputedStyle(t)},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n.getPropertyValue(t)||n[t]:void 0,""!==a&&void 0!==a||pe.contains(e.ownerDocument,e)||(a=pe.style(e,t)),n&&!fe.pixelMarginRight()&&ft.test(a)&&ct.test(t)&&(r=s.width,i=s.minWidth,o=s.maxWidth,s.minWidth=s.maxWidth=s.width=a,a=n.width,s.width=r,s.minWidth=i,s.maxWidth=o),void 0===a?a:a+""}):pt.currentStyle&&(ht=function(e){return e.currentStyle},gt=function(e,t,n){var r,i,o,a,s=e.style;return n=n||ht(e),a=n?n[t]:void 0,null==a&&s&&s[t]&&(a=s[t]),ft.test(a)&&!mt.test(t)&&(r=s.left,i=e.runtimeStyle,o=i&&i.left,o&&(i.left=e.currentStyle.left),s.left="fontSize"===t?"1em":a,a=s.pixelLeft+"px",s.left=r,o&&(i.left=o)),void 0===a?a:a+""||"auto"});var yt=/alpha\([^)]*\)/i,vt=/opacity\s*=\s*([^)]*)/i,xt=/^(none|table(?!-c[ea]).+)/,bt=new RegExp("^("+Fe+")(.*)$","i"),wt={position:"absolute",visibility:"hidden",display:"block"},Tt={letterSpacing:"0",fontWeight:"400"},Ct=["Webkit","O","Moz","ms"],Et=re.createElement("div").style;pe.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=gt(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":fe.cssFloat?"cssFloat":"styleFloat"},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=pe.camelCase(t),u=e.style;if(t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:u[t];if(o=typeof n,"string"===o&&(i=Me.exec(n))&&i[1]&&(n=d(e,t,i),o="number"),null!=n&&n===n&&("number"===o&&(n+=i&&i[3]||(pe.cssNumber[s]?"":"px")),fe.clearCloneStyle||""!==n||0!==t.indexOf("background")||(u[t]="inherit"),!(a&&"set"in a&&void 0===(n=a.set(e,n,r)))))try{u[t]=n}catch(l){}}},css:function(e,t,n,r){var i,o,a,s=pe.camelCase(t);return t=pe.cssProps[s]||(pe.cssProps[s]=H(s)||s),a=pe.cssHooks[t]||pe.cssHooks[s],a&&"get"in a&&(o=a.get(e,!0,n)),void 0===o&&(o=gt(e,t,r)),"normal"===o&&t in Tt&&(o=Tt[t]),""===n||n?(i=parseFloat(o),n===!0||isFinite(i)?i||0:o):o}}),pe.each(["height","width"],function(e,t){pe.cssHooks[t]={get:function(e,n,r){if(n)return xt.test(pe.css(e,"display"))&&0===e.offsetWidth?dt(e,wt,function(){return M(e,t,r)}):M(e,t,r)},set:function(e,n,r){var i=r&&ht(e);return _(e,n,r?F(e,t,r,fe.boxSizing&&"border-box"===pe.css(e,"boxSizing",!1,i),i):0)}}}),fe.opacity||(pe.cssHooks.opacity={get:function(e,t){return vt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=pe.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===pe.trim(o.replace(yt,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=yt.test(o)?o.replace(yt,i):o+" "+i)}}),pe.cssHooks.marginRight=L(fe.reliableMarginRight,function(e,t){if(t)return dt(e,{display:"inline-block"},gt,[e,"marginRight"])}),pe.cssHooks.marginLeft=L(fe.reliableMarginLeft,function(e,t){if(t)return(parseFloat(gt(e,"marginLeft"))||(pe.contains(e.ownerDocument,e)?e.getBoundingClientRect().left-dt(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}):0))+"px"}),pe.each({margin:"",padding:"",border:"Width"},function(e,t){pe.cssHooks[e+t]={expand:function(n){for(var r=0,i={},o="string"==typeof n?n.split(" "):[n];r<4;r++)i[e+Oe[r]+t]=o[r]||o[r-2]||o[0];return i}},ct.test(e)||(pe.cssHooks[e+t].set=_)}),pe.fn.extend({css:function(e,t){return Pe(this,function(e,t,n){var r,i,o={},a=0;if(pe.isArray(t)){for(r=ht(e),i=t.length;a1)},show:function(){return q(this,!0)},hide:function(){return q(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){Re(this)?pe(this).show():pe(this).hide()})}}),pe.Tween=O,O.prototype={constructor:O,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||pe.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(pe.cssNumber[n]?"":"px")},cur:function(){var e=O.propHooks[this.prop];return e&&e.get?e.get(this):O.propHooks._default.get(this)},run:function(e){var t,n=O.propHooks[this.prop];return this.options.duration?this.pos=t=pe.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):O.propHooks._default.set(this),this}},O.prototype.init.prototype=O.prototype,O.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=pe.css(e.elem,e.prop,""),t&&"auto"!==t?t:0)},set:function(e){pe.fx.step[e.prop]?pe.fx.step[e.prop](e):1!==e.elem.nodeType||null==e.elem.style[pe.cssProps[e.prop]]&&!pe.cssHooks[e.prop]?e.elem[e.prop]=e.now:pe.style(e.elem,e.prop,e.now+e.unit)}}},O.propHooks.scrollTop=O.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},pe.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},pe.fx=O.prototype.init,pe.fx.step={};var Nt,kt,St=/^(?:toggle|show|hide)$/,At=/queueHooks$/;pe.Animation=pe.extend($,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return d(n.elem,e,Me.exec(t),n),n}]},tweener:function(e,t){pe.isFunction(e)?(t=e,e=["*"]):e=e.match(De);for(var n,r=0,i=e.length;r
        a",e=n.getElementsByTagName("a")[0],t.setAttribute("type","checkbox"),n.appendChild(t),e=n.getElementsByTagName("a")[0],e.style.cssText="top:1px",fe.getSetAttribute="t"!==n.className,fe.style=/top/.test(e.getAttribute("style")),fe.hrefNormalized="/a"===e.getAttribute("href"),fe.checkOn=!!t.value,fe.optSelected=i.selected,fe.enctype=!!re.createElement("form").enctype,r.disabled=!0,fe.optDisabled=!i.disabled,t=re.createElement("input"),t.setAttribute("value",""),fe.input=""===t.getAttribute("value"),t.value="t",t.setAttribute("type","radio"),fe.radioValue="t"===t.value}();var Dt=/\r/g,jt=/[\x20\t\r\n\f]+/g;pe.fn.extend({val:function(e){var t,n,r,i=this[0];{if(arguments.length)return r=pe.isFunction(e),this.each(function(n){var i;1===this.nodeType&&(i=r?e.call(this,n,pe(this).val()):e,null==i?i="":"number"==typeof i?i+="":pe.isArray(i)&&(i=pe.map(i,function(e){return null==e?"":e+""})),t=pe.valHooks[this.type]||pe.valHooks[this.nodeName.toLowerCase()],t&&"set"in t&&void 0!==t.set(this,i,"value")||(this.value=i))});if(i)return t=pe.valHooks[i.type]||pe.valHooks[i.nodeName.toLowerCase()],t&&"get"in t&&void 0!==(n=t.get(i,"value"))?n:(n=i.value,"string"==typeof n?n.replace(Dt,""):null==n?"":n)}}}),pe.extend({valHooks:{option:{get:function(e){var t=pe.find.attr(e,"value");return null!=t?t:pe.trim(pe.text(e)).replace(jt," ")}},select:{get:function(e){for(var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||i<0,a=o?null:[],s=o?i+1:r.length,u=i<0?s:o?i:0;u-1)try{r.selected=n=!0}catch(s){r.scrollHeight}else r.selected=!1;return n||(e.selectedIndex=-1),i}}}}),pe.each(["radio","checkbox"],function(){pe.valHooks[this]={set:function(e,t){if(pe.isArray(t))return e.checked=pe.inArray(pe(e).val(),t)>-1}},fe.checkOn||(pe.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Lt,Ht,qt=pe.expr.attrHandle,_t=/^(?:checked|selected)$/i,Ft=fe.getSetAttribute,Mt=fe.input;pe.fn.extend({attr:function(e,t){return Pe(this,pe.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){pe.removeAttr(this,e)})}}),pe.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?pe.prop(e,t,n):(1===o&&pe.isXMLDoc(e)||(t=t.toLowerCase(),i=pe.attrHooks[t]||(pe.expr.match.bool.test(t)?Ht:Lt)),void 0!==n?null===n?void pe.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:(r=pe.find.attr(e,t),null==r?void 0:r))},attrHooks:{type:{set:function(e,t){if(!fe.radioValue&&"radio"===t&&pe.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(De);if(o&&1===e.nodeType)for(;n=o[i++];)r=pe.propFix[n]||n,pe.expr.match.bool.test(n)?Mt&&Ft||!_t.test(n)?e[r]=!1:e[pe.camelCase("default-"+n)]=e[r]=!1:pe.attr(e,n,""),e.removeAttribute(Ft?n:r)}}),Ht={set:function(e,t,n){return t===!1?pe.removeAttr(e,n):Mt&&Ft||!_t.test(n)?e.setAttribute(!Ft&&pe.propFix[n]||n,n):e[pe.camelCase("default-"+n)]=e[n]=!0,n}},pe.each(pe.expr.match.bool.source.match(/\w+/g),function(e,t){var n=qt[t]||pe.find.attr;Mt&&Ft||!_t.test(t)?qt[t]=function(e,t,r){var i,o;return r||(o=qt[t],qt[t]=i,i=null!=n(e,t,r)?t.toLowerCase():null,qt[t]=o),i}:qt[t]=function(e,t,n){if(!n)return e[pe.camelCase("default-"+t)]?t.toLowerCase():null}}),Mt&&Ft||(pe.attrHooks.value={set:function(e,t,n){return pe.nodeName(e,"input")?void(e.defaultValue=t):Lt&&Lt.set(e,t,n)}}),Ft||(Lt={set:function(e,t,n){var r=e.getAttributeNode(n);if(r||e.setAttributeNode(r=e.ownerDocument.createAttribute(n)),r.value=t+="","value"===n||t===e.getAttribute(n))return t}},qt.id=qt.name=qt.coords=function(e,t,n){var r;if(!n)return(r=e.getAttributeNode(t))&&""!==r.value?r.value:null},pe.valHooks.button={get:function(e,t){var n=e.getAttributeNode(t);if(n&&n.specified)return n.value},set:Lt.set},pe.attrHooks.contenteditable={set:function(e,t,n){Lt.set(e,""!==t&&t,n)}},pe.each(["width","height"],function(e,t){pe.attrHooks[t]={set:function(e,n){if(""===n)return e.setAttribute(t,"auto"),n}}})),fe.style||(pe.attrHooks.style={get:function(e){return e.style.cssText||void 0},set:function(e,t){return e.style.cssText=t+""}});var Ot=/^(?:input|select|textarea|button|object)$/i,Rt=/^(?:a|area)$/i;pe.fn.extend({prop:function(e,t){return Pe(this,pe.prop,e,t,arguments.length>1)},removeProp:function(e){return e=pe.propFix[e]||e,this.each(function(){try{this[e]=void 0,delete this[e]}catch(t){}})}}),pe.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&pe.isXMLDoc(e)||(t=pe.propFix[t]||t,i=pe.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=pe.find.attr(e,"tabindex");return t?parseInt(t,10):Ot.test(e.nodeName)||Rt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),fe.hrefNormalized||pe.each(["href","src"],function(e,t){pe.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),fe.optSelected||(pe.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),pe.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){pe.propFix[this.toLowerCase()]=this}),fe.enctype||(pe.propFix.enctype="encoding");var Pt=/[\t\r\n\f]/g;pe.fn.extend({addClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).addClass(e.call(this,t,z(this)))});if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)r.indexOf(" "+o+" ")<0&&(r+=o+" ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},removeClass:function(e){var t,n,r,i,o,a,s,u=0;if(pe.isFunction(e))return this.each(function(t){pe(this).removeClass(e.call(this,t,z(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof e&&e)for(t=e.match(De)||[];n=this[u++];)if(i=z(n),r=1===n.nodeType&&(" "+i+" ").replace(Pt," ")){for(a=0;o=t[a++];)for(;r.indexOf(" "+o+" ")>-1;)r=r.replace(" "+o+" "," ");s=pe.trim(r),i!==s&&pe.attr(n,"class",s)}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):pe.isFunction(e)?this.each(function(n){pe(this).toggleClass(e.call(this,n,z(this),t),t)}):this.each(function(){var t,r,i,o;if("string"===n)for(r=0,i=pe(this),o=e.match(De)||[];t=o[r++];)i.hasClass(t)?i.removeClass(t):i.addClass(t);else void 0!==e&&"boolean"!==n||(t=z(this),t&&pe._data(this,"__className__",t),pe.attr(this,"class",t||e===!1?"":pe._data(this,"__className__")||""))})},hasClass:function(e){var t,n,r=0;for(t=" "+e+" ";n=this[r++];)if(1===n.nodeType&&(" "+z(n)+" ").replace(Pt," ").indexOf(t)>-1)return!0;return!1}}),pe.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 contextmenu".split(" "),function(e,t){pe.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),pe.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}});var Bt=e.location,Wt=pe.now(),It=/\?/,$t=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;pe.parseJSON=function(t){if(e.JSON&&e.JSON.parse)return e.JSON.parse(t+"");var n,r=null,i=pe.trim(t+"");return i&&!pe.trim(i.replace($t,function(e,t,i,o){return n&&t&&(r=0),0===r?e:(n=i||t,r+=!o-!i,"")}))?Function("return "+i)():pe.error("Invalid JSON: "+t)},pe.parseXML=function(t){var n,r;if(!t||"string"!=typeof t)return null;try{e.DOMParser?(r=new e.DOMParser,n=r.parseFromString(t,"text/xml")):(n=new e.ActiveXObject("Microsoft.XMLDOM"),n.async="false",n.loadXML(t))}catch(i){n=void 0}return n&&n.documentElement&&!n.getElementsByTagName("parsererror").length||pe.error("Invalid XML: "+t),n};var zt=/#.*$/,Xt=/([?&])_=[^&]*/,Ut=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Vt=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Yt=/^(?:GET|HEAD)$/,Jt=/^\/\//,Gt=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,Kt={},Qt={},Zt="*/".concat("*"),en=Bt.href,tn=Gt.exec(en.toLowerCase())||[];pe.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:en,type:"GET",isLocal:Vt.test(tn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":pe.parseJSON,"text xml":pe.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?V(V(e,pe.ajaxSettings),t):V(pe.ajaxSettings,e)},ajaxPrefilter:X(Kt),ajaxTransport:X(Qt),ajax:function(t,n){function r(t,n,r,i){var o,f,v,x,w,C=n;2!==b&&(b=2,u&&e.clearTimeout(u),c=void 0,s=i||"",T.readyState=t>0?4:0,o=t>=200&&t<300||304===t,r&&(x=Y(d,T,r)),x=J(d,x,T,o),o?(d.ifModified&&(w=T.getResponseHeader("Last-Modified"),w&&(pe.lastModified[a]=w),w=T.getResponseHeader("etag"),w&&(pe.etag[a]=w)),204===t||"HEAD"===d.type?C="nocontent":304===t?C="notmodified":(C=x.state,f=x.data,v=x.error,o=!v)):(v=C,!t&&C||(C="error",t<0&&(t=0))),T.status=t,T.statusText=(n||C)+"",o?g.resolveWith(p,[f,C,T]):g.rejectWith(p,[T,C,v]),T.statusCode(y),y=void 0,l&&h.trigger(o?"ajaxSuccess":"ajaxError",[T,d,o?f:v]),m.fireWith(p,[T,C]),l&&(h.trigger("ajaxComplete",[T,d]),--pe.active||pe.event.trigger("ajaxStop")))}"object"==typeof t&&(n=t,t=void 0),n=n||{};var i,o,a,s,u,l,c,f,d=pe.ajaxSetup({},n),p=d.context||d,h=d.context&&(p.nodeType||p.jquery)?pe(p):pe.event,g=pe.Deferred(),m=pe.Callbacks("once memory"),y=d.statusCode||{},v={},x={},b=0,w="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!f)for(f={};t=Ut.exec(s);)f[t[1].toLowerCase()]=t[2];t=f[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?s:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=x[n]=x[n]||e,v[e]=t),this},overrideMimeType:function(e){return b||(d.mimeType=e),this},statusCode:function(e){var t;if(e)if(b<2)for(t in e)y[t]=[y[t],e[t]];else T.always(e[T.status]);return this},abort:function(e){var t=e||w;return c&&c.abort(t),r(0,t),this}};if(g.promise(T).complete=m.add,T.success=T.done,T.error=T.fail,d.url=((t||d.url||en)+"").replace(zt,"").replace(Jt,tn[1]+"//"),d.type=n.method||n.type||d.method||d.type,d.dataTypes=pe.trim(d.dataType||"*").toLowerCase().match(De)||[""],null==d.crossDomain&&(i=Gt.exec(d.url.toLowerCase()),d.crossDomain=!(!i||i[1]===tn[1]&&i[2]===tn[2]&&(i[3]||("http:"===i[1]?"80":"443"))===(tn[3]||("http:"===tn[1]?"80":"443")))),d.data&&d.processData&&"string"!=typeof d.data&&(d.data=pe.param(d.data,d.traditional)),U(Kt,d,n,T),2===b)return T;l=pe.event&&d.global,l&&0===pe.active++&&pe.event.trigger("ajaxStart"),d.type=d.type.toUpperCase(),d.hasContent=!Yt.test(d.type),a=d.url,d.hasContent||(d.data&&(a=d.url+=(It.test(a)?"&":"?")+d.data,delete d.data),d.cache===!1&&(d.url=Xt.test(a)?a.replace(Xt,"$1_="+Wt++):a+(It.test(a)?"&":"?")+"_="+Wt++)),d.ifModified&&(pe.lastModified[a]&&T.setRequestHeader("If-Modified-Since",pe.lastModified[a]),pe.etag[a]&&T.setRequestHeader("If-None-Match",pe.etag[a])),(d.data&&d.hasContent&&d.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",d.contentType),T.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+("*"!==d.dataTypes[0]?", "+Zt+"; q=0.01":""):d.accepts["*"]);for(o in d.headers)T.setRequestHeader(o,d.headers[o]);if(d.beforeSend&&(d.beforeSend.call(p,T,d)===!1||2===b))return T.abort();w="abort";for(o in{success:1,error:1,complete:1})T[o](d[o]);if(c=U(Qt,d,n,T)){if(T.readyState=1,l&&h.trigger("ajaxSend",[T,d]),2===b)return T;d.async&&d.timeout>0&&(u=e.setTimeout(function(){T.abort("timeout")},d.timeout));try{b=1,c.send(v,r)}catch(C){if(!(b<2))throw C;r(-1,C)}}else r(-1,"No Transport");return T},getJSON:function(e,t,n){return pe.get(e,t,n,"json")},getScript:function(e,t){return pe.get(e,void 0,t,"script")}}),pe.each(["get","post"],function(e,t){pe[t]=function(e,n,r,i){return pe.isFunction(n)&&(i=i||r,r=n,n=void 0),pe.ajax(pe.extend({url:e,type:t,dataType:i,data:n,success:r},pe.isPlainObject(e)&&e))}}),pe._evalUrl=function(e){return pe.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},pe.fn.extend({wrapAll:function(e){if(pe.isFunction(e))return this.each(function(t){pe(this).wrapAll(e.call(this,t))});if(this[0]){var t=pe(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){for(var e=this;e.firstChild&&1===e.firstChild.nodeType;)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return pe.isFunction(e)?this.each(function(t){pe(this).wrapInner(e.call(this,t))}):this.each(function(){var t=pe(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=pe.isFunction(e);return this.each(function(n){pe(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){pe.nodeName(this,"body")||pe(this).replaceWith(this.childNodes)}).end()}}),pe.expr.filters.hidden=function(e){return fe.reliableHiddenOffsets()?e.offsetWidth<=0&&e.offsetHeight<=0&&!e.getClientRects().length:K(e)},pe.expr.filters.visible=function(e){return!pe.expr.filters.hidden(e)};var nn=/%20/g,rn=/\[\]$/,on=/\r?\n/g,an=/^(?:submit|button|image|reset|file)$/i,sn=/^(?:input|select|textarea|keygen)/i;pe.param=function(e,t){var n,r=[],i=function(e,t){t=pe.isFunction(t)?t():null==t?"":t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(void 0===t&&(t=pe.ajaxSettings&&pe.ajaxSettings.traditional),pe.isArray(e)||e.jquery&&!pe.isPlainObject(e))pe.each(e,function(){i(this.name,this.value)});else for(n in e)Q(n,e[n],t,i);return r.join("&").replace(nn,"+")},pe.fn.extend({serialize:function(){return pe.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=pe.prop(this,"elements");return e?pe.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!pe(this).is(":disabled")&&sn.test(this.nodeName)&&!an.test(e)&&(this.checked||!Be.test(e))}).map(function(e,t){var n=pe(this).val();return null==n?null:pe.isArray(n)?pe.map(n,function(e){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),pe.ajaxSettings.xhr=void 0!==e.ActiveXObject?function(){return this.isLocal?ee():re.documentMode>8?Z():/^(get|post|head|put|delete|options)$/i.test(this.type)&&Z()||ee()}:Z;var un=0,ln={},cn=pe.ajaxSettings.xhr();e.attachEvent&&e.attachEvent("onunload",function(){for(var e in ln)ln[e](void 0,!0)}),fe.cors=!!cn&&"withCredentials"in cn,cn=fe.ajax=!!cn,cn&&pe.ajaxTransport(function(t){if(!t.crossDomain||fe.cors){var n;return{send:function(r,i){var o,a=t.xhr(),s=++un;if(a.open(t.type,t.url,t.async,t.username,t.password),t.xhrFields)for(o in t.xhrFields)a[o]=t.xhrFields[o];t.mimeType&&a.overrideMimeType&&a.overrideMimeType(t.mimeType),t.crossDomain||r["X-Requested-With"]||(r["X-Requested-With"]="XMLHttpRequest");for(o in r)void 0!==r[o]&&a.setRequestHeader(o,r[o]+"");a.send(t.hasContent&&t.data||null),n=function(e,r){var o,u,l;if(n&&(r||4===a.readyState))if(delete ln[s],n=void 0,a.onreadystatechange=pe.noop,r)4!==a.readyState&&a.abort();else{l={},o=a.status,"string"==typeof a.responseText&&(l.text=a.responseText);try{u=a.statusText}catch(c){u=""}o||!t.isLocal||t.crossDomain?1223===o&&(o=204):o=l.text?200:404}l&&i(o,u,l,a.getAllResponseHeaders())},t.async?4===a.readyState?e.setTimeout(n):a.onreadystatechange=ln[s]=n:n()},abort:function(){n&&n(void 0,!0)}}}}),pe.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return pe.globalEval(e),e}}}),pe.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),pe.ajaxTransport("script",function(e){if(e.crossDomain){var t,n=re.head||pe("head")[0]||re.documentElement;return{send:function(r,i){t=re.createElement("script"),t.async=!0,e.scriptCharset&&(t.charset=e.scriptCharset),t.src=e.url,t.onload=t.onreadystatechange=function(e,n){(n||!t.readyState||/loaded|complete/.test(t.readyState))&&(t.onload=t.onreadystatechange=null,t.parentNode&&t.parentNode.removeChild(t),t=null,n||i(200,"success"))},n.insertBefore(t,n.firstChild)},abort:function(){t&&t.onload(void 0,!0)}}}});var fn=[],dn=/(=)\?(?=&|$)|\?\?/;pe.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=fn.pop()||pe.expando+"_"+Wt++;return this[e]=!0,e}}),pe.ajaxPrefilter("json jsonp",function(t,n,r){var i,o,a,s=t.jsonp!==!1&&(dn.test(t.url)?"url":"string"==typeof t.data&&0===(t.contentType||"").indexOf("application/x-www-form-urlencoded")&&dn.test(t.data)&&"data");if(s||"jsonp"===t.dataTypes[0])return i=t.jsonpCallback=pe.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,s?t[s]=t[s].replace(dn,"$1"+i):t.jsonp!==!1&&(t.url+=(It.test(t.url)?"&":"?")+t.jsonp+"="+i),t.converters["script json"]=function(){return a||pe.error(i+" was not called"),a[0]},t.dataTypes[0]="json",o=e[i],e[i]=function(){a=arguments},r.always(function(){void 0===o?pe(e).removeProp(i):e[i]=o,t[i]&&(t.jsonpCallback=n.jsonpCallback,fn.push(i)),a&&pe.isFunction(o)&&o(a[0]),a=o=void 0}),"script"}),pe.parseHTML=function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||re;var r=Te.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=y([e],t,i),i&&i.length&&pe(i).remove(),pe.merge([],r.childNodes))};var pn=pe.fn.load;return pe.fn.load=function(e,t,n){if("string"!=typeof e&&pn)return pn.apply(this,arguments);var r,i,o,a=this,s=e.indexOf(" ");return s>-1&&(r=pe.trim(e.slice(s,e.length)),e=e.slice(0,s)),pe.isFunction(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),a.length>0&&pe.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?pe("
        ").append(pe.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},pe.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){pe.fn[t]=function(e){return this.on(t,e)}}),pe.expr.filters.animated=function(e){return pe.grep(pe.timers,function(t){return e===t.elem}).length},pe.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l,c=pe.css(e,"position"),f=pe(e),d={};"static"===c&&(e.style.position="relative"),s=f.offset(),o=pe.css(e,"top"),u=pe.css(e,"left"),l=("absolute"===c||"fixed"===c)&&pe.inArray("auto",[o,u])>-1,l?(r=f.position(),a=r.top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),pe.isFunction(t)&&(t=t.call(e,n,pe.extend({},s))),null!=t.top&&(d.top=t.top-s.top+a),null!=t.left&&(d.left=t.left-s.left+i),"using"in t?t.using.call(e,d):f.css(d)}},pe.fn.extend({offset:function(e){if(arguments.length)return void 0===e?this:this.each(function(t){pe.offset.setOffset(this,e,t)});var t,n,r={top:0,left:0},i=this[0],o=i&&i.ownerDocument;if(o)return t=o.documentElement,pe.contains(t,i)?("undefined"!=typeof i.getBoundingClientRect&&(r=i.getBoundingClientRect()),n=te(o),{top:r.top+(n.pageYOffset||t.scrollTop)-(t.clientTop||0),left:r.left+(n.pageXOffset||t.scrollLeft)-(t.clientLeft||0)}):r},position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===pe.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),pe.nodeName(e[0],"html")||(n=e.offset()),n.top+=pe.css(e[0],"borderTopWidth",!0),n.left+=pe.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-pe.css(r,"marginTop",!0),left:t.left-n.left-pe.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){ -for(var e=this.offsetParent;e&&!pe.nodeName(e,"html")&&"static"===pe.css(e,"position");)e=e.offsetParent;return e||pt})}}),pe.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,t){var n=/Y/.test(t);pe.fn[e]=function(r){return Pe(this,function(e,r,i){var o=te(e);return void 0===i?o?t in o?o[t]:o.document.documentElement[r]:e[r]:void(o?o.scrollTo(n?pe(o).scrollLeft():i,n?i:pe(o).scrollTop()):e[r]=i)},e,r,arguments.length,null)}}),pe.each(["top","left"],function(e,t){pe.cssHooks[t]=L(fe.pixelPosition,function(e,n){if(n)return n=gt(e,t),ft.test(n)?pe(e).position()[t]+"px":n})}),pe.each({Height:"height",Width:"width"},function(e,t){pe.each({padding:"inner"+e,content:t,"":"outer"+e},function(n,r){pe.fn[r]=function(r,i){var o=arguments.length&&(n||"boolean"!=typeof r),a=n||(r===!0||i===!0?"margin":"border");return Pe(this,function(t,n,r){var i;return pe.isWindow(t)?t.document.documentElement["client"+e]:9===t.nodeType?(i=t.documentElement,Math.max(t.body["scroll"+e],i["scroll"+e],t.body["offset"+e],i["offset"+e],i["client"+e])):void 0===r?pe.css(t,n,a):pe.style(t,n,r,a)},t,o?r:void 0,o,null)}})}),pe.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}}),pe.fn.size=function(){return this.length},pe.fn.andSelf=pe.fn.addBack,layui.define(function(e){layui.$=pe,e("jquery",pe)}),pe});!function(e,t){"use strict";var i,n,a=e.layui&&layui.define,o={getPath:function(){var e=document.currentScript?document.currentScript.src:function(){for(var e,t=document.scripts,i=t.length-1,n=i;n>0;n--)if("interactive"===t[n].readyState){e=t[n].src;break}return e||t[i].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),config:{},end:{},minIndex:0,minLeft:[],btn:["确定","取消"],type:["dialog","page","iframe","loading","tips"],getStyle:function(t,i){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](i)},link:function(t,i,n){if(r.path){var a=document.getElementsByTagName("head")[0],s=document.createElement("link");"string"==typeof i&&(n=i);var l=(n||t).replace(/\.|\//g,""),f="layuicss-"+l,c=0;s.rel="stylesheet",s.href=r.path+t,s.id=f,document.getElementById(f)||a.appendChild(s),"function"==typeof i&&!function u(){return++c>80?e.console&&console.error("layer.css: Invalid"):void(1989===parseInt(o.getStyle(document.getElementById(f),"width"))?i():setTimeout(u,100))}()}}},r={v:"3.1.1",ie:function(){var t=navigator.userAgent.toLowerCase();return!!(e.ActiveXObject||"ActiveXObject"in e)&&((t.match(/msie\s(\d+)/)||[])[1]||"11")}(),index:e.layer&&e.layer.v?1e5:0,path:o.getPath,config:function(e,t){return e=e||{},r.cache=o.config=i.extend({},o.config,e),r.path=o.config.path||r.path,"string"==typeof e.extend&&(e.extend=[e.extend]),o.config.path&&r.ready(),e.extend?(a?layui.addcss("modules/layer/"+e.extend):o.link("theme/"+e.extend),this):this},ready:function(e){var t="layer",i="",n=(a?"modules/layer/":"theme/")+"default/layer.css?v="+r.v+i;return a?layui.addcss(n,e,t):o.link(n,e,t),this},alert:function(e,t,n){var a="function"==typeof t;return a&&(n=t),r.open(i.extend({content:e,yes:n},a?{}:t))},confirm:function(e,t,n,a){var s="function"==typeof t;return s&&(a=n,n=t),r.open(i.extend({content:e,btn:o.btn,yes:n,btn2:a},s?{}:t))},msg:function(e,n,a){var s="function"==typeof n,f=o.config.skin,c=(f?f+" "+f+"-msg":"")||"layui-layer-msg",u=l.anim.length-1;return s&&(a=n),r.open(i.extend({content:e,time:3e3,shade:!1,skin:c,title:!1,closeBtn:!1,btn:!1,resize:!1,end:a},s&&!o.config.skin?{skin:c+" layui-layer-hui",anim:u}:function(){return n=n||{},(n.icon===-1||n.icon===t&&!o.config.skin)&&(n.skin=c+" "+(n.skin||"layui-layer-hui")),n}()))},load:function(e,t){return r.open(i.extend({type:3,icon:e||0,resize:!1,shade:.01},t))},tips:function(e,t,n){return r.open(i.extend({type:4,content:[e,t],closeBtn:!1,time:3e3,shade:!1,resize:!1,fixed:!1,maxWidth:210},n))}},s=function(e){var t=this;t.index=++r.index,t.config=i.extend({},t.config,o.config,e),document.body?t.creat():setTimeout(function(){t.creat()},30)};s.pt=s.prototype;var l=["layui-layer",".layui-layer-title",".layui-layer-main",".layui-layer-dialog","layui-layer-iframe","layui-layer-content","layui-layer-btn","layui-layer-close"];l.anim=["layer-anim-00","layer-anim-01","layer-anim-02","layer-anim-03","layer-anim-04","layer-anim-05","layer-anim-06"],s.pt.config={type:0,shade:.3,fixed:!0,move:l[1],title:"信息",offset:"auto",area:"auto",closeBtn:1,time:0,zIndex:19891014,maxWidth:360,anim:0,isOutAnim:!0,icon:-1,moveType:1,resize:!0,scrollbar:!0,tips:2},s.pt.vessel=function(e,t){var n=this,a=n.index,r=n.config,s=r.zIndex+a,f="object"==typeof r.title,c=r.maxmin&&(1===r.type||2===r.type),u=r.title?'
        '+(f?r.title[0]:r.title)+"
        ":"";return r.zIndex=s,t([r.shade?'
        ':"",'
        '+(e&&2!=r.type?"":u)+'
        '+(0==r.type&&r.icon!==-1?'':"")+(1==r.type&&e?"":r.content||"")+'
        '+function(){var e=c?'':"";return r.closeBtn&&(e+=''),e}()+""+(r.btn?function(){var e="";"string"==typeof r.btn&&(r.btn=[r.btn]);for(var t=0,i=r.btn.length;t'+r.btn[t]+"";return'
        '+e+"
        "}():"")+(r.resize?'':"")+"
        "],u,i('
        ')),n},s.pt.creat=function(){var e=this,t=e.config,a=e.index,s=t.content,f="object"==typeof s,c=i("body");if(!t.id||!i("#"+t.id)[0]){switch("string"==typeof t.area&&(t.area="auto"===t.area?["",""]:[t.area,""]),t.shift&&(t.anim=t.shift),6==r.ie&&(t.fixed=!1),t.type){case 0:t.btn="btn"in t?t.btn:o.btn[0],r.closeAll("dialog");break;case 2:var s=t.content=f?t.content:[t.content||"","auto"];t.content='';break;case 3:delete t.title,delete t.closeBtn,t.icon===-1&&0===t.icon,r.closeAll("loading");break;case 4:f||(t.content=[t.content,"body"]),t.follow=t.content[1],t.content=t.content[0]+'',delete t.title,t.tips="object"==typeof t.tips?t.tips:[t.tips,!0],t.tipsMore||r.closeAll("tips")}if(e.vessel(f,function(n,r,u){c.append(n[0]),f?function(){2==t.type||4==t.type?function(){i("body").append(n[1])}():function(){s.parents("."+l[0])[0]||(s.data("display",s.css("display")).show().addClass("layui-layer-wrap").wrap(n[1]),i("#"+l[0]+a).find("."+l[5]).before(r))}()}():c.append(n[1]),i(".layui-layer-move")[0]||c.append(o.moveElem=u),e.layero=i("#"+l[0]+a),t.scrollbar||l.html.css("overflow","hidden").attr("layer-full",a)}).auto(a),i("#layui-layer-shade"+e.index).css({"background-color":t.shade[1]||"#000",opacity:t.shade[0]||t.shade}),2==t.type&&6==r.ie&&e.layero.find("iframe").attr("src",s[0]),4==t.type?e.tips():e.offset(),t.fixed&&n.on("resize",function(){e.offset(),(/^\d+%$/.test(t.area[0])||/^\d+%$/.test(t.area[1]))&&e.auto(a),4==t.type&&e.tips()}),t.time<=0||setTimeout(function(){r.close(e.index)},t.time),e.move().callback(),l.anim[t.anim]){var u="layer-anim "+l.anim[t.anim];e.layero.addClass(u).one("webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend",function(){i(this).removeClass(u)})}t.isOutAnim&&e.layero.data("isOutAnim",!0)}},s.pt.auto=function(e){var t=this,a=t.config,o=i("#"+l[0]+e);""===a.area[0]&&a.maxWidth>0&&(r.ie&&r.ie<8&&a.btn&&o.width(o.innerWidth()),o.outerWidth()>a.maxWidth&&o.width(a.maxWidth));var s=[o.innerWidth(),o.innerHeight()],f=o.find(l[1]).outerHeight()||0,c=o.find("."+l[6]).outerHeight()||0,u=function(e){e=o.find(e),e.height(s[1]-f-c-2*(0|parseFloat(e.css("padding-top"))))};switch(a.type){case 2:u("iframe");break;default:""===a.area[1]?a.maxHeight>0&&o.outerHeight()>a.maxHeight?(s[1]=a.maxHeight,u("."+l[5])):a.fixed&&s[1]>=n.height()&&(s[1]=n.height(),u("."+l[5])):u("."+l[5])}return t},s.pt.offset=function(){var e=this,t=e.config,i=e.layero,a=[i.outerWidth(),i.outerHeight()],o="object"==typeof t.offset;e.offsetTop=(n.height()-a[1])/2,e.offsetLeft=(n.width()-a[0])/2,o?(e.offsetTop=t.offset[0],e.offsetLeft=t.offset[1]||e.offsetLeft):"auto"!==t.offset&&("t"===t.offset?e.offsetTop=0:"r"===t.offset?e.offsetLeft=n.width()-a[0]:"b"===t.offset?e.offsetTop=n.height()-a[1]:"l"===t.offset?e.offsetLeft=0:"lt"===t.offset?(e.offsetTop=0,e.offsetLeft=0):"lb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=0):"rt"===t.offset?(e.offsetTop=0,e.offsetLeft=n.width()-a[0]):"rb"===t.offset?(e.offsetTop=n.height()-a[1],e.offsetLeft=n.width()-a[0]):e.offsetTop=t.offset),t.fixed||(e.offsetTop=/%$/.test(e.offsetTop)?n.height()*parseFloat(e.offsetTop)/100:parseFloat(e.offsetTop),e.offsetLeft=/%$/.test(e.offsetLeft)?n.width()*parseFloat(e.offsetLeft)/100:parseFloat(e.offsetLeft),e.offsetTop+=n.scrollTop(),e.offsetLeft+=n.scrollLeft()),i.attr("minLeft")&&(e.offsetTop=n.height()-(i.find(l[1]).outerHeight()||0),e.offsetLeft=i.css("left")),i.css({top:e.offsetTop,left:e.offsetLeft})},s.pt.tips=function(){var e=this,t=e.config,a=e.layero,o=[a.outerWidth(),a.outerHeight()],r=i(t.follow);r[0]||(r=i("body"));var s={width:r.outerWidth(),height:r.outerHeight(),top:r.offset().top,left:r.offset().left},f=a.find(".layui-layer-TipsG"),c=t.tips[0];t.tips[1]||f.remove(),s.autoLeft=function(){s.left+o[0]-n.width()>0?(s.tipLeft=s.left+s.width-o[0],f.css({right:12,left:"auto"})):s.tipLeft=s.left},s.where=[function(){s.autoLeft(),s.tipTop=s.top-o[1]-10,f.removeClass("layui-layer-TipsB").addClass("layui-layer-TipsT").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left+s.width+10,s.tipTop=s.top,f.removeClass("layui-layer-TipsL").addClass("layui-layer-TipsR").css("border-bottom-color",t.tips[1])},function(){s.autoLeft(),s.tipTop=s.top+s.height+10,f.removeClass("layui-layer-TipsT").addClass("layui-layer-TipsB").css("border-right-color",t.tips[1])},function(){s.tipLeft=s.left-o[0]-10,s.tipTop=s.top,f.removeClass("layui-layer-TipsR").addClass("layui-layer-TipsL").css("border-bottom-color",t.tips[1])}],s.where[c-1](),1===c?s.top-(n.scrollTop()+o[1]+16)<0&&s.where[2]():2===c?n.width()-(s.left+s.width+o[0]+16)>0||s.where[3]():3===c?s.top-n.scrollTop()+s.height+o[1]+16-n.height()>0&&s.where[0]():4===c&&o[0]+16-s.left>0&&s.where[1](),a.find("."+l[5]).css({"background-color":t.tips[1],"padding-right":t.closeBtn?"30px":""}),a.css({left:s.tipLeft-(t.fixed?n.scrollLeft():0),top:s.tipTop-(t.fixed?n.scrollTop():0)})},s.pt.move=function(){var e=this,t=e.config,a=i(document),s=e.layero,l=s.find(t.move),f=s.find(".layui-layer-resize"),c={};return t.move&&l.css("cursor","move"),l.on("mousedown",function(e){e.preventDefault(),t.move&&(c.moveStart=!0,c.offset=[e.clientX-parseFloat(s.css("left")),e.clientY-parseFloat(s.css("top"))],o.moveElem.css("cursor","move").show())}),f.on("mousedown",function(e){e.preventDefault(),c.resizeStart=!0,c.offset=[e.clientX,e.clientY],c.area=[s.outerWidth(),s.outerHeight()],o.moveElem.css("cursor","se-resize").show()}),a.on("mousemove",function(i){if(c.moveStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1],l="fixed"===s.css("position");if(i.preventDefault(),c.stX=l?0:n.scrollLeft(),c.stY=l?0:n.scrollTop(),!t.moveOut){var f=n.width()-s.outerWidth()+c.stX,u=n.height()-s.outerHeight()+c.stY;af&&(a=f),ou&&(o=u)}s.css({left:a,top:o})}if(t.resize&&c.resizeStart){var a=i.clientX-c.offset[0],o=i.clientY-c.offset[1];i.preventDefault(),r.style(e.index,{width:c.area[0]+a,height:c.area[1]+o}),c.isResize=!0,t.resizing&&t.resizing(s)}}).on("mouseup",function(e){c.moveStart&&(delete c.moveStart,o.moveElem.hide(),t.moveEnd&&t.moveEnd(s)),c.resizeStart&&(delete c.resizeStart,o.moveElem.hide())}),e},s.pt.callback=function(){function e(){var e=a.cancel&&a.cancel(t.index,n);e===!1||r.close(t.index)}var t=this,n=t.layero,a=t.config;t.openLayer(),a.success&&(2==a.type?n.find("iframe").on("load",function(){a.success(n,t.index)}):a.success(n,t.index)),6==r.ie&&t.IE6(n),n.find("."+l[6]).children("a").on("click",function(){var e=i(this).index();if(0===e)a.yes?a.yes(t.index,n):a.btn1?a.btn1(t.index,n):r.close(t.index);else{var o=a["btn"+(e+1)]&&a["btn"+(e+1)](t.index,n);o===!1||r.close(t.index)}}),n.find("."+l[7]).on("click",e),a.shadeClose&&i("#layui-layer-shade"+t.index).on("click",function(){r.close(t.index)}),n.find(".layui-layer-min").on("click",function(){var e=a.min&&a.min(n);e===!1||r.min(t.index,a)}),n.find(".layui-layer-max").on("click",function(){i(this).hasClass("layui-layer-maxmin")?(r.restore(t.index),a.restore&&a.restore(n)):(r.full(t.index,a),setTimeout(function(){a.full&&a.full(n)},100))}),a.end&&(o.end[t.index]=a.end)},o.reselect=function(){i.each(i("select"),function(e,t){var n=i(this);n.parents("."+l[0])[0]||1==n.attr("layer")&&i("."+l[0]).length<1&&n.removeAttr("layer").show(),n=null})},s.pt.IE6=function(e){i("select").each(function(e,t){var n=i(this);n.parents("."+l[0])[0]||"none"===n.css("display")||n.attr({layer:"1"}).hide(),n=null})},s.pt.openLayer=function(){var e=this;r.zIndex=e.config.zIndex,r.setTop=function(e){var t=function(){r.zIndex++,e.css("z-index",r.zIndex+1)};return r.zIndex=parseInt(e[0].style.zIndex),e.on("mousedown",t),r.zIndex}},o.record=function(e){var t=[e.width(),e.height(),e.position().top,e.position().left+parseFloat(e.css("margin-left"))];e.find(".layui-layer-max").addClass("layui-layer-maxmin"),e.attr({area:t})},o.rescollbar=function(e){l.html.attr("layer-full")==e&&(l.html[0].style.removeProperty?l.html[0].style.removeProperty("overflow"):l.html[0].style.removeAttribute("overflow"),l.html.removeAttr("layer-full"))},e.layer=r,r.getChildFrame=function(e,t){return t=t||i("."+l[4]).attr("times"),i("#"+l[0]+t).find("iframe").contents().find(e)},r.getFrameIndex=function(e){return i("#"+e).parents("."+l[4]).attr("times")},r.iframeAuto=function(e){if(e){var t=r.getChildFrame("html",e).outerHeight(),n=i("#"+l[0]+e),a=n.find(l[1]).outerHeight()||0,o=n.find("."+l[6]).outerHeight()||0;n.css({height:t+a+o}),n.find("iframe").css({height:t})}},r.iframeSrc=function(e,t){i("#"+l[0]+e).find("iframe").attr("src",t)},r.style=function(e,t,n){var a=i("#"+l[0]+e),r=a.find(".layui-layer-content"),s=a.attr("type"),f=a.find(l[1]).outerHeight()||0,c=a.find("."+l[6]).outerHeight()||0;a.attr("minLeft");s!==o.type[3]&&s!==o.type[4]&&(n||(parseFloat(t.width)<=260&&(t.width=260),parseFloat(t.height)-f-c<=64&&(t.height=64+f+c)),a.css(t),c=a.find("."+l[6]).outerHeight(),s===o.type[2]?a.find("iframe").css({height:parseFloat(t.height)-f-c}):r.css({height:parseFloat(t.height)-f-c-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom"))}))},r.min=function(e,t){var a=i("#"+l[0]+e),s=a.find(l[1]).outerHeight()||0,f=a.attr("minLeft")||181*o.minIndex+"px",c=a.css("position");o.record(a),o.minLeft[0]&&(f=o.minLeft[0],o.minLeft.shift()),a.attr("position",c),r.style(e,{width:180,height:s,left:f,top:n.height()-s,position:"fixed",overflow:"hidden"},!0),a.find(".layui-layer-min").hide(),"page"===a.attr("type")&&a.find(l[4]).hide(),o.rescollbar(e),a.attr("minLeft")||o.minIndex++,a.attr("minLeft",f)},r.restore=function(e){var t=i("#"+l[0]+e),n=t.attr("area").split(",");t.attr("type");r.style(e,{width:parseFloat(n[0]),height:parseFloat(n[1]),top:parseFloat(n[2]),left:parseFloat(n[3]),position:t.attr("position"),overflow:"visible"},!0),t.find(".layui-layer-max").removeClass("layui-layer-maxmin"),t.find(".layui-layer-min").show(),"page"===t.attr("type")&&t.find(l[4]).show(),o.rescollbar(e)},r.full=function(e){var t,a=i("#"+l[0]+e);o.record(a),l.html.attr("layer-full")||l.html.css("overflow","hidden").attr("layer-full",e),clearTimeout(t),t=setTimeout(function(){var t="fixed"===a.css("position");r.style(e,{top:t?0:n.scrollTop(),left:t?0:n.scrollLeft(),width:n.width(),height:n.height()},!0),a.find(".layui-layer-min").hide()},100)},r.title=function(e,t){var n=i("#"+l[0]+(t||r.index)).find(l[1]);n.html(e)},r.close=function(e){var t=i("#"+l[0]+e),n=t.attr("type"),a="layer-anim-close";if(t[0]){var s="layui-layer-wrap",f=function(){if(n===o.type[1]&&"object"===t.attr("conType")){t.children(":not(."+l[5]+")").remove();for(var a=t.find("."+s),r=0;r<2;r++)a.unwrap();a.css("display",a.data("display")).removeClass(s)}else{if(n===o.type[2])try{var f=i("#"+l[4]+e)[0];f.contentWindow.document.write(""),f.contentWindow.close(),t.find("."+l[5])[0].removeChild(f)}catch(c){}t[0].innerHTML="",t.remove()}"function"==typeof o.end[e]&&o.end[e](),delete o.end[e]};t.data("isOutAnim")&&t.addClass("layer-anim "+a),i("#layui-layer-moves, #layui-layer-shade"+e).remove(),6==r.ie&&o.reselect(),o.rescollbar(e),t.attr("minLeft")&&(o.minIndex--,o.minLeft.push(t.attr("minLeft"))),r.ie&&r.ie<10||!t.data("isOutAnim")?f():setTimeout(function(){f()},200)}},r.closeAll=function(e){i.each(i("."+l[0]),function(){var t=i(this),n=e?t.attr("type")===e:1;n&&r.close(t.attr("times")),n=null})};var f=r.cache||{},c=function(e){return f.skin?" "+f.skin+" "+f.skin+"-"+e:""};r.prompt=function(e,t){var a="";if(e=e||{},"function"==typeof e&&(t=e),e.area){var o=e.area;a='style="width: '+o[0]+"; height: "+o[1]+';"',delete e.area}var s,l=2==e.formType?'":function(){return''}(),f=e.success;return delete e.success,r.open(i.extend({type:1,btn:["确定","取消"],content:l,skin:"layui-layer-prompt"+c("prompt"),maxWidth:n.width(),success:function(t){s=t.find(".layui-layer-input"),s.val(e.value||"").focus(),"function"==typeof f&&f(t)},resize:!1,yes:function(i){var n=s.val();""===n?s.focus():n.length>(e.maxlength||500)?r.tips("最多输入"+(e.maxlength||500)+"个字数",s,{tips:1}):t&&t(n,i,s)}},e))},r.tab=function(e){e=e||{};var t=e.tab||{},n="layui-this",a=e.success;return delete e.success,r.open(i.extend({type:1,skin:"layui-layer-tab"+c("tab"),resize:!1,title:function(){var e=t.length,i=1,a="";if(e>0)for(a=''+t[0].title+"";i"+t[i].title+"";return a}(),content:'
          '+function(){var e=t.length,i=1,a="";if(e>0)for(a='
        • '+(t[0].content||"no content")+"
        • ";i'+(t[i].content||"no content")+"";return a}()+"
        ",success:function(t){var o=t.find(".layui-layer-title").children(),r=t.find(".layui-layer-tabmain").children();o.on("mousedown",function(t){t.stopPropagation?t.stopPropagation():t.cancelBubble=!0;var a=i(this),o=a.index();a.addClass(n).siblings().removeClass(n),r.eq(o).show().siblings().hide(),"function"==typeof e.change&&e.change(o)}),"function"==typeof a&&a(t)}},e))},r.photos=function(t,n,a){function o(e,t,i){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,t(n)},void(n.onerror=function(e){n.onerror=null,i(e)}))}var s={};if(t=t||{},t.photos){var l=t.photos.constructor===Object,f=l?t.photos:{},u=f.data||[],d=f.start||0;s.imgIndex=(0|d)+1,t.img=t.img||"img";var y=t.success;if(delete t.success,l){if(0===u.length)return r.msg("没有图片")}else{var p=i(t.photos),h=function(){u=[],p.find(t.img).each(function(e){var t=i(this);t.attr("layer-index",e),u.push({alt:t.attr("alt"),pid:t.attr("layer-pid"),src:t.attr("layer-src")||t.attr("src"),thumb:t.attr("src")})})};if(h(),0===u.length)return;if(n||p.on("click",t.img,function(){var e=i(this),n=e.attr("layer-index");r.photos(i.extend(t,{photos:{start:n,data:u,tab:t.tab},full:t.full}),!0),h()}),!n)return}s.imgprev=function(e){s.imgIndex--,s.imgIndex<1&&(s.imgIndex=u.length),s.tabimg(e)},s.imgnext=function(e,t){s.imgIndex++,s.imgIndex>u.length&&(s.imgIndex=1,t)||s.tabimg(e)},s.keyup=function(e){if(!s.end){var t=e.keyCode;e.preventDefault(),37===t?s.imgprev(!0):39===t?s.imgnext(!0):27===t&&r.close(s.index)}},s.tabimg=function(e){if(!(u.length<=1))return f.start=s.imgIndex-1,r.close(s.index),r.photos(t,!0,e)},s.event=function(){s.bigimg.hover(function(){s.imgsee.show()},function(){s.imgsee.hide()}),s.bigimg.find(".layui-layer-imgprev").on("click",function(e){e.preventDefault(),s.imgprev()}),s.bigimg.find(".layui-layer-imgnext").on("click",function(e){e.preventDefault(),s.imgnext()}),i(document).on("keyup",s.keyup)},s.loadi=r.load(1,{shade:!("shade"in t)&&.9,scrollbar:!1}),o(u[d].src,function(n){r.close(s.loadi),s.index=r.open(i.extend({type:1,id:"layui-layer-photos",area:function(){var a=[n.width,n.height],o=[i(e).width()-100,i(e).height()-100];if(!t.full&&(a[0]>o[0]||a[1]>o[1])){var r=[a[0]/o[0],a[1]/o[1]];r[0]>r[1]?(a[0]=a[0]/r[0],a[1]=a[1]/r[0]):r[0]'+(u[d].alt||
        '+(u.length>1?'':"")+'
        '+(u[d].alt||"")+""+s.imgIndex+"/"+u.length+"
        ",success:function(e,i){s.bigimg=e.find(".layui-layer-phimg"),s.imgsee=e.find(".layui-layer-imguide,.layui-layer-imgbar"),s.event(e),t.tab&&t.tab(u[d],e),"function"==typeof y&&y(e)},end:function(){s.end=!0,i(document).off("keyup",s.keyup)}},t))},function(){r.close(s.loadi),r.msg("当前图片地址异常
        是否继续查看下一张?",{time:3e4,btn:["下一张","不看了"],yes:function(){u.length>1&&s.imgnext(!0,!0)}})})}},o.run=function(t){i=t,n=i(e),l.html=i("html"),r.open=function(e){var t=new s(e);return t.index}},e.layui&&layui.define?(r.ready(),layui.define("jquery",function(t){r.path=layui.cache.dir,o.run(layui.$),e.layer=r,t("layer",r)})):"function"==typeof define&&define.amd?define(["jquery"],function(){return o.run(e.jQuery),r}):function(){o.run(e.jQuery),r.ready()}()}(window);layui.define("jquery",function(t){"use strict";var a=layui.$,i=(layui.hint(),layui.device()),e="element",l="layui-this",n="layui-show",s=function(){this.config={}};s.prototype.set=function(t){var i=this;return a.extend(!0,i.config,t),i},s.prototype.on=function(t,a){return layui.onevent.call(this,e,t,a)},s.prototype.tabAdd=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.children(".layui-tab-bar"),o=l.children(".layui-tab-content"),r='
      • "+(i.title||"unnaming")+"
      • ";return s[0]?s.before(r):n.append(r),o.append('
        '+(i.content||"")+"
        "),f.hideTabMore(!0),f.tabAuto(),this},s.prototype.tabDelete=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabDelete(null,s),this},s.prototype.tabChange=function(t,i){var e=".layui-tab-title",l=a(".layui-tab[lay-filter="+t+"]"),n=l.children(e),s=n.find('>li[lay-id="'+i+'"]');return f.tabClick.call(s[0],null,null,s),this},s.prototype.tab=function(t){t=t||{},b.on("click",t.headerElem,function(i){var e=a(this).index();f.tabClick.call(this,i,e,null,t)})},s.prototype.progress=function(t,i){var e="layui-progress",l=a("."+e+"[lay-filter="+t+"]"),n=l.find("."+e+"-bar"),s=n.find("."+e+"-text");return n.css("width",i),s.text(i),this};var o=".layui-nav",r="layui-nav-item",c="layui-nav-bar",u="layui-nav-tree",d="layui-nav-child",y="layui-nav-more",h="layui-anim layui-anim-upbit",f={tabClick:function(t,i,s,o){o=o||{};var r=s||a(this),i=i||r.parent().children("li").index(r),c=o.headerElem?r.parent():r.parents(".layui-tab").eq(0),u=o.bodyElem?a(o.bodyElem):c.children(".layui-tab-content").children(".layui-tab-item"),d=r.find("a"),y=c.attr("lay-filter");"javascript:;"!==d.attr("href")&&"_blank"===d.attr("target")||(r.addClass(l).siblings().removeClass(l),u.eq(i).addClass(n).siblings().removeClass(n)),layui.event.call(this,e,"tab("+y+")",{elem:c,index:i})},tabDelete:function(t,i){var n=i||a(this).parent(),s=n.index(),o=n.parents(".layui-tab").eq(0),r=o.children(".layui-tab-content").children(".layui-tab-item"),c=o.attr("lay-filter");n.hasClass(l)&&(n.next()[0]?f.tabClick.call(n.next()[0],null,s+1):n.prev()[0]&&f.tabClick.call(n.prev()[0],null,s-1)),n.remove(),r.eq(s).remove(),setTimeout(function(){f.tabAuto()},50),layui.event.call(this,e,"tabDelete("+c+")",{elem:o,index:s})},tabAuto:function(){var t="layui-tab-more",e="layui-tab-bar",l="layui-tab-close",n=this;a(".layui-tab").each(function(){var s=a(this),o=s.children(".layui-tab-title"),r=(s.children(".layui-tab-content").children(".layui-tab-item"),'lay-stope="tabmore"'),c=a('');if(n===window&&8!=i.ie&&f.hideTabMore(!0),s.attr("lay-allowClose")&&o.find("li").each(function(){var t=a(this);if(!t.find("."+l)[0]){var i=a('');i.on("click",f.tabDelete),t.append(i)}}),"string"!=typeof s.attr("lay-unauto"))if(o.prop("scrollWidth")>o.outerWidth()+1){if(o.find("."+e)[0])return;o.append(c),s.attr("overflow",""),c.on("click",function(a){o[this.title?"removeClass":"addClass"](t),this.title=this.title?"":"收缩"})}else o.find("."+e).remove(),s.removeAttr("overflow")})},hideTabMore:function(t){var i=a(".layui-tab-title");t!==!0&&"tabmore"===a(t.target).attr("lay-stope")||(i.removeClass("layui-tab-more"),i.find(".layui-tab-bar").attr("title",""))},clickThis:function(){var t=a(this),i=t.parents(o),n=i.attr("lay-filter"),s=t.parent(),c=t.siblings("."+d),y="string"==typeof s.attr("lay-unselect");"javascript:;"!==t.attr("href")&&"_blank"===t.attr("target")||y||c[0]||(i.find("."+l).removeClass(l),s.addClass(l)),i.hasClass(u)&&(c.removeClass(h),c[0]&&(s["none"===c.css("display")?"addClass":"removeClass"](r+"ed"),"all"===i.attr("lay-shrink")&&s.siblings().removeClass(r+"ed"))),layui.event.call(this,e,"nav("+n+")",t)},collapse:function(){var t=a(this),i=t.find(".layui-colla-icon"),l=t.siblings(".layui-colla-content"),s=t.parents(".layui-collapse").eq(0),o=s.attr("lay-filter"),r="none"===l.css("display");if("string"==typeof s.attr("lay-accordion")){var c=s.children(".layui-colla-item").children("."+n);c.siblings(".layui-colla-title").children(".layui-colla-icon").html(""),c.removeClass(n)}l[r?"addClass":"removeClass"](n),i.html(r?"":""),layui.event.call(this,e,"collapse("+o+")",{title:t,content:l,show:r})}};s.prototype.init=function(t,e){var l=function(){return e?'[lay-filter="'+e+'"]':""}(),s={tab:function(){f.tabAuto.call({})},nav:function(){var t=200,e={},s={},p={},b=function(l,o,r){var c=a(this),f=c.find("."+d);o.hasClass(u)?l.css({top:c.position().top,height:c.children("a").outerHeight(),opacity:1}):(f.addClass(h),l.css({left:c.position().left+parseFloat(c.css("marginLeft")),top:c.position().top+c.height()-l.height()}),e[r]=setTimeout(function(){l.css({width:c.width(),opacity:1})},i.ie&&i.ie<10?0:t),clearTimeout(p[r]),"block"===f.css("display")&&clearTimeout(s[r]),s[r]=setTimeout(function(){f.addClass(n),c.find("."+y).addClass(y+"d")},300))};a(o+l).each(function(i){var l=a(this),o=a(''),h=l.find("."+r);l.find("."+c)[0]||(l.append(o),h.on("mouseenter",function(){b.call(this,o,l,i)}).on("mouseleave",function(){l.hasClass(u)||(clearTimeout(s[i]),s[i]=setTimeout(function(){l.find("."+d).removeClass(n),l.find("."+y).removeClass(y+"d")},300))}),l.on("mouseleave",function(){clearTimeout(e[i]),p[i]=setTimeout(function(){l.hasClass(u)?o.css({height:0,top:o.position().top+o.height()/2,opacity:0}):o.css({width:0,left:o.position().left+o.width()/2,opacity:0})},t)})),h.find("a").each(function(){var t=a(this),i=(t.parent(),t.siblings("."+d));i[0]&&!t.children("."+y)[0]&&t.append(''),t.off("click",f.clickThis).on("click",f.clickThis)})})},breadcrumb:function(){var t=".layui-breadcrumb";a(t+l).each(function(){var t=a(this),i="lay-separator",e=t.attr(i)||"/",l=t.find("a");l.next("span["+i+"]")[0]||(l.each(function(t){t!==l.length-1&&a(this).after(""+e+"")}),t.css("visibility","visible"))})},progress:function(){var t="layui-progress";a("."+t+l).each(function(){var i=a(this),e=i.find(".layui-progress-bar"),l=e.attr("lay-percent");e.css("width",function(){return/^.+\/.+$/.test(l)?100*new Function("return "+l)()+"%":l}()),i.attr("lay-showPercent")&&setTimeout(function(){e.html(''+l+"")},350)})},collapse:function(){var t="layui-collapse";a("."+t+l).each(function(){var t=a(this).find(".layui-colla-item");t.each(function(){var t=a(this),i=t.find(".layui-colla-title"),e=t.find(".layui-colla-content"),l="none"===e.css("display");i.find(".layui-colla-icon").remove(),i.append(''+(l?"":"")+""),i.off("click",f.collapse).on("click",f.collapse)})})}};return s[t]?s[t]():layui.each(s,function(t,a){a()})},s.prototype.render=s.prototype.init;var p=new s,b=a(document);p.render();var v=".layui-tab-title li";b.on("click",v,f.tabClick),b.on("click",f.hideTabMore),a(window).on("resize",f.tabAuto),t(e,p)});layui.define("layer",function(e){"use strict";var i=layui.$,t=layui.layer,n=layui.hint(),a=layui.device(),o={config:{},set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,r,e,i)}},l=function(){var e=this;return{upload:function(i){e.upload.call(e,i)},config:e.config}},r="upload",u="layui-upload-file",c="layui-upload-form",f="layui-upload-iframe",s="layui-upload-choose",p=function(e){var t=this;t.config=i.extend({},t.config,o.config,e),t.render()};p.prototype.config={accept:"images",exts:"",auto:!0,bindAction:"",url:"",field:"file",method:"post",data:{},drag:!0,size:0,number:0,multiple:!1},p.prototype.render=function(e){var t=this,e=t.config;e.elem=i(e.elem),e.bindAction=i(e.bindAction),t.file(),t.events()},p.prototype.file=function(){var e=this,t=e.config,n=e.elemFile=i(['"].join("")),o=t.elem.next();(o.hasClass(u)||o.hasClass(c))&&o.remove(),a.ie&&a.ie<10&&t.elem.wrap('
        '),e.isFile()?(e.elemFile=t.elem,t.field=t.elem[0].name):t.elem.after(n),a.ie&&a.ie<10&&e.initIE()},p.prototype.initIE=function(){var e=this,t=e.config,n=i(''),a=i(['
        ',"
        "].join(""));i("#"+f)[0]||i("body").append(n),t.elem.next().hasClass(c)||(e.elemFile.wrap(a),t.elem.next("."+c).append(function(){var e=[];return layui.each(t.data,function(i,t){t="function"==typeof t?t():t,e.push('')}),e.join("")}()))},p.prototype.msg=function(e){return t.msg(e,{icon:2,shift:6})},p.prototype.isFile=function(){var e=this.config.elem[0];if(e)return"input"===e.tagName.toLocaleLowerCase()&&"file"===e.type},p.prototype.preview=function(e){var i=this;window.FileReader&&layui.each(i.chooseFiles,function(i,t){var n=new FileReader;n.readAsDataURL(t),n.onload=function(){e&&e(i,t,this.result)}})},p.prototype.upload=function(e,t){var n,o=this,l=o.config,r=o.elemFile[0],u=function(){var t=0,n=0,a=e||o.files||o.chooseFiles||r.files,u=function(){l.multiple&&t+n===o.fileLength&&"function"==typeof l.allDone&&l.allDone({total:o.fileLength,successful:t,aborted:n})};layui.each(a,function(e,a){var r=new FormData;r.append(l.field,a),layui.each(l.data,function(e,i){i="function"==typeof i?i():i,r.append(e,i)}),i.ajax({url:l.url,type:"post",data:r,contentType:!1,processData:!1,dataType:"json",headers:l.headers||{},success:function(i){t++,d(e,i),u()},error:function(){n++,o.msg("请求上传接口出现异常"),m(e),u()}})})},c=function(){var e=i("#"+f);o.elemFile.parent().submit(),clearInterval(p.timer),p.timer=setInterval(function(){var i,t=e.contents().find("body");try{i=t.text()}catch(n){o.msg("获取上传后的响应信息出现异常"),clearInterval(p.timer),m()}i&&(clearInterval(p.timer),t.html(""),d(0,i))},30)},d=function(e,i){if(o.elemFile.next("."+s).remove(),r.value="","object"!=typeof i)try{i=JSON.parse(i)}catch(t){return i={},o.msg("请对上传接口返回有效JSON")}"function"==typeof l.done&&l.done(i,e||0,function(e){o.upload(e)})},m=function(e){l.auto&&(r.value=""),"function"==typeof l.error&&l.error(e||0,function(e){o.upload(e)})},h=l.exts,v=function(){var i=[];return layui.each(e||o.chooseFiles,function(e,t){i.push(t.name)}),i}(),g={preview:function(e){o.preview(e)},upload:function(e,i){var t={};t[e]=i,o.upload(t)},pushFile:function(){return o.files=o.files||{},layui.each(o.chooseFiles,function(e,i){o.files[e]=i}),o.files},resetFile:function(e,i,t){var n=new File([i],t);o.files=o.files||{},o.files[e]=n}},y=function(){if("choose"!==t&&!l.auto||(l.choose&&l.choose(g),"choose"!==t))return l.before&&l.before(g),a.ie?a.ie>9?u():c():void u()};if(v=0===v.length?r.value.match(/[^\/\\]+\..+/g)||[]||"":v,0!==v.length){switch(l.accept){case"file":if(h&&!RegExp("\\w\\.("+h+")$","i").test(escape(v)))return o.msg("选择的文件中包含不支持的格式"),r.value="";break;case"video":if(!RegExp("\\w\\.("+(h||"avi|mp4|wma|rmvb|rm|flash|3gp|flv")+")$","i").test(escape(v)))return o.msg("选择的视频中包含不支持的格式"),r.value="";break;case"audio":if(!RegExp("\\w\\.("+(h||"mp3|wav|mid")+")$","i").test(escape(v)))return o.msg("选择的音频中包含不支持的格式"),r.value="";break;default:if(layui.each(v,function(e,i){RegExp("\\w\\.("+(h||"jpg|png|gif|bmp|jpeg$")+")","i").test(escape(i))||(n=!0)}),n)return o.msg("选择的图片中包含不支持的格式"),r.value=""}if(o.fileLength=function(){var i=0,t=e||o.files||o.chooseFiles||r.files;return layui.each(t,function(){i++}),i}(),l.number&&o.fileLength>l.number)return o.msg("同时最多只能上传的数量为:"+l.number);if(l.size>0&&!(a.ie&&a.ie<10)){var F;if(layui.each(o.chooseFiles,function(e,i){if(i.size>1024*l.size){var t=l.size/1024;t=t>=1?t.toFixed(2)+"MB":l.size+"KB",r.value="",F=t}}),F)return o.msg("文件不能超过"+F)}y()}},p.prototype.events=function(){var e=this,t=e.config,o=function(i){e.chooseFiles={},layui.each(i,function(i,t){var n=(new Date).getTime();e.chooseFiles[n+"-"+i]=t})},l=function(i,n){var a=e.elemFile,o=i.length>1?i.length+"个文件":(i[0]||{}).name||a[0].value.match(/[^\/\\]+\..+/g)||[]||"";a.next().hasClass(s)&&a.next().remove(),e.upload(null,"choose"),e.isFile()||t.choose||a.after(''+o+"")};t.elem.off("upload.start").on("upload.start",function(){var a=i(this),o=a.attr("lay-data");if(o)try{o=new Function("return "+o)(),e.config=i.extend({},t,o)}catch(l){n.error("Upload element property lay-data configuration item has a syntax error: "+o)}e.config.item=a,e.elemFile[0].click()}),a.ie&&a.ie<10||t.elem.off("upload.over").on("upload.over",function(){var e=i(this);e.attr("lay-over","")}).off("upload.leave").on("upload.leave",function(){var e=i(this);e.removeAttr("lay-over")}).off("upload.drop").on("upload.drop",function(n,a){var r=i(this),u=a.originalEvent.dataTransfer.files||[];r.removeAttr("lay-over"),o(u),t.auto?e.upload(u):l(u)}),e.elemFile.off("upload.change").on("upload.change",function(){var i=this.files||[];o(i),t.auto?e.upload():l(i)}),t.bindAction.off("upload.action").on("upload.action",function(){e.upload()}),t.elem.data("haveEvents")||(e.elemFile.on("change",function(){i(this).trigger("upload.change")}),t.elem.on("click",function(){e.isFile()||i(this).trigger("upload.start")}),t.drag&&t.elem.on("dragover",function(e){e.preventDefault(),i(this).trigger("upload.over")}).on("dragleave",function(e){i(this).trigger("upload.leave")}).on("drop",function(e){e.preventDefault(),i(this).trigger("upload.drop",e)}),t.bindAction.on("click",function(){i(this).trigger("upload.action")}),t.elem.data("haveEvents",!0))},o.render=function(e){var i=new p(e);return l.call(i)},e(r,o)});layui.define("jquery",function(e){"use strict";var i=layui.jquery,t={config:{},index:layui.slider?layui.slider.index+1e4:0,set:function(e){var t=this;return t.config=i.extend({},t.config,e),t},on:function(e,i){return layui.onevent.call(this,n,e,i)}},a=function(){var e=this,i=e.config;return{setValue:function(i,t){return e.slide("set",i,t||0)},config:i}},n="slider",l="layui-disabled",s="layui-slider",r="layui-slider-bar",o="layui-slider-wrap",u="layui-slider-wrap-btn",d="layui-slider-tips",v="layui-slider-input",c="layui-slider-input-txt",m="layui-slider-input-btn",p="layui-slider-hover",f=function(e){var a=this;a.index=++t.index,a.config=i.extend({},a.config,t.config,e),a.render()};f.prototype.config={type:"default",min:0,max:100,value:0,step:1,showstep:!1,tips:!0,input:!1,range:!1,height:200,disabled:!1,theme:"#009688"},f.prototype.render=function(){var e=this,t=e.config;if(t.step<1&&(t.step=1),t.maxt.min?a:t.min,t.value[1]=n>t.min?n:t.min,t.value[0]=t.value[0]>t.max?t.max:t.value[0],t.value[1]=t.value[1]>t.max?t.max:t.value[1];var r=Math.floor((t.value[0]-t.min)/(t.max-t.min)*100),v=Math.floor((t.value[1]-t.min)/(t.max-t.min)*100),m=v-r+"%";r+="%",v+="%"}else{"object"==typeof t.value&&(t.value=Math.min.apply(null,t.value)),t.valuet.max&&(t.value=t.max);var m=Math.floor((t.value-t.min)/(t.max-t.min)*100)+"%"}var p=t.disabled?"#c2c2c2":t.theme,f='
        '+(t.tips?'
        ':"")+'
        '+(t.range?'
        ':"")+"
        ",h=i(t.elem),y=h.next("."+s);if(y[0]&&y.remove(),e.elemTemp=i(f),t.range?(e.elemTemp.find("."+o).eq(0).data("value",t.value[0]),e.elemTemp.find("."+o).eq(1).data("value",t.value[1])):e.elemTemp.find("."+o).data("value",t.value),h.html(e.elemTemp),"vertical"===t.type&&e.elemTemp.height(t.height+"px"),t.showstep){for(var g=(t.max-t.min)/t.step,b="",x=1;x
        ')}e.elemTemp.append(b)}if(t.input&&!t.range){var w=i('
        ');h.css("position","relative"),h.append(w),h.find("."+c).children("input").val(t.value),"vertical"===t.type?w.css({left:0,top:-48}):e.elemTemp.css("margin-right",w.outerWidth()+15)}t.disabled?(e.elemTemp.addClass(l),e.elemTemp.find("."+u).addClass(l)):e.slide(),e.elemTemp.find("."+u).on("mouseover",function(){var a="vertical"===t.type?t.height:e.elemTemp[0].offsetWidth,n=e.elemTemp.find("."+o),l="vertical"===t.type?a-i(this).parent()[0].offsetTop-n.height():i(this).parent()[0].offsetLeft,s=l/a*100,r=i(this).parent().data("value"),u=t.setTips?t.setTips(r):r;e.elemTemp.find("."+d).html(u),"vertical"===t.type?e.elemTemp.find("."+d).css({bottom:s+"%","margin-bottom":"20px",display:"inline-block"}):e.elemTemp.find("."+d).css({left:s+"%",display:"inline-block"})}).on("mouseout",function(){e.elemTemp.find("."+d).css("display","none")})},f.prototype.slide=function(e,t,a){var n=this,l=n.config,s=n.elemTemp,f=function(){return"vertical"===l.type?l.height:s[0].offsetWidth},h=s.find("."+o),y=s.next("."+v),g=y.children("."+c).children("input").val(),b=100/((l.max-l.min)/Math.ceil(l.step)),x=function(e,i){e=Math.ceil(e)*b>100?Math.ceil(e)*b:Math.round(e)*b,e=e>100?100:e,h.eq(i).css("vertical"===l.type?"bottom":"left",e+"%");var t=T(h[0].offsetLeft),a=l.range?T(h[1].offsetLeft):0;"vertical"===l.type?(s.find("."+d).css({bottom:e+"%","margin-bottom":"20px"}),t=T(f()-h[0].offsetTop-h.height()),a=l.range?T(f()-h[1].offsetTop-h.height()):0):s.find("."+d).css("left",e+"%"),t=t>100?100:t,a=a>100?100:a;var n=Math.min(t,a),o=Math.abs(t-a);"vertical"===l.type?s.find("."+r).css({height:o+"%",bottom:n+"%"}):s.find("."+r).css({width:o+"%",left:n+"%"});var u=l.min+Math.round((l.max-l.min)*e/100);if(g=u,y.children("."+c).children("input").val(g),h.eq(i).data("value",u),u=l.setTips?l.setTips(u):u,s.find("."+d).html(u),l.range){var v=[h.eq(0).data("value"),h.eq(1).data("value")];v[0]>v[1]&&v.reverse()}l.change&&l.change(l.range?v:u)},T=function(e){var i=e/f()*100/b,t=Math.round(i)*b;return e==f()&&(t=Math.ceil(i)*b),t},w=i(['
        f()&&(r=f());var o=r/f()*100/b;x(o,e),t.addClass(p),s.find("."+d).show(),i.preventDefault()},o=function(){t.removeClass(p),s.find("."+d).hide()};M(r,o)})}),s.on("click",function(e){var t=i("."+u);if(!t.is(event.target)&&0===t.has(event.target).length&&t.length){var a,n="vertical"===l.type?f()-e.clientY+i(this).offset().top:e.clientX-i(this).offset().left;n<0&&(n=0),n>f()&&(n=f());var s=n/f()*100/b;a=l.range?"vertical"===l.type?Math.abs(n-parseInt(i(h[0]).css("bottom")))>Math.abs(n-parseInt(i(h[1]).css("bottom")))?1:0:Math.abs(n-h[0].offsetLeft)>Math.abs(n-h[1].offsetLeft)?1:0:0,x(s,a),e.preventDefault()}}),y.hover(function(){var e=i(this);e.children("."+m).fadeIn("fast")},function(){var e=i(this);e.children("."+m).fadeOut("fast")}),y.children("."+m).children("i").each(function(e){i(this).on("click",function(){g=1==e?g-l.stepl.max?l.max:Number(g)+l.step;var i=(g-l.min)/(l.max-l.min)*100/b;x(i,0)})});var q=function(){var e=this.value;e=isNaN(e)?0:e,e=el.max?l.max:e,this.value=e;var i=(e-l.min)/(l.max-l.min)*100/b;x(i,0)};y.children("."+c).children("input").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),q.call(this))}).on("change",q)},f.prototype.events=function(){var e=this;e.config},t.render=function(e){var i=new f(e);return a.call(i)},e(n,t)});layui.define("jquery",function(e){"use strict";var i=layui.jquery,o={config:{},index:layui.colorpicker?layui.colorpicker.index+1e4:0,set:function(e){var o=this;return o.config=i.extend({},o.config,e),o},on:function(e,i){return layui.onevent.call(this,"colorpicker",e,i)}},r=function(){var e=this,i=e.config;return{config:i}},t="colorpicker",n="layui-show",l="layui-colorpicker",c=".layui-colorpicker-main",a="layui-icon-down",s="layui-icon-close",f="layui-colorpicker-trigger-span",d="layui-colorpicker-trigger-i",u="layui-colorpicker-side",p="layui-colorpicker-side-slider",g="layui-colorpicker-basis",v="layui-colorpicker-alpha-bgcolor",h="layui-colorpicker-alpha-slider",m="layui-colorpicker-basis-cursor",b="layui-colorpicker-main-input",k=function(e){var i={h:0,s:0,b:0},o=Math.min(e.r,e.g,e.b),r=Math.max(e.r,e.g,e.b),t=r-o;return i.b=r,i.s=0!=r?255*t/r:0,0!=i.s?e.r==r?i.h=(e.g-e.b)/t:e.g==r?i.h=2+(e.b-e.r)/t:i.h=4+(e.r-e.g)/t:i.h=-1,r==o&&(i.h=0),i.h*=60,i.h<0&&(i.h+=360),i.s*=100/255,i.b*=100/255,i},y=function(e){var e=e.indexOf("#")>-1?e.substring(1):e;if(3==e.length){var i=e.split("");e=i[0]+i[0]+i[1]+i[1]+i[2]+i[2]}e=parseInt(e,16);var o={r:e>>16,g:(65280&e)>>8,b:255&e};return k(o)},x=function(e){var i={},o=e.h,r=255*e.s/100,t=255*e.b/100;if(0==r)i.r=i.g=i.b=t;else{var n=t,l=(255-r)*t/255,c=(n-l)*(o%60)/60;360==o&&(o=0),o<60?(i.r=n,i.b=l,i.g=l+c):o<120?(i.g=n,i.b=l,i.r=n-c):o<180?(i.g=n,i.r=l,i.b=l+c):o<240?(i.b=n,i.r=l,i.g=n-c):o<300?(i.b=n,i.g=l,i.r=l+c):o<360?(i.r=n,i.g=l,i.b=n-c):(i.r=0,i.g=0,i.b=0)}return{r:Math.round(i.r),g:Math.round(i.g),b:Math.round(i.b)}},C=function(e){var o=x(e),r=[o.r.toString(16),o.g.toString(16),o.b.toString(16)];return i.each(r,function(e,i){1==i.length&&(r[e]="0"+i)}),r.join("")},P=function(e){var i=/[0-9]{1,3}/g,o=e.match(i)||[];return{r:o[0],g:o[1],b:o[2]}},B=i(window),w=i(document),D=function(e){var r=this;r.index=++o.index,r.config=i.extend({},r.config,o.config,e),r.render()};D.prototype.config={color:"",size:null,alpha:!1,format:"hex",predefine:!1,colors:["#009688","#5FB878","#1E9FFF","#FF5722","#FFB800","#01AAED","#999","#c00","#ff8c00","#ffd700","#90ee90","#00ced1","#1e90ff","#c71585","rgb(0, 186, 189)","rgb(255, 120, 0)","rgb(250, 212, 0)","#393D49","rgba(0,0,0,.5)","rgba(255, 69, 0, 0.68)","rgba(144, 240, 144, 0.5)","rgba(31, 147, 255, 0.73)"]},D.prototype.render=function(){var e=this,o=e.config,r=i(['
        ',"",'3&&(o.alpha&&"rgb"==o.format||(e="#"+C(k(P(o.color))))),"background: "+e):e}()+'">','',"","","
        "].join("")),t=i(o.elem);o.size&&r.addClass("layui-colorpicker-"+o.size),t.addClass("layui-inline").html(e.elemColorBox=r),e.color=e.elemColorBox.find("."+f)[0].style.background,e.events()},D.prototype.renderPicker=function(){var e=this,o=e.config,r=e.elemColorBox[0],t=e.elemPicker=i(['
        ','
        ','
        ','
        ','
        ','
        ',"
        ",'
        ','
        ',"
        ","
        ",'
        ','
        ','
        ',"
        ","
        ",function(){if(o.predefine){var e=['
        '];return layui.each(o.colors,function(i,o){e.push(['
        ','
        ',"
        "].join(""))}),e.push("
        "),e.join("")}return""}(),'
        ','
        ','',"
        ",'
        ','','',"","
        "].join(""));e.elemColorBox.find("."+f)[0];i(c)[0]&&i(c).data("index")==e.index?e.removePicker(D.thisElemInd):(e.removePicker(D.thisElemInd),i("body").append(t)),D.thisElemInd=e.index,D.thisColor=r.style.background,e.position(),e.pickerEvents()},D.prototype.removePicker=function(e){var o=this;o.config;return i("#layui-colorpicker"+(e||o.index)).remove(),o},D.prototype.position=function(){var e=this,i=e.config,o=e.bindElem||e.elemColorBox[0],r=e.elemPicker[0],t=o.getBoundingClientRect(),n=r.offsetWidth,l=r.offsetHeight,c=function(e){return e=e?"scrollLeft":"scrollTop",document.body[e]|document.documentElement[e]},a=function(e){return document.documentElement[e?"clientWidth":"clientHeight"]},s=5,f=t.left,d=t.bottom;f-=(n-o.offsetWidth)/2,d+=s,f+n+s>a("width")?f=a("width")-n-s:fa()&&(d=t.top>l?t.top-l:a()-l,d-=2*s),i.position&&(r.style.position=i.position),r.style.left=f+("fixed"===i.position?0:c(1))+"px",r.style.top=d+("fixed"===i.position?0:c())+"px"},D.prototype.val=function(){var e=this,i=(e.config,e.elemColorBox.find("."+f)),o=e.elemPicker.find("."+b),r=i[0],t=r.style.backgroundColor;if(t){var n=k(P(t)),l=i.attr("lay-type");if(e.select(n.h,n.s,n.b),"torgb"===l&&o.find("input").val(t),"rgba"===l){var c=P(t);if(3==(t.match(/[0-9]{1,3}/g)||[]).length)o.find("input").val("rgba("+c.r+", "+c.g+", "+c.b+", 1)"),e.elemPicker.find("."+h).css("left",280);else{o.find("input").val(t);var a=280*t.slice(t.lastIndexOf(",")+1,t.length-1);e.elemPicker.find("."+h).css("left",a)}e.elemPicker.find("."+v)[0].style.background="linear-gradient(to right, rgba("+c.r+", "+c.g+", "+c.b+", 0), rgb("+c.r+", "+c.g+", "+c.b+"))"}}else e.select(0,100,100),o.find("input").val(""),e.elemPicker.find("."+v)[0].style.background="",e.elemPicker.find("."+h).css("left",280)},D.prototype.side=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=r.attr("lay-type"),n=e.elemPicker.find("."+u),l=e.elemPicker.find("."+p),c=e.elemPicker.find("."+g),y=e.elemPicker.find("."+m),C=e.elemPicker.find("."+v),w=e.elemPicker.find("."+h),D=l[0].offsetTop/180*360,E=100-(y[0].offsetTop+3)/180*100,H=(y[0].offsetLeft+3)/260*100,W=Math.round(w[0].offsetLeft/280*100)/100,j=e.elemColorBox.find("."+d),F=e.elemPicker.find(".layui-colorpicker-pre").children("div"),L=function(i,n,l,c){e.select(i,n,l);var f=x({h:i,s:n,b:l});if(j.addClass(a).removeClass(s),r[0].style.background="rgb("+f.r+", "+f.g+", "+f.b+")","torgb"===t&&e.elemPicker.find("."+b).find("input").val("rgb("+f.r+", "+f.g+", "+f.b+")"),"rgba"===t){var d=0;d=280*c,w.css("left",d),e.elemPicker.find("."+b).find("input").val("rgba("+f.r+", "+f.g+", "+f.b+", "+c+")"),r[0].style.background="rgba("+f.r+", "+f.g+", "+f.b+", "+c+")",C[0].style.background="linear-gradient(to right, rgba("+f.r+", "+f.g+", "+f.b+", 0), rgb("+f.r+", "+f.g+", "+f.b+"))"}o.change&&o.change(e.elemPicker.find("."+b).find("input").val())},M=i(['
        t&&(r=t);var l=r/180*360;D=l,L(l,H,E,W),e.preventDefault()};Y(r),e.preventDefault()}),n.on("click",function(e){var o=e.clientY-i(this).offset().top;o<0&&(o=0),o>this.offsetHeight&&(o=this.offsetHeight);var r=o/180*360;D=r,L(r,H,E,W),e.preventDefault()}),y.on("mousedown",function(e){var i=this.offsetTop,o=this.offsetLeft,r=e.clientY,t=e.clientX,n=function(e){var n=i+(e.clientY-r),l=o+(e.clientX-t),a=c[0].offsetHeight-3,s=c[0].offsetWidth-3;n<-3&&(n=-3),n>a&&(n=a),l<-3&&(l=-3),l>s&&(l=s);var f=(l+3)/260*100,d=100-(n+3)/180*100;E=d,H=f,L(D,f,d,W),e.preventDefault()};layui.stope(e),Y(n),e.preventDefault()}),c.on("mousedown",function(e){var o=e.clientY-i(this).offset().top-3+B.scrollTop(),r=e.clientX-i(this).offset().left-3+B.scrollLeft();o<-3&&(o=-3),o>this.offsetHeight-3&&(o=this.offsetHeight-3),r<-3&&(r=-3),r>this.offsetWidth-3&&(r=this.offsetWidth-3);var t=(r+3)/260*100,n=100-(o+3)/180*100;E=n,H=t,L(D,t,n,W),e.preventDefault(),y.trigger(e,"mousedown")}),w.on("mousedown",function(e){var i=this.offsetLeft,o=e.clientX,r=function(e){var r=i+(e.clientX-o),t=C[0].offsetWidth;r<0&&(r=0),r>t&&(r=t);var n=Math.round(r/280*100)/100;W=n,L(D,H,E,n),e.preventDefault()};Y(r),e.preventDefault()}),C.on("click",function(e){var o=e.clientX-i(this).offset().left;o<0&&(o=0),o>this.offsetWidth&&(o=this.offsetWidth);var r=Math.round(o/280*100)/100;W=r,L(D,H,E,r),e.preventDefault()}),F.each(function(){i(this).on("click",function(){i(this).parent(".layui-colorpicker-pre").addClass("selected").siblings().removeClass("selected");var e,o=this.style.backgroundColor,r=k(P(o)),t=o.slice(o.lastIndexOf(",")+1,o.length-1);D=r.h,H=r.s,E=r.b,3==(o.match(/[0-9]{1,3}/g)||[]).length&&(t=1),W=t,e=280*t,L(r.h,r.s,r.b,t)})})},D.prototype.select=function(e,i,o,r){var t=this,n=(t.config,C({h:e,s:100,b:100})),l=C({h:e,s:i,b:o}),c=e/360*180,a=180-o/100*180-3,s=i/100*260-3;t.elemPicker.find("."+p).css("top",c),t.elemPicker.find("."+g)[0].style.background="#"+n,t.elemPicker.find("."+m).css({top:a,left:s}),"change"!==r&&t.elemPicker.find("."+b).find("input").val("#"+l)},D.prototype.pickerEvents=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f),t=e.elemPicker.find("."+b+" input"),n={clear:function(i){r[0].style.background="",e.elemColorBox.find("."+d).removeClass(a).addClass(s),e.color="",o.done&&o.done(""),e.removePicker()},confirm:function(i,n){var l=t.val(),c=l,f={};if(l.indexOf(",")>-1){if(f=k(P(l)),e.select(f.h,f.s,f.b),r[0].style.background=c="#"+C(f),(l.match(/[0-9]{1,3}/g)||[]).length>3&&"rgba"===r.attr("lay-type")){var u=280*l.slice(l.lastIndexOf(",")+1,l.length-1);e.elemPicker.find("."+h).css("left",u),r[0].style.background=l,c=l}}else f=y(l),r[0].style.background=c="#"+C(f),e.elemColorBox.find("."+d).removeClass(s).addClass(a);return"change"===n?(e.select(f.h,f.s,f.b,n),void(o.change&&o.change(c))):(e.color=l,o.done&&o.done(l),void e.removePicker())}};e.elemPicker.on("click","*[colorpicker-events]",function(){var e=i(this),o=e.attr("colorpicker-events");n[o]&&n[o].call(this,e)}),t.on("keyup",function(e){var o=i(this);n.confirm.call(this,o,13===e.keyCode?null:"change")})},D.prototype.events=function(){var e=this,o=e.config,r=e.elemColorBox.find("."+f);e.elemColorBox.on("click",function(){e.renderPicker(),i(c)[0]&&(e.val(),e.side())}),o.elem[0]&&!e.elemColorBox[0].eventHandler&&(w.on("click",function(o){if(!i(o.target).hasClass(l)&&!i(o.target).parents("."+l)[0]&&!i(o.target).hasClass(c.replace(/\./g,""))&&!i(o.target).parents(c)[0]&&e.elemPicker){if(e.color){var t=k(P(e.color));e.select(t.h,t.s,t.b)}else e.elemColorBox.find("."+d).removeClass(a).addClass(s);r[0].style.background=e.color||"",e.removePicker()}}),B.on("resize",function(){return!(!e.elemPicker||!i(c)[0])&&void e.position()}),e.elemColorBox[0].eventHandler=!0)},o.render=function(e){var i=new D(e);return r.call(i)},e(t,o)});layui.define("layer",function(e){"use strict";var t=layui.$,i=layui.layer,a=layui.hint(),n=layui.device(),l="form",r=".layui-form",s="layui-this",o="layui-hide",c="layui-disabled",u=function(){this.config={verify:{required:[/[\S]+/,"必填项不能为空"],phone:[/^1\d{10}$/,"请输入正确的手机号"],email:[/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/,"邮箱格式不正确"],url:[/(^#)|(^http(s*):\/\/[^\s]+\.[^\s]+)/,"链接格式不正确"],number:function(e){if(!e||isNaN(e))return"只能填写数字"},date:[/^(\d{4})[-\/](\d{1}|0\d{1}|1[0-2])([-\/](\d{1}|0\d{1}|[1-2][0-9]|3[0-1]))*$/,"日期格式不正确"],identity:[/(^\d{15}$)|(^\d{17}(x|X|\d)$)/,"请输入正确的身份证号"]}}};u.prototype.set=function(e){var i=this;return t.extend(!0,i.config,e),i},u.prototype.verify=function(e){var i=this;return t.extend(!0,i.config.verify,e),i},u.prototype.on=function(e,t){return layui.onevent.call(this,l,e,t)},u.prototype.val=function(e,i){var a=t(r+'[lay-filter="'+e+'"]');a.each(function(e,a){var n=t(this);layui.each(i,function(e,t){var i,a=n.find('[name="'+e+'"]');a[0]&&(i=a[0].type,"checkbox"===i?a[0].checked=t:"radio"===i?a.each(function(){this.value===t&&(this.checked=!0)}):a.val(t))})}),f.render(null,e)},u.prototype.render=function(e,i){var n=this,u=t(r+function(){return i?'[lay-filter="'+i+'"]':""}()),d={select:function(){var e,i="请选择",a="layui-form-select",n="layui-select-title",r="layui-select-none",d="",f=u.find("select"),v=function(i,l){t(i.target).parent().hasClass(n)&&!l||(t("."+a).removeClass(a+"ed "+a+"up"),e&&d&&e.val(d)),e=null},y=function(i,u,f){var y,p=t(this),m=i.find("."+n),k=m.find("input"),x=i.find("dl"),g=x.children("dd"),b=this.selectedIndex;if(!u){var C=function(){var e=i.offset().top+i.outerHeight()+5-h.scrollTop(),t=x.outerHeight();b=p[0].selectedIndex,i.addClass(a+"ed"),g.removeClass(o),y=null,g.eq(b).addClass(s).siblings().removeClass(s),e+t>h.height()&&e>=t&&i.addClass(a+"up"),$()},w=function(e){i.removeClass(a+"ed "+a+"up"),k.blur(),y=null,e||T(k.val(),function(e){var i=p[0].selectedIndex;e&&(d=t(p[0].options[i]).html(),0===i&&d===k.attr("placeholder")&&(d=""),k.val(d||""))})},$=function(){var e=x.children("dd."+s);if(e[0]){var t=e.position().top,i=x.height(),a=e.height();t>i&&x.scrollTop(t+x.scrollTop()-i+a-5),t<0&&x.scrollTop(t+x.scrollTop()-5)}};m.on("click",function(e){i.hasClass(a+"ed")?w():(v(e,!0),C()),x.find("."+r).remove()}),m.find(".layui-edge").on("click",function(){k.focus()}),k.on("keyup",function(e){var t=e.keyCode;9===t&&C()}).on("keydown",function(e){var t=e.keyCode;9===t&&w();var i=function(t,a){var n,l;e.preventDefault();var r=function(){var e=x.children("dd."+s);if(x.children("dd."+o)[0]&&"next"===t){var i=x.children("dd:not(."+o+",."+c+")"),n=i.eq(0).index();if(n>=0&&n无匹配项

        '):x.find("."+r).remove()},"keyup"),""===t&&x.find("."+r).remove(),void $())};f&&k.on("keyup",j).on("blur",function(i){var a=p[0].selectedIndex;e=k,d=t(p[0].options[a]).html(),0===a&&d===k.attr("placeholder")&&(d=""),setTimeout(function(){T(k.val(),function(e){d||k.val("")},"blur")},200)}),g.on("click",function(){var e=t(this),a=e.attr("lay-value"),n=p.attr("lay-filter");return!e.hasClass(c)&&(e.hasClass("layui-select-tips")?k.val(""):(k.val(e.text()),e.addClass(s)),e.siblings().removeClass(s),p.val(a).removeClass("layui-form-danger"),layui.event.call(this,l,"select("+n+")",{elem:p[0],value:a,othis:i}),w(!0),!1)}),i.find("dl>dt").on("click",function(e){return!1}),t(document).off("click",v).on("click",v)}};f.each(function(e,l){var r=t(this),o=r.next("."+a),u=this.disabled,d=l.value,f=t(l.options[l.selectedIndex]),v=l.options[0];if("string"==typeof r.attr("lay-ignore"))return r.show();var h="string"==typeof r.attr("lay-search"),p=v?v.value?i:v.innerHTML||i:i,m=t(['
        ','
        ','','
        ','
        ',function(e){var t=[];return layui.each(e,function(e,a){0!==e||a.value?"optgroup"===a.tagName.toLowerCase()?t.push("
        "+a.label+"
        "):t.push('
        '+a.innerHTML+"
        "):t.push('
        '+(a.innerHTML||i)+"
        ")}),0===t.length&&t.push('
        没有选项
        '),t.join("")}(r.find("*"))+"
        ","
        "].join(""));o[0]&&o.remove(),r.after(m),y.call(this,m,u,h)})},checkbox:function(){var e={checkbox:["layui-form-checkbox","layui-form-checked","checkbox"],_switch:["layui-form-switch","layui-form-onswitch","switch"]},i=u.find("input[type=checkbox]"),a=function(e,i){var a=t(this);e.on("click",function(){var t=a.attr("lay-filter"),n=(a.attr("lay-text")||"").split("|");a[0].disabled||(a[0].checked?(a[0].checked=!1,e.removeClass(i[1]).find("em").text(n[1])):(a[0].checked=!0,e.addClass(i[1]).find("em").text(n[0])),layui.event.call(a[0],l,i[2]+"("+t+")",{elem:a[0],value:a[0].value,othis:e}))})};i.each(function(i,n){var l=t(this),r=l.attr("lay-skin"),s=(l.attr("lay-text")||"").split("|"),o=this.disabled;"switch"===r&&(r="_"+r);var u=e[r]||e.checkbox;if("string"==typeof l.attr("lay-ignore"))return l.show();var d=l.next("."+u[0]),f=t(['
        ",function(){var e=n.title.replace(/\s/g,""),t={checkbox:[e?""+n.title+"":"",''].join(""),_switch:""+((n.checked?s[0]:s[1])||"")+""};return t[r]||t.checkbox}(),"
        "].join(""));d[0]&&d.remove(),l.after(f),a.call(this,f,u)})},radio:function(){var e="layui-form-radio",i=["",""],a=u.find("input[type=radio]"),n=function(a){var n=t(this),s="layui-anim-scaleSpring";a.on("click",function(){var o=n[0].name,c=n.parents(r),u=n.attr("lay-filter"),d=c.find("input[name="+o.replace(/(\.|#|\[|\])/g,"\\$1")+"]");n[0].disabled||(layui.each(d,function(){var a=t(this).next("."+e);this.checked=!1,a.removeClass(e+"ed"),a.find(".layui-icon").removeClass(s).html(i[1])}),n[0].checked=!0,a.addClass(e+"ed"),a.find(".layui-icon").addClass(s).html(i[0]),layui.event.call(n[0],l,"radio("+u+")",{elem:n[0],value:n[0].value,othis:a}))})};a.each(function(a,l){var r=t(this),s=r.next("."+e),o=this.disabled;if("string"==typeof r.attr("lay-ignore"))return r.show();s[0]&&s.remove();var u=t(['
        ',''+i[l.checked?0:1]+"","
        "+function(){var e=l.title||"";return"string"==typeof r.next().attr("lay-radio")&&(e=r.next().html(),r.next().remove()),e}()+"
        ","
        "].join(""));r.after(u),n.call(this,u)})}};return e?d[e]?d[e]():a.error("不支持的"+e+"表单渲染"):layui.each(d,function(e,t){t()}),n};var d=function(){var e=t(this),a=f.config.verify,s=null,o="layui-form-danger",c={},u=e.parents(r),d=u.find("*[lay-verify]"),v=e.parents("form")[0],h=u.find("input,select,textarea"),y=e.attr("lay-filter");if(layui.each(d,function(e,l){var r=t(this),c=r.attr("lay-verify").split("|"),u=r.attr("lay-verType"),d=r.val();if(r.removeClass(o),layui.each(c,function(e,t){var c,f="",v="function"==typeof a[t];if(a[t]){var c=v?f=a[t](d,l):!a[t][0].test(d);if(f=f||a[t][1],c)return"tips"===u?i.tips(f,function(){return"string"==typeof r.attr("lay-ignore")||"select"!==l.tagName.toLowerCase()&&!/^checkbox|radio$/.test(l.type)?r:r.next()}(),{tips:1}):"alert"===u?i.alert(f,{title:"提示",shadeClose:!0}):i.msg(f,{icon:5,shift:6}),n.android||n.ios||l.focus(),r.addClass(o),s=!0}}),s)return s}),s)return!1;var p={};return layui.each(h,function(e,t){if(t.name=(t.name||"").replace(/^\s*|\s*&/,""),t.name){if(/^.*\[\]$/.test(t.name)){var i=t.name.match(/^(.*)\[\]$/g)[0];p[i]=0|p[i],t.name=t.name.replace(/^(.*)\[\]$/,"$1["+p[i]++ +"]")}/^checkbox|radio$/.test(t.type)&&!t.checked||(c[t.name]=t.value)}}),layui.event.call(this,l,"submit("+y+")",{elem:this,form:v,field:c})},f=new u,v=t(document),h=t(window);f.render(),v.on("reset",r,function(){var e=t(this).attr("lay-filter");setTimeout(function(){f.render(null,e)},50)}),v.on("submit",r,d).on("click","*[lay-submit]",d),e(l,f)});layui.define("jquery",function(e){"use strict";var o=layui.$,a=layui.hint(),i="layui-tree-enter",r=function(e){this.options=e},t={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""};r.prototype.init=function(e){var o=this;e.addClass("layui-box layui-tree"),o.options.skin&&e.addClass("layui-tree-skin-"+o.options.skin),o.tree(e),o.on(e)},r.prototype.tree=function(e,a){var i=this,r=i.options,n=a||r.nodes;layui.each(n,function(a,n){var l=n.children&&n.children.length>0,c=o('
          '),s=o(["
        • ",function(){return l?''+(n.spread?t.arrow[1]:t.arrow[0])+"":""}(),function(){return r.check?''+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"":""}(),function(){return'"+(''+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"")+(""+(n.name||"未命名")+"")}(),"
        • "].join(""));l&&(s.append(c),i.tree(c,n.children)),e.append(s),"function"==typeof r.click&&i.click(s,n),i.spread(s,n),r.drag&&i.drag(s,n)})},r.prototype.click=function(e,o){var a=this,i=a.options;e.children("a").on("click",function(e){layui.stope(e),i.click(o)})},r.prototype.spread=function(e,o){var a=this,i=(a.options,e.children(".layui-tree-spread")),r=e.children("ul"),n=e.children("a"),l=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),i.html(t.arrow[0]),n.find(".layui-icon").html(t.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),i.html(t.arrow[1]),n.find(".layui-icon").html(t.branch[1]))};r[0]&&(i.on("click",l),n.on("dblclick",l))},r.prototype.on=function(e){var a=this,r=a.options,t="layui-tree-drag";e.find("i").on("selectstart",function(e){return!1}),r.drag&&o(document).on("mousemove",function(e){var i=a.move;if(i.from){var r=(i.to,o('
          '));e.preventDefault(),o("."+t)[0]||o("body").append(r);var n=o("."+t)[0]?o("."+t):r;n.addClass("layui-show").html(i.from.elem.children("a").html()),n.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=a.move;e.from&&(e.from.elem.children("a").removeClass(i),e.to&&e.to.elem.children("a").removeClass(i),a.move={},o("."+t).remove())})},r.prototype.move={},r.prototype.drag=function(e,a){var r=this,t=(r.options,e.children("a")),n=function(){var t=o(this),n=r.move;n.from&&(n.to={item:a,elem:e},t.addClass(i))};t.on("mousedown",function(){var o=r.move;o.from={item:a,elem:e}}),t.on("mouseenter",n).on("mousemove",n).on("mouseleave",function(){var e=o(this),a=r.move;a.from&&(delete a.to,e.removeClass(i))})},e("tree",function(e){var i=new r(e=e||{}),t=o(e.elem);return t[0]?void i.init(t):a.error("layui.tree 没有找到"+e.elem+"元素")})});layui.define(["laytpl","laypage","layer","form","util"],function(e){"use strict";var t=layui.$,i=layui.laytpl,a=layui.laypage,l=layui.layer,n=layui.form,o=(layui.util,layui.hint()),r=layui.device(),d={config:{checkName:"LAY_CHECKED",indexName:"LAY_TABLE_INDEX"},cache:{},index:layui.table?layui.table.index+1e4:0,set:function(e){var i=this;return i.config=t.extend({},i.config,e),i},on:function(e,t){return layui.onevent.call(this,u,e,t)}},c=function(){var e=this,t=e.config,i=t.id||t.index;return i&&(c.that[i]=e,c.config[i]=t),{reload:function(t){e.reload.call(e,t)},setColsWidth:function(){e.setColsWidth.call(e)},resize:function(){e.resize.call(e)},config:t}},s=function(e){var t=c.config[e];return t||o.error("The ID option was not found in the table instance"),t||null},u="table",h=".layui-table",y="layui-hide",f="layui-none",p="layui-table-view",v=".layui-table-tool",m=".layui-table-box",g=".layui-table-init",b=".layui-table-header",x=".layui-table-body",k=".layui-table-main",C=".layui-table-fixed",w=".layui-table-fixed-l",T=".layui-table-fixed-r",A=".layui-table-total",L=".layui-table-page",S=".layui-table-sort",N="layui-table-edit",W="layui-table-hover",_=function(e){var t='{{#if(item2.colspan){}} colspan="{{item2.colspan}}"{{#} if(item2.rowspan){}} rowspan="{{item2.rowspan}}"{{#}}}';return e=e||{},['',"","{{# layui.each(d.data.cols, function(i1, item1){ }}","","{{# layui.each(item1, function(i2, item2){ }}",'{{# if(item2.fixed && item2.fixed !== "right"){ left = true; } }}','{{# if(item2.fixed === "right"){ right = true; } }}',function(){return e.fixed&&"right"!==e.fixed?'{{# if(item2.fixed && item2.fixed !== "right"){ }}':"right"===e.fixed?'{{# if(item2.fixed === "right"){ }}':""}(),"{{# var isSort = !(item2.colGroup) && item2.sort; }}",'",e.fixed?"{{# }; }}":"","{{# }); }}","","{{# }); }}","","
          ','
          ','{{# if(item2.type === "checkbox"){ }}','',"{{# } else { }}",'{{item2.title||""}}',"{{# if(isSort){ }}",'',"{{# } }}","{{# } }}","
          ","
          "].join("")},E=['',"","
          "].join(""),z=['
          ',"{{# if(d.data.toolbar){ }}",'
          ','
          ','
          ',"
          ","{{# } }}",'
          ',"{{# if(d.data.loading){ }}",'
          ','',"
          ","{{# } }}","{{# var left, right; }}",'
          ',_(),"
          ",'
          ',E,"
          ","{{# if(left){ }}",'
          ','
          ',_({fixed:!0}),"
          ",'
          ',E,"
          ","
          ","{{# }; }}","{{# if(right){ }}",'
          ','
          ',_({fixed:"right"}),'
          ',"
          ",'
          ',E,"
          ","
          ","{{# }; }}","
          ","{{# if(d.data.totalRow){ }}",'
          ','','',"
          ","
          ","{{# } }}","{{# if(d.data.page){ }}",'
          ','
          ',"
          ","{{# } }}","","
          "].join(""),H=t(window),R=t(document),F=function(e){var i=this;i.index=++d.index,i.config=t.extend({},i.config,d.config,e),i.render()};F.prototype.config={limit:10,loading:!0,cellMinWidth:60,defaultToolbar:["filter","exports","print"],autoSort:!0,text:{none:"无数据"}},F.prototype.render=function(){var e=this,a=e.config;if(a.elem=t(a.elem),a.where=a.where||{},a.id=a.id||a.elem.attr("id")||e.index,a.request=t.extend({pageName:"page",limitName:"limit"},a.request),a.response=t.extend({statusName:"code",statusCode:0,msgName:"msg",dataName:"data",countName:"count"},a.response),"object"==typeof a.page&&(a.limit=a.page.limit||a.limit,a.limits=a.page.limits||a.limits,e.page=a.page.curr=a.page.curr||1,delete a.page.elem,delete a.page.jump),!a.elem[0])return e;a.height&&/^full-\d+$/.test(a.height)&&(e.fullHeightGap=a.height.split("-")[1],a.height=H.height()-e.fullHeightGap),e.setInit();var l=a.elem,n=l.next("."+p),o=e.elem=t(i(z).render({VIEW_CLASS:p,data:a,index:e.index}));if(a.index=e.index,n[0]&&n.remove(),l.after(o),e.layTool=o.find(v),e.layBox=o.find(m),e.layHeader=o.find(b),e.layMain=o.find(k),e.layBody=o.find(x),e.layFixed=o.find(C),e.layFixLeft=o.find(w),e.layFixRight=o.find(T),e.layTotal=o.find(A),e.layPage=o.find(L),e.renderToolbar(),e.fullSize(),a.cols.length>1){var r=e.layFixed.find(b).find("th");r.height(e.layHeader.height()-1-parseFloat(r.css("padding-top"))-parseFloat(r.css("padding-bottom")))}e.pullData(e.page),e.events()},F.prototype.initOpts=function(e){var t=this,i=(t.config,{checkbox:48,radio:48,space:15,numbers:40});e.checkbox&&(e.type="checkbox"),e.space&&(e.type="space"),e.type||(e.type="normal"),"normal"!==e.type&&(e.unresize=!0,e.width=e.width||i[e.type])},F.prototype.setInit=function(e){var t=this,i=t.config;return i.clientWidth=i.width||function(){var e=function(t){var a,l;t=t||i.elem.parent(),a=t.width();try{l="none"===t.css("display")}catch(n){}return!t[0]||a&&!l?a:e(t.parent())};return e()}(),"width"===e?i.clientWidth:void layui.each(i.cols,function(e,a){layui.each(a,function(l,n){if(!n)return void a.splice(l,1);if(n.key=e+"-"+l,n.hide=n.hide||!1,n.colGroup||n.colspan>1){var o=0;layui.each(i.cols[e+1],function(t,i){i.HAS_PARENT||o>1&&o==n.colspan||(i.HAS_PARENT=!0,i.parentKey=e+"-"+l,o+=parseInt(i.colspan>1?i.colspan:1))}),n.colGroup=!0}t.initOpts(n)})})},F.prototype.renderToolbar=function(){var e=this,a=e.config,l=['
          ','
          ','
          '].join(""),n=e.layTool.find(".layui-table-tool-temp");if("default"===a.toolbar)n.html(l);else if("string"==typeof a.toolbar){var o=t(a.toolbar).html()||"";o&&n.html(i(o).render(a))}var r={filter:{title:"筛选列",layEvent:"LAYTABLE_COLS",icon:"layui-icon-cols"},exports:{title:"导出",layEvent:"LAYTABLE_EXPORT",icon:"layui-icon-export"},print:{title:"打印",layEvent:"LAYTABLE_PRINT",icon:"layui-icon-print"}},d=[];"object"==typeof a.defaultToolbar&&layui.each(a.defaultToolbar,function(e,t){var i=r[t];i&&d.push('
          ')}),e.layTool.find(".layui-table-tool-self").html(d.join(""))},F.prototype.setParentCol=function(e,t){var i=this,a=i.config,l=i.layHeader.find('th[data-key="'+a.index+"-"+t+'"]'),n=parseInt(l.attr("colspan"))||0;if(l[0]){var o=t.split("-"),r=a.cols[o[0]][o[1]];e?n--:n++,l.attr("colspan",n),l[n<1?"addClass":"removeClass"](y),r.colspan=n,r.hide=n<1;var d=l.data("parentkey");d&&i.setParentCol(e,d)}},F.prototype.setColsPatch=function(){var e=this,t=e.config;layui.each(t.cols,function(t,i){layui.each(i,function(t,i){i.hide&&e.setParentCol(i.hide,i.parentKey)})})},F.prototype.setColsWidth=function(){var e=this,t=e.config,i=0,a=0,l=0,n=0,o=e.setInit("width");e.eachCols(function(e,t){t.hide||i++}),o=o-function(){return"line"===t.skin||"nob"===t.skin?2:i+1}()-e.getScrollWidth(e.layMain[0])-1;var r=function(e){layui.each(t.cols,function(i,r){layui.each(r,function(i,d){var c=0,s=d.minWidth||t.cellMinWidth;return d?void(d.colGroup||d.hide||(e?l&&ln&&a&&(l=(o-n)/a)};r(),r(!0),e.autoColNums=a,e.eachCols(function(i,a){var n=a.minWidth||t.cellMinWidth;a.colGroup||a.hide||(0===a.width?e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(l>=n?l:n)+"px"}):/\d+%$/.test(a.width)&&e.getCssRule(t.index+"-"+a.key,function(e){e.style.width=Math.floor(parseFloat(a.width)/100*o)+"px"}))});var d=e.layMain.width()-e.getScrollWidth(e.layMain[0])-e.layMain.children("table").outerWidth();if(e.autoColNums&&d>=-i&&d<=i){var c=function(t){var i;return t=t||e.layHeader.eq(0).find("thead th:last-child"),i=t.data("field"),!i&&t.prev()[0]?c(t.prev()):t},s=c(),u=s.data("key");e.getCssRule(u,function(t){var i=t.style.width||s.outerWidth();t.style.width=parseFloat(i)+d+"px",e.layMain.height()-e.layMain.prop("clientHeight")>0&&(t.style.width=parseFloat(t.style.width)-1+"px")})}e.loading(!0)},F.prototype.resize=function(){var e=this;e.fullSize(),e.setColsWidth(),e.scrollPatch()},F.prototype.reload=function(e){var i=this;i.config.data&&i.config.data.constructor===Array&&delete i.config.data,i.config=t.extend({},i.config,e),i.render()},F.prototype.page=1,F.prototype.pullData=function(e){var i=this,a=i.config,l=a.request,n=a.response,o=function(){"object"==typeof a.initSort&&i.sort(a.initSort.field,a.initSort.type)};if(i.startTime=(new Date).getTime(),a.url){var r={};r[l.pageName]=e,r[l.limitName]=a.limit;var d=t.extend(r,a.where);a.contentType&&0==a.contentType.indexOf("application/json")&&(d=JSON.stringify(d)),t.ajax({type:a.method||"get",url:a.url,contentType:a.contentType,data:d,dataType:"json",headers:a.headers||{},success:function(t){"function"==typeof a.parseData&&(t=a.parseData(t)||t),t[n.statusName]!=n.statusCode?(i.renderForm(),i.layMain.html('
          '+(t[n.msgName]||"返回的数据不符合规范,正确的成功状态码 ("+n.statusName+") 应为:"+n.statusCode)+"
          ")):(i.renderData(t,e,t[n.countName]),o(),a.time=(new Date).getTime()-i.startTime+" ms"),i.setColsWidth(),"function"==typeof a.done&&a.done(t,e,t[n.countName])},error:function(e,t){i.layMain.html('
          数据接口请求异常:'+t+"
          "),i.renderForm(),i.setColsWidth()}})}else if(a.data&&a.data.constructor===Array){var c={},s=e*a.limit-a.limit;c[n.dataName]=a.data.concat().splice(s,a.limit),c[n.countName]=a.data.length,i.renderData(c,e,a.data.length),o(),i.setColsWidth(),"function"==typeof a.done&&a.done(c,e,c[n.countName])}},F.prototype.eachCols=function(e){var t=this;return d.eachCols(null,e,t.config.cols),t},F.prototype.renderData=function(e,n,o,r){var c=this,s=c.config,u=e[s.response.dataName]||[],h=[],p=[],v=[],m=function(){var e;return!r&&c.sortKey?c.sort(c.sortKey.field,c.sortKey.sort,!0):(layui.each(u,function(a,l){var o=[],u=[],f=[],m=a+s.limit*(n-1)+1;0!==l.length&&(r||(l[d.config.indexName]=a),c.eachCols(function(n,r){var c=r.field||n,h=s.index+"-"+r.key,p=l[c];if(void 0!==p&&null!==p||(p=""),!r.colGroup){var v=['','
          '+function(){var n=t.extend(!0,{LAY_INDEX:m},l),o=d.config.checkName;switch(r.type){case"checkbox":return'";case"radio":return n[o]&&(e=a),'';case"numbers":return m}return r.toolbar?i(t(r.toolbar).html()||"").render(n):r.templet?function(){return"function"==typeof r.templet?r.templet(n):i(t(r.templet).html()||String(p)).render(n)}():p}(),"
          "].join("");o.push(v),r.fixed&&"right"!==r.fixed&&u.push(v),"right"===r.fixed&&f.push(v)}}),h.push(''+o.join("")+""),p.push(''+u.join("")+""),v.push(''+f.join("")+""))}),c.layBody.scrollTop(0),c.layMain.find("."+f).remove(),c.layMain.find("tbody").html(h.join("")),c.layFixLeft.find("tbody").html(p.join("")),c.layFixRight.find("tbody").html(v.join("")),c.renderForm(),"number"==typeof e&&c.setThisRowChecked(e),c.syncCheckAll(),c.haveInit?c.scrollPatch():setTimeout(function(){c.scrollPatch()},50),c.haveInit=!0,l.close(c.tipsIndex),s.HAS_SET_COLS_PATCH||c.setColsPatch(),void(s.HAS_SET_COLS_PATCH=!0))};return c.key=s.id||s.index,d.cache[c.key]=u,c.layPage[0==o||0===u.length&&1==n?"addClass":"removeClass"](y),r?m():0===u.length?(c.renderForm(),c.layFixed.remove(),c.layMain.find("tbody").html(""),c.layMain.find("."+f).remove(),c.layMain.append('
          '+s.text.none+"
          ")):(m(),c.renderTotal(u),void(s.page&&(s.page=t.extend({elem:"layui-table-page"+s.index,count:o,limit:s.limit,limits:s.limits||[10,20,30,40,50,60,70,80,90],groups:3,layout:["prev","page","next","skip","count","limit"],prev:'',next:'',jump:function(e,t){t||(c.page=e.curr,s.limit=e.limit,c.loading(),c.pullData(e.curr))}},s.page),s.page.count=o,a.render(s.page))))},F.prototype.renderTotal=function(e){var t=this,i=t.config,a={};if(i.totalRow){layui.each(e,function(e,i){0!==i.length&&t.eachCols(function(e,t){var l=t.field||e,n=i[l];t.totalRow&&(a[l]=(a[l]||0)+(parseFloat(n)||0))})});var l=[];t.eachCols(function(e,t){var n=t.field||e,o=['','
          '+function(){var e=t.totalRowText||"";return t.totalRow?parseFloat(a[n]).toFixed(2)||e:e}(),"
          "].join("");l.push(o)}),t.layTotal.find("tbody").html(""+l.join("")+"")}},F.prototype.getColElem=function(e,t){var i=this,a=i.config;return e.eq(0).find(".laytable-cell-"+(a.index+"-"+t)+":eq(0)")},F.prototype.renderForm=function(e){n.render(e,"LAY-table-"+this.index)},F.prototype.setThisRowChecked=function(e){var t=this,i=(t.config,"layui-table-click"),a=t.layBody.find('tr[data-index="'+e+'"]');a.addClass(i).siblings("tr").removeClass(i)},F.prototype.sort=function(e,i,a,l){var n,r,c=this,s={},h=c.config,y=h.elem.attr("lay-filter"),f=d.cache[c.key];"string"==typeof e&&c.layHeader.find("th").each(function(i,a){var l=t(this),o=l.data("field");if(o===e)return e=l,n=o,!1});try{var n=n||e.data("field"),p=e.data("key");if(c.sortKey&&!a&&n===c.sortKey.field&&i===c.sortKey.sort)return;var v=c.layHeader.find("th .laytable-cell-"+p).find(S);c.layHeader.find("th").find(S).removeAttr("lay-sort"),v.attr("lay-sort",i||null),c.layFixed.find("th")}catch(m){return o.error("Table modules: Did not match to field")}c.sortKey={field:n,sort:i},h.autoSort&&("asc"===i?r=layui.sort(f,n):"desc"===i?r=layui.sort(f,n,!0):(r=layui.sort(f,d.config.indexName),delete c.sortKey)),s[h.response.dataName]=r||f,c.renderData(s,c.page,c.count,!0),l&&layui.event.call(e,u,"sort("+y+")",{field:n,type:i})},F.prototype.loading=function(e){var i=this,a=i.config;a.loading&&(e?(i.layInit&&i.layInit.remove(),delete i.layInit,i.layBox.find(g).remove()):(i.layInit=t(['
          ','',"
          "].join("")),i.layBox.append(i.layInit)))},F.prototype.setCheckData=function(e,t){var i=this,a=i.config,l=d.cache[i.key];l[e]&&l[e].constructor!==Array&&(l[e][a.checkName]=t)},F.prototype.syncCheckAll=function(){var e=this,t=e.config,i=e.layHeader.find('input[name="layTableCheckbox"]'),a=function(i){return e.eachCols(function(e,a){"checkbox"===a.type&&(a[t.checkName]=i)}),i};i[0]&&(d.checkStatus(e.key).isAll?(i[0].checked||(i.prop("checked",!0),e.renderForm("checkbox")),a(!0)):(i[0].checked&&(i.prop("checked",!1),e.renderForm("checkbox")),a(!1)))},F.prototype.getCssRule=function(e,t){var i=this,a=i.elem.find("style")[0],l=a.sheet||a.styleSheet||{},n=l.cssRules||l.rules;layui.each(n,function(i,a){if(a.selectorText===".laytable-cell-"+e)return t(a),!0})},F.prototype.fullSize=function(){var e,t=this,i=t.config,a=i.height;t.fullHeightGap&&(a=H.height()-t.fullHeightGap,a<135&&(a=135),t.elem.css("height",a)),a&&(e=parseFloat(a)-(t.layHeader.outerHeight()||38),i.toolbar&&(e-=t.layTool.outerHeight()||50),i.totalRow&&(e-=t.layTotal.outerHeight()||40),i.page&&(e=e-(t.layPage.outerHeight()||41)-2),t.layMain.css("height",e))},F.prototype.getScrollWidth=function(e){var t=0;return e?t=e.offsetWidth-e.clientWidth:(e=document.createElement("div"),e.style.width="100px",e.style.height="100px",e.style.overflowY="scroll",document.body.appendChild(e),t=e.offsetWidth-e.clientWidth,document.body.removeChild(e)),t},F.prototype.scrollPatch=function(){var e=this,i=e.layMain.children("table"),a=e.layMain.width()-e.layMain.prop("clientWidth"),l=e.layMain.height()-e.layMain.prop("clientHeight"),n=(e.getScrollWidth(e.layMain[0]),i.outerWidth()-e.layMain.width()),o=function(e){if(a&&l){if(e=e.eq(0),!e.find(".layui-table-patch")[0]){var i=t('
          ');i.find("div").css({width:a}),e.find("tr").append(i)}}else e.find(".layui-table-patch").remove()};o(e.layHeader),o(e.layTotal);var r=e.layMain.height(),d=r-l;e.layFixed.find(x).css("height",i.height()>=d?d:"auto"),e.layFixRight[n>0?"removeClass":"addClass"](y),e.layFixRight.css("right",a-1)},F.prototype.events=function(){var e,a=this,o=a.config,c=t("body"),s={},h=a.layHeader.find("th"),f=".layui-table-cell",p=o.elem.attr("lay-filter");a.layTool.on("click","*[lay-event]",function(e){var i=t(this),c=i.attr("lay-event"),s=function(e){var l=t(e.list),n=t('
            ');n.html(l),o.height&&n.css("max-height",o.height-(a.layTool.outerHeight()||50)),i.find(".layui-table-tool-panel")[0]||i.append(n),a.renderForm(),n.on("click",function(e){layui.stope(e)}),e.done&&e.done(n,l)};switch(layui.stope(e),R.trigger("table.tool.panel.remove"),l.close(a.tipsIndex),c){case"LAYTABLE_COLS":s({list:function(){var e=[];return a.eachCols(function(t,i){i.field&&"normal"==i.type&&e.push('
          • ')}),e.join("")}(),done:function(){n.on("checkbox(LAY_TABLE_TOOL_COLS)",function(e){var i=t(e.elem),l=this.checked,n=i.data("key"),r=i.data("parentkey");layui.each(o.cols,function(e,t){layui.each(t,function(t,i){if(e+"-"+t===n){var d=i.hide;i.hide=!l,a.elem.find('*[data-key="'+o.index+"-"+n+'"]')[l?"removeClass":"addClass"](y),d!=i.hide&&a.setParentCol(!l,r),a.resize()}})})})}});break;case"LAYTABLE_EXPORT":r.ie?l.tips("导出功能不支持 IE,请用 Chrome 等高级浏览器导出",this,{tips:3}):s({list:function(){return['
          • 导出到 Csv 文件
          • ','
          • 导出到 Excel 文件
          • '].join("")}(),done:function(e,i){i.on("click",function(){var e=t(this).data("type");d.exportFile(o.id,null,e)})}});break;case"LAYTABLE_PRINT":var h=window.open("打印窗口","_blank"),f=[""].join(""),v=t(a.layHeader.html());v.append(a.layMain.find("table").html()),v.find("th.layui-table-patch").remove(),v.find(".layui-table-col-special").remove(),h.document.write(f+v.prop("outerHTML")),h.document.close(),h.print(),h.close()}layui.event.call(this,u,"toolbar("+p+")",t.extend({event:c,config:o},{}))}),h.on("mousemove",function(e){var i=t(this),a=i.offset().left,l=e.clientX-a;i.data("unresize")||s.resizeStart||(s.allowResize=i.width()-l<=10,c.css("cursor",s.allowResize?"col-resize":""))}).on("mouseleave",function(){t(this);s.resizeStart||c.css("cursor","")}).on("mousedown",function(e){var i=t(this);if(s.allowResize){var l=i.data("key");e.preventDefault(),s.resizeStart=!0,s.offset=[e.clientX,e.clientY],a.getCssRule(l,function(e){var t=e.style.width||i.outerWidth();s.rule=e,s.ruleWidth=parseFloat(t),s.minWidth=i.data("minwidth")||o.cellMinWidth})}}),R.on("mousemove",function(t){if(s.resizeStart){if(t.preventDefault(),s.rule){var i=s.ruleWidth+t.clientX-s.offset[0];i');return n[0].value=i.data("content")||l.text(),i.find("."+N)[0]||i.append(n),n.focus(),void layui.stope(e)}}).on("mouseenter","td",function(){b.call(this)}).on("mouseleave","td",function(){b.call(this,"hide")});var g="layui-table-grid-down",b=function(e){var i=t(this),a=i.children(f);if(e)i.find(".layui-table-grid-down").remove();else if(a.prop("scrollWidth")>a.outerWidth()){if(a.find("."+g)[0])return;i.append('
            ')}};a.layBody.on("click","."+g,function(e){var i=t(this),n=i.parent(),d=n.children(f);a.tipsIndex=l.tips(['
            ',d.html(),"
            ",''].join(""),d[0],{tips:[3,""],time:-1,anim:-1,maxWidth:r.ios||r.android?300:a.elem.width()/2,isOutAnim:!1,skin:"layui-table-tips",success:function(e,t){e.find(".layui-table-tips-c").on("click",function(){l.close(t)})}}),layui.stope(e)}),a.layBody.on("click","*[lay-event]",function(){var e=t(this),i=e.parents("tr").eq(0).data("index");layui.event.call(this,u,"tool("+p+")",v.call(this,{event:e.attr("lay-event")})),a.setThisRowChecked(i)}),a.layMain.on("scroll",function(){var e=t(this),i=e.scrollLeft(),n=e.scrollTop();a.layHeader.scrollLeft(i),a.layTotal.scrollLeft(i),a.layFixed.find(x).scrollTop(n),l.close(a.tipsIndex)}),R.on("click",function(){R.trigger("table.remove.tool.panel")}),R.on("table.remove.tool.panel",function(){t(".layui-table-tool-panel").remove()}),H.on("resize",function(){a.resize()})},d.init=function(e,i){i=i||{};var a=this,l=t(e?'table[lay-filter="'+e+'"]':h+"[lay-data]"),n="Table element property lay-data configuration item has a syntax error: ";return l.each(function(){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){o.error(n+l)}var c=[],s=t.extend({elem:this,cols:[],data:[],skin:a.attr("lay-skin"),size:a.attr("lay-size"),even:"string"==typeof a.attr("lay-even")},d.config,i,l);e&&a.hide(),a.find("thead>tr").each(function(e){s.cols[e]=[],t(this).children().each(function(i){var a=t(this),l=a.attr("lay-data");try{l=new Function("return "+l)()}catch(r){return o.error(n+l)}var d=t.extend({title:a.text(),colspan:a.attr("colspan")||0,rowspan:a.attr("rowspan")||0},l);d.colspan<2&&c.push(d),s.cols[e].push(d)})}),a.find("tbody>tr").each(function(e){var i=t(this),a={};i.children("td").each(function(e,i){var l=t(this),n=l.data("field");if(n)return a[n]=l.html()}),layui.each(c,function(e,t){var l=i.children("td").eq(e);a[t.field]=l.html()}),s.data[e]=a}),d.render(s)}),a},c.that={},c.config={},d.eachCols=function(e,i,a){var l=c.config[e]||{},n=[],o=0;a=t.extend(!0,[],a||l.cols),layui.each(a,function(e,t){layui.each(t,function(t,i){if(i.colGroup){var l=0;o++,i.CHILD_COLS=[],layui.each(a[e+1],function(e,t){t.PARENT_COL_INDEX||l>1&&l==i.colspan||(t.PARENT_COL_INDEX=o,i.CHILD_COLS.push(t),l+=parseInt(t.colspan>1?t.colspan:1))})}i.PARENT_COL_INDEX||n.push(i)})});var r=function(e){layui.each(e||n,function(e,t){return t.CHILD_COLS?r(t.CHILD_COLS):void("function"==typeof i&&i(e,t))})};r()},d.checkStatus=function(e){var t=0,i=0,a=[],l=d.cache[e]||[];return layui.each(l,function(e,l){return l.constructor===Array?void i++:void(l[d.config.checkName]&&(t++,a.push(d.clearCacheKey(l))))}),{data:a,isAll:!!l.length&&t===l.length-i}},d.exportFile=function(e,t,i){t=t||d.clearCacheKey(d.cache[e]),i=i||"csv";var a=c.config[e]||{},l={csv:"text/csv",xls:"application/vnd.ms-excel"}[i],n=document.createElement("a");return r.ie?o.error("IE_NOT_SUPPORT_EXPORTS"):(n.href="data:"+l+";charset=utf-8,\ufeff"+encodeURIComponent(function(){var i=[],a=[];return layui.each(t,function(t,l){var n=[];"object"==typeof e?(layui.each(e,function(e,a){0==t&&i.push(a||"")}),layui.each(d.clearCacheKey(l),function(e,t){n.push(t)})):d.eachCols(e,function(e,a){a.field&&"normal"==a.type&&!a.hide&&(0==t&&i.push(a.title||""),n.push(l[a.field]))}),a.push(n.join(","))}),i.join(",")+"\r\n"+a.join("\r\n")}()),n.download=(a.title||"table_"+(a.index||""))+"."+i,document.body.appendChild(n),n.click(),void document.body.removeChild(n))},d.resize=function(e){if(e){var t=s(e);if(!t)return;c.that[e].resize()}else layui.each(c.that,function(){this.resize()})},d.reload=function(e,i){i=i||{};var a=s(e);if(a)return i.data&&i.data.constructor===Array&&delete a.data,d.render(t.extend(!0,{},a,i))},d.render=function(e){var t=new F(e);return c.call(t)},d.clearCacheKey=function(e){return e=t.extend({},e),delete e[d.config.checkName],delete e[d.config.indexName],e},d.init(),e(u,d)});layui.define("jquery",function(e){"use strict";var i=layui.$,n=(layui.hint(),layui.device(),{config:{},set:function(e){var n=this;return n.config=i.extend({},n.config,e),n},on:function(e,i){return layui.onevent.call(this,t,e,i)}}),t="carousel",a="layui-this",l=">*[carousel-item]>*",o="layui-carousel-left",r="layui-carousel-right",d="layui-carousel-prev",s="layui-carousel-next",u="layui-carousel-arrow",c="layui-carousel-ind",m=function(e){var t=this;t.config=i.extend({},t.config,n.config,e),t.render()};m.prototype.config={width:"600px",height:"280px",full:!1,arrow:"hover",indicator:"inside",autoplay:!0,interval:3e3,anim:"",trigger:"click",index:0},m.prototype.render=function(){var e=this,n=e.config;n.elem=i(n.elem),n.elem[0]&&(e.elemItem=n.elem.find(l),n.index<0&&(n.index=0),n.index>=e.elemItem.length&&(n.index=e.elemItem.length-1),n.interval<800&&(n.interval=800),n.full?n.elem.css({position:"fixed",width:"100%",height:"100%",zIndex:9999}):n.elem.css({width:n.width,height:n.height}),n.elem.attr("lay-anim",n.anim),e.elemItem.eq(n.index).addClass(a),e.elemItem.length<=1||(e.indicator(),e.arrow(),e.autoplay(),e.events()))},m.prototype.reload=function(e){var n=this;clearInterval(n.timer),n.config=i.extend({},n.config,e),n.render()},m.prototype.prevIndex=function(){var e=this,i=e.config,n=i.index-1;return n<0&&(n=e.elemItem.length-1),n},m.prototype.nextIndex=function(){var e=this,i=e.config,n=i.index+1;return n>=e.elemItem.length&&(n=0),n},m.prototype.addIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index+e,n.index>=i.elemItem.length&&(n.index=0)},m.prototype.subIndex=function(e){var i=this,n=i.config;e=e||1,n.index=n.index-e,n.index<0&&(n.index=i.elemItem.length-1)},m.prototype.autoplay=function(){var e=this,i=e.config;i.autoplay&&(e.timer=setInterval(function(){e.slide()},i.interval))},m.prototype.arrow=function(){var e=this,n=e.config,t=i(['",'"].join(""));n.elem.attr("lay-arrow",n.arrow),n.elem.find("."+u)[0]&&n.elem.find("."+u).remove(),n.elem.append(t),t.on("click",function(){var n=i(this),t=n.attr("lay-type");e.slide(t)})},m.prototype.indicator=function(){var e=this,n=e.config,t=e.elemInd=i(['
              ',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("")}),i.join("")}(),"
            "].join(""));n.elem.attr("lay-indicator",n.indicator),n.elem.find("."+c)[0]&&n.elem.find("."+c).remove(),n.elem.append(t),"updown"===n.anim&&t.css("margin-top",-(t.height()/2)),t.find("li").on("hover"===n.trigger?"mouseover":n.trigger,function(){var t=i(this),a=t.index();a>n.index?e.slide("add",a-n.index):a",u=1;u<=i.length;u++){var r='
          • ";i.half&&parseInt(i.value)!==i.value&&u==Math.ceil(i.value)?n=n+'
          • ":n+=r}n+=""+(i.text?''+i.value+"星":"")+"";var c=i.elem,f=c.next("."+t);f[0]&&f.remove(),e.elemTemp=a(n),i.span=e.elemTemp.next("span"),i.setText&&i.setText(i.value),c.html(e.elemTemp),c.addClass("layui-inline"),i.readonly||e.action()},v.prototype.setvalue=function(e){var a=this,i=a.config;i.value=e,a.render()},v.prototype.action=function(){var e=this,i=e.config,l=e.elemTemp,n=l.find("i").width();l.children("li").each(function(e){var t=e+1,v=a(this);v.on("click",function(e){if(i.value=t,i.half){var o=e.pageX-a(this).offset().left;o<=n/2&&(i.value=i.value-.5)}i.text&&l.next("span").text(i.value+"星"),i.choose&&i.choose(i.value),i.setText&&i.setText(i.value)}),v.on("mousemove",function(e){if(l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+t+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half){var c=e.pageX-a(this).offset().left;c<=n/2&&v.children("i").addClass(u).removeClass(s)}}),v.on("mouseleave",function(){l.find("i").each(function(){a(this).addClass(o).removeClass(r)}),l.find("i:lt("+Math.floor(i.value)+")").each(function(){a(this).addClass(s).removeClass(f)}),i.half&&parseInt(i.value)!==i.value&&l.children("li:eq("+Math.floor(i.value)+")").children("i").addClass(u).removeClass(c)})})},v.prototype.events=function(){var e=this;e.config},i.render=function(e){var a=new v(e);return l.call(a)},e(n,i)});layui.define("jquery",function(t){"use strict";var e=layui.$,i={fixbar:function(t){var i,a,n="layui-fixbar",r="layui-fixbar-top",o=e(document),l=e("body");t=e.extend({showHeight:200},t),t.bar1=t.bar1===!0?"":t.bar1,t.bar2=t.bar2===!0?"":t.bar2,t.bgcolor=t.bgcolor?"background-color:"+t.bgcolor:"";var c=[t.bar1,t.bar2,""],g=e(['
              ',t.bar1?'
            • '+c[0]+"
            • ":"",t.bar2?'
            • '+c[1]+"
            • ":"",'
            • '+c[2]+"
            • ","
            "].join("")),s=g.find("."+r),u=function(){var e=o.scrollTop();e>=t.showHeight?i||(s.show(),i=1):i&&(s.hide(),i=0)};e("."+n)[0]||("object"==typeof t.css&&g.css(t.css),l.append(g),u(),g.find("li").on("click",function(){var i=e(this),a=i.attr("lay-type");"top"===a&&e("html,body").animate({scrollTop:0},200),t.click&&t.click.call(this,a)}),o.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){u()},100)}))},countdown:function(t,e,i){var a=this,n="function"==typeof e,r=new Date(t).getTime(),o=new Date(!e||n?(new Date).getTime():e).getTime(),l=r-o,c=[Math.floor(l/864e5),Math.floor(l/36e5)%24,Math.floor(l/6e4)%60,Math.floor(l/1e3)%60];n&&(i=e);var g=setTimeout(function(){a.countdown(t,o+1e3,i)},1e3);return i&&i(l>0?c:[0,0,0,0],e,g),l<=0&&clearTimeout(g),g},timeAgo:function(t,e){var i=this,a=[[],[]],n=(new Date).getTime()-new Date(t).getTime();return n>6912e5?(n=new Date(t),a[0][0]=i.digit(n.getFullYear(),4),a[0][1]=i.digit(n.getMonth()+1),a[0][2]=i.digit(n.getDate()),e||(a[1][0]=i.digit(n.getHours()),a[1][1]=i.digit(n.getMinutes()),a[1][2]=i.digit(n.getSeconds())),a[0].join("-")+" "+a[1].join(":")):n>=864e5?(n/1e3/60/60/24|0)+"天前":n>=36e5?(n/1e3/60/60|0)+"小时前":n>=12e4?(n/1e3/60|0)+"分钟前":n<0?"未来":"刚刚"},digit:function(t,e){var i="";t=String(t),e=e||2;for(var a=t.length;a/g,">").replace(/'/g,"'").replace(/"/g,""")}};!function(t,e,i){"$:nomunge";function a(){n=e[l](function(){r.each(function(){var e=t(this),i=e.width(),a=e.height(),n=t.data(this,g);(i!==n.w||a!==n.h)&&e.trigger(c,[n.w=i,n.h=a])}),a()},o[s])}var n,r=t([]),o=t.resize=t.extend(t.resize,{}),l="setTimeout",c="resize",g=c+"-special-event",s="delay",u="throttleWindow";o[s]=250,o[u]=!0,t.event.special[c]={setup:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.add(e),t.data(this,g,{w:e.width(),h:e.height()}),1===r.length&&a()},teardown:function(){if(!o[u]&&this[l])return!1;var e=t(this);r=r.not(e),e.removeData(g),r.length||clearTimeout(n)},add:function(e){function a(e,a,r){var o=t(this),l=t.data(this,g)||{};l.w=a!==i?a:o.width(),l.h=r!==i?r:o.height(),n.apply(this,arguments)}if(!o[u]&&this[l])return!1;var n;return t.isFunction(e)?(n=e,a):(n=e.handler,void(e.handler=a))}}}(e,window),t("util",i)});layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='';o.prototype.load=function(e){var o,i,n,r,a=this,c=0;e=e||{};var f=l(e.elem);if(f[0]){var m=l(e.scrollElem||document),u=e.mb||50,s=!("isAuto"in e)||e.isAuto,v=e.end||"没有更多了",y=e.scrollElem&&e.scrollElem!==document,d="加载更多",h=l('");f.find(".layui-flow-more")[0]||f.append(h);var p=function(e,t){e=l(e),h.before(e),t=0==t||null,t?h.html(v):h.find("a").html(d),i=t,o=null,n&&n()},g=function(){o=!0,h.find("a").html(t),"function"==typeof e.done&&e.done(++c,p)};if(g(),h.find("a").on("click",function(){l(this);i||o||g()}),e.isLazyimg)var n=a.lazyimg({elem:e.elem+" img",scrollElem:e.scrollElem});return s?(m.on("scroll",function(){var e=l(this),t=e.scrollTop();r&&clearTimeout(r),i||(r=setTimeout(function(){var i=y?e.height():l(window).height(),n=y?e.prop("scrollHeight"):document.documentElement.scrollHeight;n-t-i<=u&&(o||g())},100))}),a):a}},o.prototype.lazyimg=function(e){var o,t=this,i=0;e=e||{};var n=l(e.scrollElem||document),r=e.elem||"img",a=e.scrollElem&&e.scrollElem!==document,c=function(e,l){var o=n.scrollTop(),r=o+l,c=a?function(){return e.offset().top-n.offset().top+o}():e.offset().top;if(c>=o&&c<=r&&!e.attr("src")){var m=e.attr("lay-src");layui.img(m,function(){var l=t.lazyimg.elem.eq(i);e.attr("src",m).removeAttr("lay-src"),l[0]&&f(l),i++})}},f=function(e,o){var f=a?(o||n).height():l(window).height(),m=n.scrollTop(),u=m+f;if(t.lazyimg.elem=l(r),e)c(e,f);else for(var s=0;su)break}};if(f(),!o){var m;n.on("scroll",function(){var e=l(this);m&&clearTimeout(m),m=setTimeout(function(){f(null,e)},50)}),o=!0}return f},e("flow",new o)});layui.define(["layer","form"],function(t){"use strict";var e=layui.$,i=layui.layer,a=layui.form,l=(layui.hint(),layui.device()),n="layedit",o="layui-show",r="layui-disabled",c=function(){var t=this;t.index=0,t.config={tool:["strong","italic","underline","del","|","left","center","right","|","link","unlink","face","image"],hideTool:[],height:280}};c.prototype.set=function(t){var i=this;return e.extend(!0,i.config,t),i},c.prototype.on=function(t,e){return layui.onevent(n,t,e)},c.prototype.build=function(t,i){i=i||{};var a=this,n=a.config,r="layui-layedit",c=e("string"==typeof t?"#"+t:t),u="LAY_layedit_"+ ++a.index,d=c.next("."+r),y=e.extend({},n,i),f=function(){var t=[],e={};return layui.each(y.hideTool,function(t,i){e[i]=!0}),layui.each(y.tool,function(i,a){C[a]&&!e[a]&&t.push(C[a])}),t.join("")}(),m=e(['
            ','
            '+f+"
            ",'
            ','',"
            ","
            "].join(""));return l.ie&&l.ie<8?c.removeClass("layui-hide").addClass(o):(d[0]&&d.remove(),s.call(a,m,c[0],y),c.addClass("layui-hide").after(m),a.index)},c.prototype.getContent=function(t){var e=u(t);if(e[0])return d(e[0].document.body.innerHTML)},c.prototype.getText=function(t){var i=u(t);if(i[0])return e(i[0].document.body).text()},c.prototype.setContent=function(t,i,a){var l=u(t);l[0]&&(a?e(l[0].document.body).append(i):e(l[0].document.body).html(i),layedit.sync(t))},c.prototype.sync=function(t){var i=u(t);if(i[0]){var a=e("#"+i[1].attr("textarea"));a.val(d(i[0].document.body.innerHTML))}},c.prototype.getSelection=function(t){var e=u(t);if(e[0]){var i=m(e[0].document);return document.selection?i.text:i.toString()}};var s=function(t,i,a){var l=this,n=t.find("iframe");n.css({height:a.height}).on("load",function(){var o=n.contents(),r=n.prop("contentWindow"),c=o.find("head"),s=e([""].join("")),u=o.find("body");c.append(s),u.attr("contenteditable","true").css({"min-height":a.height}).html(i.value||""),y.apply(l,[r,n,i,a]),g.call(l,r,t,a)})},u=function(t){var i=e("#LAY_layedit_"+t),a=i.prop("contentWindow");return[a,i]},d=function(t){return 8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),t},y=function(t,a,n,o){var r=t.document,c=e(r.body);c.on("keydown",function(t){var e=t.keyCode;if(13===e){var a=m(r),l=p(a),n=l.parentNode;if("pre"===n.tagName.toLowerCase()){if(t.shiftKey)return;return i.msg("请暂时用shift+enter"),!1}r.execCommand("formatBlock",!1,"

            ")}}),e(n).parents("form").on("submit",function(){var t=c.html();8==l.ie&&(t=t.replace(/<.+>/g,function(t){return t.toLowerCase()})),n.value=t}),c.on("paste",function(e){r.execCommand("formatBlock",!1,"

            "),setTimeout(function(){f.call(t,c),n.value=c.html()},100)})},f=function(t){var i=this;i.document;t.find("*[style]").each(function(){var t=this.style.textAlign;this.removeAttribute("style"),e(this).css({"text-align":t||""})}),t.find("table").addClass("layui-table"),t.find("script,link").remove()},m=function(t){return t.selection?t.selection.createRange():t.getSelection().getRangeAt(0)},p=function(t){return t.endContainer||t.parentElement().childNodes[0]},v=function(t,i,a){var l=this.document,n=document.createElement(t);for(var o in i)n.setAttribute(o,i[o]);if(n.removeAttribute("text"),l.selection){var r=a.text||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.pasteHTML(e(n).prop("outerHTML")),a.select()}else{var r=a.toString()||i.text;if("a"===t&&!r)return;r&&(n.innerHTML=r),a.deleteContents(),a.insertNode(n)}},h=function(t,i){var a=this.document,l="layedit-tool-active",n=p(m(a)),o=function(e){return t.find(".layedit-tool-"+e)};i&&i[i.hasClass(l)?"removeClass":"addClass"](l),t.find(">i").removeClass(l),o("unlink").addClass(r),e(n).parents().each(function(){var t=this.tagName.toLowerCase(),e=this.style.textAlign;"b"!==t&&"strong"!==t||o("b").addClass(l),"i"!==t&&"em"!==t||o("i").addClass(l),"u"===t&&o("u").addClass(l),"strike"===t&&o("d").addClass(l),"p"===t&&("center"===e?o("center").addClass(l):"right"===e?o("right").addClass(l):o("left").addClass(l)),"a"===t&&(o("link").addClass(l),o("unlink").removeClass(r))})},g=function(t,a,l){var n=t.document,o=e(n.body),c={link:function(i){var a=p(i),l=e(a).parent();b.call(o,{href:l.attr("href"),target:l.attr("target")},function(e){var a=l[0];"A"===a.tagName?a.href=e.url:v.call(t,"a",{target:e.target,href:e.url,text:e.url},i)})},unlink:function(t){n.execCommand("unlink")},face:function(e){x.call(this,function(i){v.call(t,"img",{src:i.src,alt:i.alt},e)})},image:function(a){var n=this;layui.use("upload",function(o){var r=l.uploadImage||{};o.render({url:r.url,method:r.type,elem:e(n).find("input")[0],done:function(e){0==e.code?(e.data=e.data||{},v.call(t,"img",{src:e.data.src,alt:e.data.title},a)):i.msg(e.msg||"上传失败")}})})},code:function(e){k.call(o,function(i){v.call(t,"pre",{text:i.code,"lay-lang":i.lang},e)})},help:function(){i.open({type:2,title:"帮助",area:["600px","380px"],shadeClose:!0,shade:.1,skin:"layui-layer-msg",content:["http://www.layui.com/about/layedit/help.html","no"]})}},s=a.find(".layui-layedit-tool"),u=function(){var i=e(this),a=i.attr("layedit-event"),l=i.attr("lay-command");if(!i.hasClass(r)){o.focus();var u=m(n);u.commonAncestorContainer;l?(n.execCommand(l),/justifyLeft|justifyCenter|justifyRight/.test(l)&&n.execCommand("formatBlock",!1,"

            "),setTimeout(function(){o.focus()},10)):c[a]&&c[a].call(this,u),h.call(t,s,i)}},d=/image/;s.find(">i").on("mousedown",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)||u.call(this)}).on("click",function(){var t=e(this),i=t.attr("layedit-event");d.test(i)&&u.call(this)}),o.on("click",function(){h.call(t,s),i.close(x.index)})},b=function(t,e){var l=this,n=i.open({type:1,id:"LAY_layedit_link",area:"350px",shade:.05,shadeClose:!0,moveType:1,title:"超链接",skin:"layui-layer-msg",content:['

              ','
            • ','','
              ','',"
              ","
            • ",'
            • ','','
              ','",'","
              ","
            • ",'
            • ','','',"
            • ","
            "].join(""),success:function(t,n){var o="submit(layedit-link-yes)";a.render("radio"),t.find(".layui-btn-primary").on("click",function(){i.close(n),l.focus()}),a.on(o,function(t){i.close(b.index),e&&e(t.field)})}});b.index=n},x=function(t){var a=function(){var t=["[微笑]","[嘻嘻]","[哈哈]","[可爱]","[可怜]","[挖鼻]","[吃惊]","[害羞]","[挤眼]","[闭嘴]","[鄙视]","[爱你]","[泪]","[偷笑]","[亲亲]","[生病]","[太开心]","[白眼]","[右哼哼]","[左哼哼]","[嘘]","[衰]","[委屈]","[吐]","[哈欠]","[抱抱]","[怒]","[疑问]","[馋嘴]","[拜拜]","[思考]","[汗]","[困]","[睡]","[钱]","[失望]","[酷]","[色]","[哼]","[鼓掌]","[晕]","[悲伤]","[抓狂]","[黑线]","[阴险]","[怒骂]","[互粉]","[心]","[伤心]","[猪头]","[熊猫]","[兔子]","[ok]","[耶]","[good]","[NO]","[赞]","[来]","[弱]","[草泥马]","[神马]","[囧]","[浮云]","[给力]","[围观]","[威武]","[奥特曼]","[礼物]","[钟]","[话筒]","[蜡烛]","[蛋糕]"],e={};return layui.each(t,function(t,i){e[i]=layui.cache.dir+"images/face/"+t+".gif"}),e}();return x.hide=x.hide||function(t){"face"!==e(t.target).attr("layedit-event")&&i.close(x.index)},x.index=i.tips(function(){var t=[];return layui.each(a,function(e,i){t.push('
          • '+e+'
          • ')}),'
              '+t.join("")+"
            "}(),this,{tips:1,time:0,skin:"layui-box layui-util-face",maxWidth:500,success:function(l,n){l.css({marginTop:-4,marginLeft:-10}).find(".layui-clear>li").on("click",function(){t&&t({src:a[this.title],alt:this.title}),i.close(n)}),e(document).off("click",x.hide).on("click",x.hide)}})},k=function(t){var e=this,l=i.open({type:1,id:"LAY_layedit_code",area:"550px",shade:.05,shadeClose:!0,moveType:1,title:"插入代码",skin:"layui-layer-msg",content:['
              ','
            • ','','
              ','","
              ","
            • ",'
            • ','','
              ','',"
              ","
            • ",'
            • ','','',"
            • ","
            "].join(""),success:function(l,n){var o="submit(layedit-code-yes)";a.render("select"),l.find(".layui-btn-primary").on("click",function(){i.close(n),e.focus()}),a.on(o,function(e){i.close(k.index),t&&t(e.field)})}});k.index=l},C={html:'',strong:'',italic:'',underline:'',del:'',"|":'',left:'',center:'',right:'',link:'',unlink:'',face:'',image:'',code:'',help:''},w=new c;t(n,w)});layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
            1. '+o.replace(/[\r\t\n]+/g,"
            2. ")+"
            "),c.find(">.layui-code-h3")[0]||c.prepend('

            '+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"

            ");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss"); \ No newline at end of file diff --git a/lib/layui/layui.js b/lib/layui/layui.js deleted file mode 100755 index 3cd51c2..0000000 --- a/lib/layui/layui.js +++ /dev/null @@ -1,2 +0,0 @@ -/** layui-v2.4.5 MIT License By https://www.layui.com */ - ;!function(e){"use strict";var t=document,o={modules:{},status:{},timeout:10,event:{}},n=function(){this.v="2.4.5"},r=function(){var e=t.currentScript?t.currentScript.src:function(){for(var e,o=t.scripts,n=o.length-1,r=n;r>0;r--)if("interactive"===o[r].readyState){e=o[r].src;break}return e||o[n].src}();return e.substring(0,e.lastIndexOf("/")+1)}(),i=function(t){e.console&&console.error&&console.error("Layui hint: "+t)},a="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),u={layer:"modules/layer",laydate:"modules/laydate",laypage:"modules/laypage",laytpl:"modules/laytpl",layim:"modules/layim",layedit:"modules/layedit",form:"modules/form",upload:"modules/upload",tree:"modules/tree",table:"modules/table",element:"modules/element",rate:"modules/rate",colorpicker:"modules/colorpicker",slider:"modules/slider",carousel:"modules/carousel",flow:"modules/flow",util:"modules/util",code:"modules/code",jquery:"modules/jquery",mobile:"modules/mobile","layui.all":"../layui.all"};n.prototype.cache=o,n.prototype.define=function(e,t){var n=this,r="function"==typeof e,i=function(){var e=function(e,t){layui[e]=t,o.status[e]=!0};return"function"==typeof t&&t(function(n,r){e(n,r),o.callback[n]=function(){t(e)}}),this};return r&&(t=e,e=[]),layui["layui.all"]||!layui["layui.all"]&&layui["layui.mobile"]?i.call(n):(n.use(e,i),n)},n.prototype.use=function(e,n,l){function s(e,t){var n="PLaySTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/;("load"===e.type||n.test((e.currentTarget||e.srcElement).readyState))&&(o.modules[f]=t,d.removeChild(v),function r(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void(o.status[f]?c():setTimeout(r,4))}())}function c(){l.push(layui[f]),e.length>1?y.use(e.slice(1),n,l):"function"==typeof n&&n.apply(layui,l)}var y=this,p=o.dir=o.dir?o.dir:r,d=t.getElementsByTagName("head")[0];e="string"==typeof e?[e]:e,window.jQuery&&jQuery.fn.on&&(y.each(e,function(t,o){"jquery"===o&&e.splice(t,1)}),layui.jquery=layui.$=jQuery);var f=e[0],m=0;if(l=l||[],o.host=o.host||(p.match(/\/\/([\s\S]+?)\//)||["//"+location.host+"/"])[0],0===e.length||layui["layui.all"]&&u[f]||!layui["layui.all"]&&layui["layui.mobile"]&&u[f])return c(),y;if(o.modules[f])!function g(){return++m>1e3*o.timeout/4?i(f+" is not a valid module"):void("string"==typeof o.modules[f]&&o.status[f]?c():setTimeout(g,4))}();else{var v=t.createElement("script"),h=(u[f]?p+"lay/":/^\{\/\}/.test(y.modules[f])?"":o.base||"")+(y.modules[f]||f)+".js";h=h.replace(/^\{\/\}/,""),v.async=!0,v.charset="utf-8",v.src=h+function(){var e=o.version===!0?o.v||(new Date).getTime():o.version||"";return e?"?v="+e:""}(),d.appendChild(v),!v.attachEvent||v.attachEvent.toString&&v.attachEvent.toString().indexOf("[native code")<0||a?v.addEventListener("load",function(e){s(e,h)},!1):v.attachEvent("onreadystatechange",function(e){s(e,h)}),o.modules[f]=h}return y},n.prototype.getStyle=function(t,o){var n=t.currentStyle?t.currentStyle:e.getComputedStyle(t,null);return n[n.getPropertyValue?"getPropertyValue":"getAttribute"](o)},n.prototype.link=function(e,n,r){var a=this,u=t.createElement("link"),l=t.getElementsByTagName("head")[0];"string"==typeof n&&(r=n);var s=(r||e).replace(/\.|\//g,""),c=u.id="layuicss-"+s,y=0;return u.rel="stylesheet",u.href=e+(o.debug?"?v="+(new Date).getTime():""),u.media="all",t.getElementById(c)||l.appendChild(u),"function"!=typeof n?a:(function p(){return++y>1e3*o.timeout/100?i(e+" timeout"):void(1989===parseInt(a.getStyle(t.getElementById(c),"width"))?function(){n()}():setTimeout(p,100))}(),a)},o.callback={},n.prototype.factory=function(e){if(layui[e])return"function"==typeof o.callback[e]?o.callback[e]:null},n.prototype.addcss=function(e,t,n){return layui.link(o.dir+"css/"+e,t,n)},n.prototype.img=function(e,t,o){var n=new Image;return n.src=e,n.complete?t(n):(n.onload=function(){n.onload=null,"function"==typeof t&&t(n)},void(n.onerror=function(e){n.onerror=null,"function"==typeof o&&o(e)}))},n.prototype.config=function(e){e=e||{};for(var t in e)o[t]=e[t];return this},n.prototype.modules=function(){var e={};for(var t in u)e[t]=u[t];return e}(),n.prototype.extend=function(e){var t=this;e=e||{};for(var o in e)t[o]||t.modules[o]?i("模块名 "+o+" 已被占用"):t.modules[o]=e[o];return t},n.prototype.router=function(e){var t=this,e=e||location.hash,o={path:[],search:{},hash:(e.match(/[^#](#.*$)/)||[])[1]||""};return/^#\//.test(e)?(e=e.replace(/^#\//,""),o.href="/"+e,e=e.replace(/([^#])(#.*$)/,"$1").split("/")||[],t.each(e,function(e,t){/^\w+=/.test(t)?function(){t=t.split("="),o.search[t[0]]=t[1]}():o.path.push(t)}),o):o},n.prototype.data=function(t,o,n){if(t=t||"layui",n=n||localStorage,e.JSON&&e.JSON.parse){if(null===o)return delete n[t];o="object"==typeof o?o:{key:o};try{var r=JSON.parse(n[t])}catch(i){var r={}}return"value"in o&&(r[o.key]=o.value),o.remove&&delete r[o.key],n[t]=JSON.stringify(r),o.key?r[o.key]:r}},n.prototype.sessionData=function(e,t){return this.data(e,t,sessionStorage)},n.prototype.device=function(t){var o=navigator.userAgent.toLowerCase(),n=function(e){var t=new RegExp(e+"/([^\\s\\_\\-]+)");return e=(o.match(t)||[])[1],e||!1},r={os:function(){return/windows/.test(o)?"windows":/linux/.test(o)?"linux":/iphone|ipod|ipad|ios/.test(o)?"ios":/mac/.test(o)?"mac":void 0}(),ie:function(){return!!(e.ActiveXObject||"ActiveXObject"in e)&&((o.match(/msie\s(\d+)/)||[])[1]||"11")}(),weixin:n("micromessenger")};return t&&!r[t]&&(r[t]=n(t)),r.android=/android/.test(o),r.ios="ios"===r.os,r},n.prototype.hint=function(){return{error:i}},n.prototype.each=function(e,t){var o,n=this;if("function"!=typeof t)return n;if(e=e||[],e.constructor===Object){for(o in e)if(t.call(e[o],o,e[o]))break}else for(o=0;oi?1:r -1) { - // 用户选择的动画 - return anim; - } else if (anim == 7) { - // 随机动画 - return Math.floor(Math.random() * animArray.length); - } - } - } - - exports("okLayer", okLayer); -}); diff --git a/lib/okPlugins/okMenu.js b/lib/okPlugins/okMenu.js deleted file mode 100644 index 08edfc1..0000000 --- a/lib/okPlugins/okMenu.js +++ /dev/null @@ -1,71 +0,0 @@ -"use strict"; -layui.define(["element", "okUtils"], function (exports) { - var element = layui.element; - var okUtils = layui.okUtils; - var $ = layui.jquery; - - var okMenu = { - generatorMenu: function (url, method) { - okUtils.ajax(url, method).done(function (response) { - var html = ""; - for (var i = 0; i < response.length; i++) { - var d = response[i]; - html += okMenu.liHtml(d); - html += "" - html += okMenu.iconHtml(d) + " " + response[i].title; - html += "" - var temp = okMenu.createMenu(d.children); - html += temp; - html += ""; - } - $(".layui-nav-tree").html(html); - element.render("nav"); - }).fail(function (error) { - console.log(error) - }); - }, - liHtml: function (obj) { - var html = ""; - if (obj.spread) { - html += "
          • "; - } else { - html += "
          • "; - } - return html; - }, - iconHtml: function (obj) { - var html = ""; - if (obj.icon) { - if (obj.font == "iconfont") { - html += "" + obj.icon + ""; - } else if (obj.font == "layui-icon") { - html += " " + obj.icon + ""; - } else { - html += "" + obj.icon + ""; - } - } else { - console.warn(obj.title, "icon未定义"); - } - return html; - }, - createMenu: function (obj) { - var html = ""; - if (obj != undefined && obj.length > 0) { - html += "
            " - for (var i = 0; i < obj.length; i++) { - html += "
            "; - html += "" + okMenu.iconHtml(obj[i]) + " " + obj[i].title + ""; - var children = obj[i].children; - if (children != undefined && children.length > 0) { - html += okMenu.createMenu(children); - } - html += "
            "; - } - html += "
            " - } - return html; - } - } - - exports("okMenu", okMenu); -}); diff --git a/lib/okPlugins/okProgress/nprogress.css b/lib/okPlugins/okProgress/nprogress.css deleted file mode 100644 index 6752d7f..0000000 --- a/lib/okPlugins/okProgress/nprogress.css +++ /dev/null @@ -1,74 +0,0 @@ -/* Make clicks pass-through */ -#nprogress { - pointer-events: none; -} - -#nprogress .bar { - background: #29d; - - position: fixed; - z-index: 1031; - top: 0; - left: 0; - - width: 100%; - height: 2px; -} - -/* Fancy blur effect */ -#nprogress .peg { - display: block; - position: absolute; - right: 0px; - width: 100px; - height: 100%; - box-shadow: 0 0 10px #29d, 0 0 5px #29d; - opacity: 1.0; - - -webkit-transform: rotate(3deg) translate(0px, -4px); - -ms-transform: rotate(3deg) translate(0px, -4px); - transform: rotate(3deg) translate(0px, -4px); -} - -/* Remove these to get rid of the spinner */ -#nprogress .spinner { - display: block; - position: fixed; - z-index: 1031; - top: 15px; - right: 15px; -} - -#nprogress .spinner-icon { - width: 18px; - height: 18px; - box-sizing: border-box; - - border: solid 2px transparent; - border-top-color: #29d; - border-left-color: #29d; - border-radius: 50%; - - -webkit-animation: nprogress-spinner 400ms linear infinite; - animation: nprogress-spinner 400ms linear infinite; -} - -.nprogress-custom-parent { - overflow: hidden; - position: relative; -} - -.nprogress-custom-parent #nprogress .spinner, -.nprogress-custom-parent #nprogress .bar { - position: absolute; -} - -@-webkit-keyframes nprogress-spinner { - 0% { -webkit-transform: rotate(0deg); } - 100% { -webkit-transform: rotate(360deg); } -} -@keyframes nprogress-spinner { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } -} - diff --git a/lib/okPlugins/okProgress/nprogress.js b/lib/okPlugins/okProgress/nprogress.js deleted file mode 100644 index c459e2b..0000000 --- a/lib/okPlugins/okProgress/nprogress.js +++ /dev/null @@ -1,493 +0,0 @@ -layui.define(function (exports) { - - /* NProgress, (c) 2013, 2014 Rico Sta. Cruz - http://ricostacruz.com/nprogress - * @license MIT */ - - var obj = (function (root, factory) { - - if (typeof define === 'function' && define.amd) { - define(factory); - } else if (typeof exports === 'object') { - module.exports = factory(); - } else { - root.NProgress = factory(); - } - - })(this, function () { - var NProgress = {}; - - NProgress.version = '0.2.0'; - - var Settings = NProgress.settings = { - minimum: 0.08, - easing: 'linear', - positionUsing: '', - speed: 200, - trickle: true, - trickleSpeed: 200, - showSpinner: true, - barSelector: '[role="bar"]', - spinnerSelector: '[role="spinner"]', - parent: 'body', - template: '
            ' - }; - - /** - * Updates configuration. - * - * NProgress.configure({ - * minimum: 0.1 - * }); - */ - NProgress.configure = function (options) { - var key, value; - for (key in options) { - value = options[key]; - if (value !== undefined && options.hasOwnProperty(key)) Settings[key] = value; - } - - return this; - }; - - /** - * Last number. - */ - - NProgress.status = null; - - /** - * Sets the progress bar status, where `n` is a number from `0.0` to `1.0`. - * - * NProgress.set(0.4); - * NProgress.set(1.0); - */ - - NProgress.set = function (n) { - var started = NProgress.isStarted(); - - n = clamp(n, Settings.minimum, 1); - NProgress.status = (n === 1 ? null : n); - - var progress = NProgress.render(!started), - bar = progress.querySelector(Settings.barSelector), - speed = Settings.speed, - ease = Settings.easing; - - progress.offsetWidth; /* Repaint */ - - queue(function (next) { - // Set positionUsing if it hasn't already been set - if (Settings.positionUsing === '') Settings.positionUsing = NProgress.getPositioningCSS(); - - // Add transition - css(bar, barPositionCSS(n, speed, ease)); - - if (n === 1) { - // Fade out - css(progress, { - transition: 'none', - opacity: 1 - }); - progress.offsetWidth; /* Repaint */ - - setTimeout(function () { - css(progress, { - transition: 'all ' + speed + 'ms linear', - opacity: 0 - }); - setTimeout(function () { - NProgress.remove(); - next(); - }, speed); - }, speed); - } else { - setTimeout(next, speed); - } - }); - - return this; - }; - - NProgress.isStarted = function () { - return typeof NProgress.status === 'number'; - }; - - /** - * Shows the progress bar. - * This is the same as setting the status to 0%, except that it doesn't go backwards. - * - * NProgress.start(); - * - */ - NProgress.start = function () { - if (!NProgress.status) NProgress.set(0); - - var work = function () { - setTimeout(function () { - if (!NProgress.status) return; - NProgress.trickle(); - work(); - }, Settings.trickleSpeed); - }; - - if (Settings.trickle) work(); - - return this; - }; - - /** - * Hides the progress bar. - * This is the *sort of* the same as setting the status to 100%, with the - * difference being `done()` makes some placebo effect of some realistic motion. - * - * NProgress.done(); - * - * If `true` is passed, it will show the progress bar even if its hidden. - * - * NProgress.done(true); - */ - - NProgress.done = function (force) { - if (!force && !NProgress.status) return this; - - return NProgress.inc(0.3 + 0.5 * Math.random()).set(1); - }; - - /** - * Increments by a random amount. - */ - - NProgress.inc = function (amount) { - var n = NProgress.status; - - if (!n) { - return NProgress.start(); - } else if (n > 1) { - return; - } else { - if (typeof amount !== 'number') { - if (n >= 0 && n < 0.2) { - amount = 0.1; - } else if (n >= 0.2 && n < 0.5) { - amount = 0.04; - } else if (n >= 0.5 && n < 0.8) { - amount = 0.02; - } else if (n >= 0.8 && n < 0.99) { - amount = 0.005; - } else { - amount = 0; - } - } - - n = clamp(n + amount, 0, 0.994); - return NProgress.set(n); - } - }; - - NProgress.trickle = function () { - return NProgress.inc(); - }; - - /** - * Waits for all supplied jQuery promises and - * increases the progress as the promises resolve. - * - * @param $promise jQUery Promise - */ - (function () { - var initial = 0, current = 0; - - NProgress.promise = function ($promise) { - if (!$promise || $promise.state() === "resolved") { - return this; - } - - if (current === 0) { - NProgress.start(); - } - - initial++; - current++; - - $promise.always(function () { - current--; - if (current === 0) { - initial = 0; - NProgress.done(); - } else { - NProgress.set((initial - current) / initial); - } - }); - - return this; - }; - - })(); - - /** - * (Internal) renders the progress bar markup based on the `template` - * setting. - */ - - NProgress.render = function (fromStart) { - if (NProgress.isRendered()) return document.getElementById('nprogress'); - - addClass(document.documentElement, 'nprogress-busy'); - - var progress = document.createElement('div'); - progress.id = 'nprogress'; - progress.innerHTML = Settings.template; - - var bar = progress.querySelector(Settings.barSelector), - perc = fromStart ? '-100' : toBarPerc(NProgress.status || 0), - parent = document.querySelector(Settings.parent), - spinner; - - css(bar, { - transition: 'all 0 linear', - transform: 'translate3d(' + perc + '%,0,0)' - }); - - if (!Settings.showSpinner) { - spinner = progress.querySelector(Settings.spinnerSelector); - spinner && removeElement(spinner); - } - - if (parent != document.body) { - addClass(parent, 'nprogress-custom-parent'); - } - - parent.appendChild(progress); - return progress; - }; - - /** - * Removes the element. Opposite of render(). - */ - - NProgress.remove = function () { - removeClass(document.documentElement, 'nprogress-busy'); - removeClass(document.querySelector(Settings.parent), 'nprogress-custom-parent'); - var progress = document.getElementById('nprogress'); - progress && removeElement(progress); - }; - - /** - * Checks if the progress bar is rendered. - */ - - NProgress.isRendered = function () { - return !!document.getElementById('nprogress'); - }; - - /** - * Determine which positioning CSS rule to use. - */ - - NProgress.getPositioningCSS = function () { - // Sniff on document.body.style - var bodyStyle = document.body.style; - - // Sniff prefixes - var vendorPrefix = ('WebkitTransform' in bodyStyle) ? 'Webkit' : - ('MozTransform' in bodyStyle) ? 'Moz' : - ('msTransform' in bodyStyle) ? 'ms' : - ('OTransform' in bodyStyle) ? 'O' : ''; - - if (vendorPrefix + 'Perspective' in bodyStyle) { - // Modern browsers with 3D support, e.g. Webkit, IE10 - return 'translate3d'; - } else if (vendorPrefix + 'Transform' in bodyStyle) { - // Browsers without 3D support, e.g. IE9 - return 'translate'; - } else { - // Browsers without translate() support, e.g. IE7-8 - return 'margin'; - } - }; - - /** - * Helpers - */ - - function clamp(n, min, max) { - if (n < min) return min; - if (n > max) return max; - return n; - } - - /** - * (Internal) converts a percentage (`0..1`) to a bar translateX - * percentage (`-100%..0%`). - */ - - function toBarPerc(n) { - return (-1 + n) * 100; - } - - - /** - * (Internal) returns the correct CSS for changing the bar's - * position given an n percentage, and speed and ease from Settings - */ - - function barPositionCSS(n, speed, ease) { - var barCSS; - - if (Settings.positionUsing === 'translate3d') { - barCSS = {transform: 'translate3d(' + toBarPerc(n) + '%,0,0)'}; - } else if (Settings.positionUsing === 'translate') { - barCSS = {transform: 'translate(' + toBarPerc(n) + '%,0)'}; - } else { - barCSS = {'margin-left': toBarPerc(n) + '%'}; - } - - barCSS.transition = 'all ' + speed + 'ms ' + ease; - - return barCSS; - } - - /** - * (Internal) Queues a function to be executed. - */ - - var queue = (function () { - var pending = []; - - function next() { - var fn = pending.shift(); - if (fn) { - fn(next); - } - } - - return function (fn) { - pending.push(fn); - if (pending.length == 1) next(); - }; - })(); - - /** - * (Internal) Applies css properties to an element, similar to the jQuery - * css method. - * - * While this helper does assist with vendor prefixed property names, it - * does not perform any manipulation of values prior to setting styles. - */ - - var css = (function () { - var cssPrefixes = ['Webkit', 'O', 'Moz', 'ms'], - cssProps = {}; - - function camelCase(string) { - return string.replace(/^-ms-/, 'ms-').replace(/-([\da-z])/gi, function (match, letter) { - return letter.toUpperCase(); - }); - } - - function getVendorProp(name) { - var style = document.body.style; - if (name in style) return name; - - var i = cssPrefixes.length, - capName = name.charAt(0).toUpperCase() + name.slice(1), - vendorName; - while (i--) { - vendorName = cssPrefixes[i] + capName; - if (vendorName in style) return vendorName; - } - - return name; - } - - function getStyleProp(name) { - name = camelCase(name); - return cssProps[name] || (cssProps[name] = getVendorProp(name)); - } - - function applyCss(element, prop, value) { - prop = getStyleProp(prop); - element.style[prop] = value; - } - - return function (element, properties) { - var args = arguments, - prop, - value; - - if (args.length == 2) { - for (prop in properties) { - value = properties[prop]; - if (value !== undefined && properties.hasOwnProperty(prop)) applyCss(element, prop, value); - } - } else { - applyCss(element, args[1], args[2]); - } - } - })(); - - /** - * (Internal) Determines if an element or space separated list of class names contains a class name. - */ - - function hasClass(element, name) { - var list = typeof element == 'string' ? element : classList(element); - return list.indexOf(' ' + name + ' ') >= 0; - } - - /** - * (Internal) Adds a class to an element. - */ - - function addClass(element, name) { - var oldList = classList(element), - newList = oldList + name; - - if (hasClass(oldList, name)) return; - - // Trim the opening space. - element.className = newList.substring(1); - } - - /** - * (Internal) Removes a class from an element. - */ - - function removeClass(element, name) { - var oldList = classList(element), - newList; - - if (!hasClass(element, name)) return; - - // Replace the class name. - newList = oldList.replace(' ' + name + ' ', ' '); - - // Trim the opening and closing spaces. - element.className = newList.substring(1, newList.length - 1); - } - - /** - * (Internal) Gets a space separated list of the class names on the element. - * The list is wrapped with a single space on each end to facilitate finding - * matches within the list. - */ - - function classList(element) { - return (' ' + (element && element.className || '') + ' ').replace(/\s+/gi, ' '); - } - - /** - * (Internal) Removes an element from the DOM. - */ - - function removeElement(element) { - element && element.parentNode && element.parentNode.removeChild(element); - } - - return NProgress; - }); - - // layui.link("https://cdn.bootcss.com/nprogress/0.2.0/nprogress.css"); - layui.link("../../lib/okPlugins/okProgress/nprogress.css"); - exports("nprogress", obj); -}); diff --git a/lib/okPlugins/okProgress/okProgress.js b/lib/okPlugins/okProgress/okProgress.js deleted file mode 100644 index 9354e76..0000000 --- a/lib/okPlugins/okProgress/okProgress.js +++ /dev/null @@ -1,20 +0,0 @@ -layui.config({ - base: "../../lib/okPlugins/" -}).extend({ - nprogress: "okProgress/nprogress" -}).define(["nprogress"], function (exports) { - "use strict"; - - // 顶部进度条 - // NProgress.start(); - // window.onload = function () { - // NProgress.done(); - // } - - NProgress.start(); - if (document.readyState == "complete" || document.readyState == "interactive") { - NProgress.done(); - } - - exports("okProgress"); -}); diff --git a/lib/okPlugins/okTab.js b/lib/okPlugins/okTab.js deleted file mode 100644 index 6ff0e27..0000000 --- a/lib/okPlugins/okTab.js +++ /dev/null @@ -1,55 +0,0 @@ -"use strict"; -layui.define(["element", "okUtils"], function (exports) { - var element = window.top.layui.element; - var okUtils = layui.okUtils; - var $ = layui.jquery; - - var okTab = { - add: function (title, path) { - // 参数校验 - if (!okTab.parameterCheck(title, path)) { - return false; - } - // 根据path自动生成tabId值 - var tabId = okUtils.string.hash(path) - // 去重复选项卡 - var okFrame = $(".ok-frame", window.top.document); - for (var i = 0; i < okFrame.length; i++) { - var _tabId = okFrame.eq(i).attr("tab-id"); - if (_tabId == tabId) { - element.tabChange("ok-tab", tabId); - event.stopPropagation(); - return; - } - } - // 添加选项卡 - element.tabAdd("ok-tab", { - title: title, - content: "", - id: tabId - }); - // 切换选项卡 - element.tabChange("ok-tab", tabId); - }, - /** - * 参数校验 - * @param title - * @param path - * @param tabId - * @returns {boolean} - */ - parameterCheck: function (title, path) { - if (title == undefined || title == "") { - console.error("title未定义") - return false; - } - if (path == undefined || path == "") { - console.error("path未定义") - return false; - } - return true; - } - } - - exports("okTab", okTab); -}); diff --git a/lib/okPlugins/okUtils.js b/lib/okPlugins/okUtils.js deleted file mode 100644 index fe31d21..0000000 --- a/lib/okPlugins/okUtils.js +++ /dev/null @@ -1,145 +0,0 @@ -"use strict"; -layui.define("layer", function (exports) { - var $ = layui.jquery; - var okUtils = { - isFrontendBackendSeparate: false, - baseUrl: "http://localhost:8080", - /** - * ajax()函数二次封装 - * @param url - * @param type - * @param param - * @returns {*|*|*} - */ - ajax: function (url, type, param) { - var deferred = $.Deferred(); - var loadIndex; - $.ajax({ - url: okUtils.isFrontendBackendSeparate ? okUtils.baseUrl + url : url, - type: type || "get", - data: param || {}, - dataType: "json", - beforeSend: function () { - loadIndex = layer.load(0, {shade: false}); - }, - success: function (data) { - if (data.status == 1000) { - // 业务正常 - deferred.resolve(data.data) - } else { - // 业务异常 - layer.msg(data.msg, {icon: 7, time: 2000}); - deferred.reject("okUtils.ajax warn: " + data.msg); - } - }, - complete: function () { - layer.close(loadIndex); - }, - error: function () { - layer.close(loadIndex); - layer.msg("服务器错误", {icon: 2, time: 2000}); - deferred.reject("okUtils.ajax error: 服务器错误"); - } - }); - return deferred.promise(); - }, - table: { - /** - * 主要用于针对表格批量操作操作之前的检查 - * @param table - * @returns {string} - */ - batchCheck: function (table) { - var checkStatus = table.checkStatus("tableId"); - var rows = checkStatus.data.length; - if (rows > 0) { - var idsStr = ""; - for (var i = 0; i < checkStatus.data.length; i++) { - idsStr += checkStatus.data[i].id + ","; - } - return idsStr; - } else { - layer.msg("未选择有效数据", {offset: "t", anim: 6}); - } - }, - /** - * 在表格页面操作成功后弹窗提示 - * @param content - */ - successMsg: function (content) { - layer.msg(content, {icon: 1, time: 1000}, function () { - // 刷新当前页table数据 - $(".layui-laypage-btn")[0].click(); - }); - } - }, - date: { - /** - * 格式化日期时间 - * @param date - * @param fmt - * @returns {*} - */ - dateFormat: function (date, fmt) { - var o = { - "M+": date.getMonth() + 1, - "d+": date.getDate(), - "h+": date.getHours(), - "m+": date.getMinutes(), - "s+": date.getSeconds(), - "q+": Math.floor((date.getMonth() + 3) / 3), - "S": date.getMilliseconds() - }; - if (/(y+)/.test(fmt)) - fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); - for (var k in o) - if (new RegExp("(" + k + ")").test(fmt)) - fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); - return fmt; - } - }, - string: { - /** - * 为字符串生成hash值 - * @param value - * @returns {number} - */ - hash: function (value) { - var hash = 1315423911, i, ch; - for (i = value.length - 1; i >= 0; i--) { - ch = value.charCodeAt(i); - hash ^= ((hash << 5) + ch + (hash >> 2)); - } - return (hash & 0x7FFFFFFF); - } - }, - number: { - /** - * 判断是否为一个正常的数字 - * @param num - */ - isNumber: function (num) { - if (num && !isNaN(num)) { - return true; - } - return false; - }, - /** - * 判断一个数字是否包括在某个范围 - * @param num - * @param begin - * @param end - */ - isNumberWith: function (num, begin, end) { - if (this.isNumber(num)) { - if (num >= begin && num <= end) { - return true; - } - return false; - } - }, - } - } - - exports("okUtils", okUtils); -}); diff --git a/lib/okPlugins/treetable/treetable.css b/lib/okPlugins/treetable/treetable.css deleted file mode 100644 index 584b2f8..0000000 --- a/lib/okPlugins/treetable/treetable.css +++ /dev/null @@ -1,18 +0,0 @@ -.treeTable-empty { - width: 20px; - display: inline-block; -} - -.treeTable-icon { - cursor: pointer; -} - -.treeTable-icon .layui-icon-triangle-d:before { - content: "\e623"; -} - -.treeTable-icon.open .layui-icon-triangle-d:before { - content: "\e625"; - background-color: transparent; -} - diff --git a/lib/okPlugins/treetable/treetable.js b/lib/okPlugins/treetable/treetable.js deleted file mode 100644 index 3e28568..0000000 --- a/lib/okPlugins/treetable/treetable.js +++ /dev/null @@ -1,206 +0,0 @@ -layui.define(['layer', 'table'], function (exports) { - var $ = layui.jquery; - var layer = layui.layer; - var table = layui.table; - - var treetable = { - // 渲染树形表格 - render: function (param) { - // 检查参数 - if (!treetable.checkParam(param)) { - return; - } - // 获取数据 - if (param.data) { - treetable.init(param, param.data); - } else { - $.getJSON(param.url, param.where, function (res) { - treetable.init(param, res.data); - }); - } - }, - // 渲染表格 - init: function (param, data) { - var mData = []; - var doneCallback = param.done; - var tNodes = data; - // 补上id和pid字段 - for (var i = 0; i < tNodes.length; i++) { - var tt = tNodes[i]; - if (!tt.id) { - if (!param.treeIdName) { - layer.msg('参数treeIdName不能为空', {icon: 5}); - return; - } - tt.id = tt[param.treeIdName]; - } - if (!tt.pid) { - if (!param.treePidName) { - layer.msg('参数treePidName不能为空', {icon: 5}); - return; - } - tt.pid = tt[param.treePidName]; - } - } - - // 对数据进行排序 - var sort = function (s_pid, data) { - for (var i = 0; i < data.length; i++) { - if (data[i].pid == s_pid) { - var len = mData.length; - if (len > 0 && mData[len - 1].id == s_pid) { - mData[len - 1].isParent = true; - } - mData.push(data[i]); - sort(data[i].id, data); - } - } - }; - sort(param.treeSpid, tNodes); - - // 重写参数 - param.url = undefined; - param.data = mData; - param.page = { - count: param.data.length, - limit: param.data.length - }; - param.cols[0][param.treeColIndex].templet = function (d) { - var mId = d.id; - var mPid = d.pid; - var isDir = d.isParent; - var emptyNum = treetable.getEmptyNum(mPid, mData); - var iconHtml = ''; - for (var i = 0; i < emptyNum; i++) { - iconHtml += ''; - } - if (isDir) { - iconHtml += ' '; - } else { - iconHtml += ''; - } - iconHtml += '  '; - var ttype = isDir ? 'dir' : 'file'; - var vg = ''; - return vg + iconHtml + d[param.cols[0][param.treeColIndex].field] + '' - }; - - param.done = function (res, curr, count) { - $(param.elem).next().addClass('treeTable'); - $('.treeTable .layui-table-page').css('display', 'none'); - $(param.elem).next().attr('treeLinkage', param.treeLinkage); - // 绑定事件换成对body绑定 - /*$('.treeTable .treeTable-icon').click(function () { - treetable.toggleRows($(this), param.treeLinkage); - });*/ - if (param.treeDefaultClose) { - treetable.foldAll(param.elem); - } - if (doneCallback) { - doneCallback(res, curr, count); - } - }; - - // 渲染表格 - table.render(param); - }, - // 计算缩进的数量 - getEmptyNum: function (pid, data) { - var num = 0; - if (!pid) { - return num; - } - var tPid; - for (var i = 0; i < data.length; i++) { - if (pid == data[i].id) { - num += 1; - tPid = data[i].pid; - break; - } - } - return num + treetable.getEmptyNum(tPid, data); - }, - // 展开/折叠行 - toggleRows: function ($dom, linkage) { - var type = $dom.attr('lay-ttype'); - if ('file' == type) { - return; - } - var mId = $dom.attr('lay-tid'); - var isOpen = $dom.hasClass('open'); - if (isOpen) { - $dom.removeClass('open'); - } else { - $dom.addClass('open'); - } - $dom.closest('tbody').find('tr').each(function () { - var $ti = $(this).find('.treeTable-icon'); - var pid = $ti.attr('lay-tpid'); - var ttype = $ti.attr('lay-ttype'); - var tOpen = $ti.hasClass('open'); - if (mId == pid) { - if (isOpen) { - $(this).hide(); - if ('dir' == ttype && tOpen == isOpen) { - $ti.trigger('click'); - } - } else { - $(this).show(); - if (linkage && 'dir' == ttype && tOpen == isOpen) { - $ti.trigger('click'); - } - } - } - }); - }, - // 检查参数 - checkParam: function (param) { - if (!param.treeSpid && param.treeSpid != 0) { - layer.msg('参数treeSpid不能为空', {icon: 5}); - return false; - } - - if (!param.treeColIndex && param.treeColIndex != 0) { - layer.msg('参数treeColIndex不能为空', {icon: 5}); - return false; - } - return true; - }, - // 展开所有 - expandAll: function (dom) { - $(dom).next('.treeTable').find('.layui-table-body tbody tr').each(function () { - var $ti = $(this).find('.treeTable-icon'); - var ttype = $ti.attr('lay-ttype'); - var tOpen = $ti.hasClass('open'); - if ('dir' == ttype && !tOpen) { - $ti.trigger('click'); - } - }); - }, - // 折叠所有 - foldAll: function (dom) { - $(dom).next('.treeTable').find('.layui-table-body tbody tr').each(function () { - var $ti = $(this).find('.treeTable-icon'); - var ttype = $ti.attr('lay-ttype'); - var tOpen = $ti.hasClass('open'); - if ('dir' == ttype && tOpen) { - $ti.trigger('click'); - } - }); - } - }; - - layui.link(layui.cache.base + 'treetable/treetable.css'); - - // 给图标列绑定事件 - $('body').on('click', '.treeTable .treeTable-icon', function () { - var treeLinkage = $(this).parents('.treeTable').attr('treeLinkage'); - if ('true' == treeLinkage) { - treetable.toggleRows($(this), true); - } else { - treetable.toggleRows($(this), false); - } - }); - - exports('treetable', treetable); -}); diff --git a/lib/zTree_v3/.gitignore b/lib/zTree_v3/.gitignore deleted file mode 100755 index 5ebd21a..0000000 --- a/lib/zTree_v3/.gitignore +++ /dev/null @@ -1,163 +0,0 @@ -################# -## Eclipse -################# - -*.pydevproject -.project -.metadata -bin/ -tmp/ -*.tmp -*.bak -*.swp -*~.nib -local.properties -.classpath -.settings/ -.loadpath - -# External tool builders -.externalToolBuilders/ - -# Locally stored "Eclipse launch configurations" -*.launch - -# CDT-specific -.cproject - -# PDT-specific -.buildpath - - -################# -## Visual Studio -################# - -## Ignore Visual Studio temporary files, build results, and -## files generated by popular Visual Studio add-ons. - -# User-specific files -*.suo -*.user -*.sln.docstates - -# Build results -[Dd]ebug/ -[Rr]elease/ -*_i.c -*_p.c -*.ilk -*.meta -*.obj -*.pch -*.pdb -*.pgc -*.pgd -*.rsp -*.sbr -*.tlb -*.tli -*.tlh -*.tmp -*.vspscc -.builds -*.dotCover - -## TODO: If you have NuGet Package Restore enabled, uncomment this -#packages/ - -# Visual C++ cache files -ipch/ -*.aps -*.ncb -*.opensdf -*.sdf - -# Visual Studio profiler -*.psess -*.vsp - -# ReSharper is a .NET coding add-in -_ReSharper* - -# Installshield output folder -[Ee]xpress - -# DocProject is a documentation generator add-in -DocProject/buildhelp/ -DocProject/Help/*.HxT -DocProject/Help/*.HxC -DocProject/Help/*.hhc -DocProject/Help/*.hhk -DocProject/Help/*.hhp -DocProject/Help/Html2 -DocProject/Help/html - -# Click-Once directory -publish - -# Others -[Bb]in -[Oo]bj -sql -TestResults -*.Cache -ClientBin -stylecop.* -~$* -*.dbmdl -Generated_Code #added for RIA/Silverlight projects - -# Backup & report files from converting an old project file to a newer -# Visual Studio version. Backup files are not needed, because we have git ;-) -_UpgradeReport_Files/ -Backup*/ -UpgradeLog*.XML - - - -############ -## Windows -############ - -# Windows image file caches -Thumbs.db - -# Folder config file -Desktop.ini - - -############# -## Python -############# - -*.py[co] - -# Packages -*.egg -*.egg-info -dist -build -eggs -parts -bin -var -sdist -develop-eggs -.installed.cfg - -# Installer logs -pip-log.txt - -# Unit test / coverage reports -.coverage -.tox - -#Translations -*.mo - -#Mr Developer -.mr.developer.cfg - -# Mac crap -.DS_Store diff --git a/lib/zTree_v3/README.md b/lib/zTree_v3/README.md deleted file mode 100755 index 94fdcb0..0000000 --- a/lib/zTree_v3/README.md +++ /dev/null @@ -1,52 +0,0 @@ -jQuery Tree Plugin ---- zTree -============ -last verson : 3.5.40 - - -**Donate to zTree** : http://www.treejs.cn/v3/donate.php - - -zTree API : http://www.treejs.cn/v3/api.php - - -zTree Demo : http://www.treejs.cn/v3/demo.php - -### INSTALL -``` -npm install @ztree/ztree_v3 -``` - -Introduction of zTree (简介) -============ -* zTree is a multi-functional "tree plug-ins." based on jQuery. The main advantages of zTree includes excellent performance, flexible configuration, and the combination of multiple functions. -(zTree 是一个依靠 jQuery 实现的多功能 “树插件”。优异的性能、灵活的配置、多种功能的组合是 zTree 最大优点。) - -* zTree is a free tree plug-in and uses the MIT license. -(zTree 是开源免费的软件, 使用 MIT 许可证) - -* The code of zTree v3.x has been seperated according to the various functions. You can only load the code you need. -(zTree v3.x 将核心代码按照功能进行了分割,不需要的代码可以不用加载) -* zTree v3.x uses delay loading technique, which can easily load tens of thousands of nodes in seconds even in IE6 browser. -(采用了 延迟加载 技术,上万节点轻松加载,即使在 IE6 下也能基本做到秒杀) -* Compatible with IE, FireFox?, Chrome, Opera, Safari and other browsers. -(兼容 IE、FireFox?、Chrome、Opera、Safari 等浏览器) -* Support for JSON data. -(支持 JSON 数据) -* Support for static and asynchronous data loading node. -(支持静态 和 Ajax 异步加载节点数据) -* Replace the skin / custom icon flexibllly. -(支持任意更换皮肤 / 自定义图标) -* Support extremely flexible checkbox or radio selection function. -(支持极其灵活的 checkbox 或 radio 选择功能) -* Provide enough incident response callback. -(提供多种事件响应回调) -* Flexible editing (add / delete / change / search) functions, such as drag and drop nodes,you can even drag and drop multiple nodes. -(灵活的编辑(增/删/改/查)功能,可随意拖拽节点,还可以多节点拖拽哟) -* Enable to generate multiple instances of zTree in one page. -(在一个页面内可同时生成多个 Tree 实例) -* Simple parameters to achieve flexible configuration capabilities. -(简单的参数配置实现 灵活多变的功能) -* To enhance performance, zTree transforms the js & css structure to provide excellent browser compatibility and make the development more easily -(zTree v3.x(JQuery Tree 插件),性能全面提升,js & css 架构全面调整,提供更好的兼容性和易开发性) - - diff --git a/lib/zTree_v3/api/API_cn.html b/lib/zTree_v3/api/API_cn.html deleted file mode 100755 index 22a2b5b..0000000 --- a/lib/zTree_v3/api/API_cn.html +++ /dev/null @@ -1,103 +0,0 @@ - - - - - API 文档 [zTree -- jQuery 树插件] - - - - - -
            - -
            -
            -
            - - -
            -
            -
            -
            • setting 配置详解
            -
              -
              -
              -
              • zTree 方法详解
              -
                -
                • treeNode 节点数据详解
                -
                  -
                  -
                  -
                  -
                  -
                  -
                  - - -
                  -
                  -
                  - - - -
                  - -
                  -
                  -
                  -
                  - - - - - - \ No newline at end of file diff --git a/lib/zTree_v3/api/API_en.html b/lib/zTree_v3/api/API_en.html deleted file mode 100755 index fbeeffe..0000000 --- a/lib/zTree_v3/api/API_en.html +++ /dev/null @@ -1,102 +0,0 @@ - - - - - API Document [zTree -- jQuery tree plug-ins.] - - - - - -
                  - -
                  -
                  -
                  - - -
                  -
                  -
                  -
                  • setting details
                  -
                    -
                    -
                    -
                    • zTree method details
                    -
                      -
                      • treeNode data details
                      -
                        -
                        -
                        -
                        -
                        -
                        -
                        - - -
                        -
                        -
                        - - - -
                        - -
                        -
                        -
                        -
                        - - - - - - \ No newline at end of file diff --git a/lib/zTree_v3/api/apiCss/api.js b/lib/zTree_v3/api/apiCss/api.js deleted file mode 100755 index dbf6e01..0000000 --- a/lib/zTree_v3/api/apiCss/api.js +++ /dev/null @@ -1,599 +0,0 @@ -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:209, pId:20, t:"headers", name:"headers : {},", iconSkin:"core", showAPI:true}, - {id:210, pId:20, t:"xhrFields", name:"xhrFields : {},", 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:5106, pId:510, t:"isParent", name:"isParent : \"isParent\",", iconSkin:"core", showAPI:true}, - {id:5107, pId:510, t:"isHidden", name:"isHidden : \"isHidden\",", iconSkin:"hide", 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:135, pId:1, t:"getIndex", name:"getIndex ()", iconSkin:"core", 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:136, pId:1, t:"getPath", name:"getPath ()", 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, index, 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, callback)", iconSkin:"core", showAPI:true}, - {id:437, pId:4, t:"reAsyncChildNodesPromise", name:"reAsyncChildNodesPromise(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, isSilent)", 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 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/lib/zTree_v3/api/apiCss/common.css b/lib/zTree_v3/api/apiCss/common.css deleted file mode 100755 index bc26d59..0000000 --- a/lib/zTree_v3/api/apiCss/common.css +++ /dev/null @@ -1,218 +0,0 @@ -/* 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;} -.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/lib/zTree_v3/api/apiCss/common_ie6.css b/lib/zTree_v3/api/apiCss/common_ie6.css deleted file mode 100755 index aacaf59..0000000 --- a/lib/zTree_v3/api/apiCss/common_ie6.css +++ /dev/null @@ -1,23 +0,0 @@ -* 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/lib/zTree_v3/api/apiCss/img/apiMenu.gif b/lib/zTree_v3/api/apiCss/img/apiMenu.gif deleted file mode 100755 index 066fc8e..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/apiMenu.gif and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/apiMenu.png b/lib/zTree_v3/api/apiCss/img/apiMenu.png deleted file mode 100755 index 9acec50..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/apiMenu.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/background.jpg b/lib/zTree_v3/api/apiCss/img/background.jpg deleted file mode 100755 index 003375f..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/background.jpg and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/chinese.png b/lib/zTree_v3/api/apiCss/img/chinese.png deleted file mode 100755 index d3b57fc..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/chinese.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/close.png b/lib/zTree_v3/api/apiCss/img/close.png deleted file mode 100755 index 69e41e3..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/close.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/contact-bg.png b/lib/zTree_v3/api/apiCss/img/contact-bg.png deleted file mode 100755 index a3d7a5f..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/contact-bg.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/english.png b/lib/zTree_v3/api/apiCss/img/english.png deleted file mode 100755 index 2ad2d7d..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/english.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/header-bg.png b/lib/zTree_v3/api/apiCss/img/header-bg.png deleted file mode 100755 index a2baacf..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/header-bg.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/lightbulb.png b/lib/zTree_v3/api/apiCss/img/lightbulb.png deleted file mode 100755 index c99357a..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/lightbulb.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/overlay_arrow.gif b/lib/zTree_v3/api/apiCss/img/overlay_arrow.gif deleted file mode 100755 index e7c3e6d..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/overlay_arrow.gif and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/overlay_arrow.png b/lib/zTree_v3/api/apiCss/img/overlay_arrow.png deleted file mode 100755 index d790a11..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/overlay_arrow.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/overlay_bg.png b/lib/zTree_v3/api/apiCss/img/overlay_bg.png deleted file mode 100755 index 5f81ee6..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/overlay_bg.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/overlay_close_IE6.gif b/lib/zTree_v3/api/apiCss/img/overlay_close_IE6.gif deleted file mode 100755 index 42cb8d8..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/overlay_close_IE6.gif and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/zTreeStandard.gif b/lib/zTree_v3/api/apiCss/img/zTreeStandard.gif deleted file mode 100755 index 3f69a5b..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/zTreeStandard.gif and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/img/zTreeStandard.png b/lib/zTree_v3/api/apiCss/img/zTreeStandard.png deleted file mode 100755 index 33c9e84..0000000 Binary files a/lib/zTree_v3/api/apiCss/img/zTreeStandard.png and /dev/null differ diff --git a/lib/zTree_v3/api/apiCss/jquery-1.6.2.min.js b/lib/zTree_v3/api/apiCss/jquery-1.6.2.min.js deleted file mode 100755 index 8cdc80e..0000000 --- a/lib/zTree_v3/api/apiCss/jquery-1.6.2.min.js +++ /dev/null @@ -1,18 +0,0 @@ -/*! - * 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"?"":"")+""),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;g0){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=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;ic)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(;j0)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(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?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
                        a",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="
                        ",k.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="
                        t
                        ",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-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=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=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-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;i0?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;g0){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+~,(\[\\]+)+|[>+~])(\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;b0},k.find=function(a,b,c){var d;if(!a)return[];for(var e=0,f=l.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!j.test(b)){b=b.toLowerCase();for(;e=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 bc[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=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",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.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="

                        ";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="
                        ";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;g0)for(h=g;h0: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-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-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:]+)/,_=/",""],legend:[1,"
                        ","
                        "],thead:[1,"","
                        "],tr:[2,"","
                        "],td:[3,"","
                        "],col:[2,"","
                        "],area:[1,"",""],_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
                        ","
                        "]),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>");try{for(var c=0,d=this.length;c1&&l0?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>");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]===""&&!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=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>/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("
                        ").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=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
                        ";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/lib/zTree_v3/api/apiCss/jquery.ztree.core.js b/lib/zTree_v3/api/apiCss/jquery.ztree.core.js deleted file mode 100755 index 0b01dc8..0000000 --- a/lib/zTree_v3/api/apiCss/jquery.ztree.core.js +++ /dev/null @@ -1,75 +0,0 @@ -/* - * JQuery zTree core v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(r){var J,K,L,M,N,O,v,t={},w={},x={},P={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:{isParent:"isParent",children:"children",name:"name",title:"",url:"url",icon:"icon"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post", -dataType:"text",headers:{},xhrFields:{},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}},y=[function(a){var b=a.treeObj,c=g.event;b.bind(c.NODECREATED, -function(b,c,i){h.apply(a.callback.onNodeCreated,[b,c,i])});b.bind(c.CLICK,function(b,c,i,e,k){h.apply(a.callback.onClick,[c,i,e,k])});b.bind(c.EXPAND,function(b,c,i){h.apply(a.callback.onExpand,[b,c,i])});b.bind(c.COLLAPSE,function(b,c,i){h.apply(a.callback.onCollapse,[b,c,i])});b.bind(c.ASYNC_SUCCESS,function(b,c,i,e){h.apply(a.callback.onAsyncSuccess,[b,c,i,e])});b.bind(c.ASYNC_ERROR,function(b,c,i,e,k,g){h.apply(a.callback.onAsyncError,[b,c,i,e,k,g])});b.bind(c.REMOVE,function(b,c,i){h.apply(a.callback.onRemove, -[b,c,i])});b.bind(c.SELECTED,function(b,c,i){h.apply(a.callback.onSelected,[c,i])});b.bind(c.UNSELECTED,function(b,c,i){h.apply(a.callback.onUnSelected,[c,i])})}],z=[function(a){var b=g.event;a.treeObj.unbind(b.NODECREATED).unbind(b.CLICK).unbind(b.EXPAND).unbind(b.COLLAPSE).unbind(b.ASYNC_SUCCESS).unbind(b.ASYNC_ERROR).unbind(b.REMOVE).unbind(b.SELECTED).unbind(b.UNSELECTED)}],A=[function(a){var b=e.getCache(a);b||(b={},e.setCache(a,b));b.nodes=[];b.doms=[]}],B=[function(a,b,c,d,f,i){if(c){var m= -e.getRoot(a),k=e.nodeChildren(a,c);c.level=b;c.tId=a.treeId+"_"+ ++m.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?h.eqs(c.open,"true"):!!c.open;b=e.nodeIsParent(a,c);h.isArray(k)?(e.nodeIsParent(a,c,!0),c.zAsync=!0):(b=e.nodeIsParent(a,c,b),c.open=b&&!a.async.enable?c.open:!1,c.zAsync=!b);c.isFirstNode=f;c.isLastNode=i;c.getParentNode=function(){return e.getNodeCache(a,c.parentTId)};c.getPreNode=function(){return e.getPreNode(a,c)};c.getNextNode=function(){return e.getNextNode(a,c)}; -c.getIndex=function(){return e.getNodeIndex(a,c)};c.getPath=function(){return e.getNodePath(a,c)};c.isAjaxing=!1;e.fixPIdKeyValue(a,c)}}],u=[function(a){var b=a.target,c=e.getSetting(a.data.treeId),d="",f=null,i="",m="",k=null,j=null,o=null;if(h.eqs(a.type,"mousedown"))m="mousedown";else if(h.eqs(a.type,"mouseup"))m="mouseup";else if(h.eqs(a.type,"contextmenu"))m="contextmenu";else if(h.eqs(a.type,"click"))if(h.eqs(b.tagName,"span")&&b.getAttribute("treeNode"+g.id.SWITCH)!==null)d=h.getNodeMainDom(b).id, -i="switchNode";else{if(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}]))d=h.getNodeMainDom(o).id,i="clickNode"}else if(h.eqs(a.type,"dblclick")&&(m="dblclick",o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id,i="switchNode";if(m.length>0&&d.length==0&&(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id;if(d.length>0)switch(f=e.getNodeCache(c,d),i){case "switchNode":e.nodeIsParent(c,f)?h.eqs(a.type,"click")||h.eqs(a.type, -"dblclick")&&h.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?k=J:i="":i="";break;case "clickNode":k=K}switch(m){case "mousedown":j=L;break;case "mouseup":j=M;break;case "dblclick":j=N;break;case "contextmenu":j=O}return{stop:!1,node:f,nodeEventType:i,nodeEventCallback:k,treeEventType:m,treeEventCallback:j}}],C=[function(a){var b=e.getRoot(a);b||(b={},e.setRoot(a,b));e.nodeChildren(a,b,[]);b.expandTriggerFlag=!1;b.curSelectedList=[];b.noSelection=!0;b.createdNodes=[];b.zId=0;b._ver= -(new Date).getTime()}],D=[],E=[],F=[],G=[],H=[],e={addNodeCache:function(a,b){e.getCache(a).nodes[e.getNodeCacheId(b.tId)]=b},getNodeCacheId:function(a){return a.substring(a.lastIndexOf("_")+1)},addAfterA:function(a){E.push(a)},addBeforeA:function(a){D.push(a)},addInnerAfterA:function(a){G.push(a)},addInnerBeforeA:function(a){F.push(a)},addInitBind:function(a){y.push(a)},addInitUnBind:function(a){z.push(a)},addInitCache:function(a){A.push(a)},addInitNode:function(a){B.push(a)},addInitProxy:function(a, -b){b?u.splice(0,0,a):u.push(a)},addInitRoot:function(a){C.push(a)},addNodesData:function(a,b,c,d){var f=e.nodeChildren(a,b);f?c>=f.length&&(c=-1):(f=e.nodeChildren(a,b,[]),c=-1);if(f.length>0&&c===0)f[0].isFirstNode=!1,j.setNodeLineIcos(a,f[0]);else if(f.length>0&&c<0)f[f.length-1].isLastNode=!1,j.setNodeLineIcos(a,f[f.length-1]);e.nodeIsParent(a,b,!0);c<0?e.nodeChildren(a,b,f.concat(d)):(a=[c,0].concat(d),f.splice.apply(f,a))},addSelectedNode:function(a,b){var c=e.getRoot(a);e.isSelectedNode(a,b)|| -c.curSelectedList.push(b)},addCreatedNode:function(a,b){(a.callback.onNodeCreated||a.view.addDiyDom)&&e.getRoot(a).createdNodes.push(b)},addZTreeTools:function(a){H.push(a)},exSetting:function(a){r.extend(!0,P,a)},fixPIdKeyValue:function(a,b){a.data.simpleData.enable&&(b[a.data.simpleData.pIdKey]=b.parentTId?b.getParentNode()[a.data.simpleData.idKey]:a.data.simpleData.rootPId)},getAfterA:function(a,b,c){for(var d=0,e=E.length;d-1&&f.push(k);k=e.nodeChildren(a, -k);f=f.concat(e.getNodesByParamFuzzy(a,k,c,d))}return f},getNodesByFilter:function(a,b,c,d,f){if(!b)return d?null:[];for(var i=d?null:[],m=0,k=b.length;m0)},clone:function(a){if(a===null)return null;var b=h.isArray(a)?[]:{},c;for(c in a)b[c]=a[c]instanceof Date?new Date(a[c].getTime()):typeof a[c]==="object"?h.clone(a[c]):a[c];return b},eqs:function(a,b){return a.toLowerCase()===b.toLowerCase()},isArray:function(a){return Object.prototype.toString.apply(a)==="[object Array]"},isElement:function(a){return typeof HTMLElement==="object"?a instanceof HTMLElement:a&&typeof a==="object"&&a!==null&& -a.nodeType===1&&typeof a.nodeName==="string"},$:function(a,b,c){b&&typeof b!="string"&&(c=b,b="");return typeof a=="string"?r(a,c?c.treeObj.get(0).ownerDocument:null):r("#"+a.tId+b,c?c.treeObj:null)},getMDom:function(a,b,c){if(!b)return null;for(;b&&b.id!==a.treeId;){for(var d=0,e=c.length;b.tagName&&d0},uCanDo:function(){return!0}},j={addNodes:function(a,b,c,d,f){var i=e.nodeIsParent(a,b);if(!a.data.keep.leaf||!b||i)if(h.isArray(d)||(d=[d]),a.data.simpleData.enable&&(d=e.transformTozTreeFormat(a,d)),b){var i=l(b,g.id.SWITCH,a),m=l(b,g.id.ICON,a),k=l(b,g.id.UL,a);if(!b.open)j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,m,g.folder.CLOSE),b.open=!1,k.css({display:"none"});e.addNodesData(a,b,c,d);j.createNodes(a,b.level+ -1,d,b,c);f||j.expandCollapseParentNode(a,b,!0)}else e.addNodesData(a,e.getRoot(a),c,d),j.createNodes(a,0,d,null,c)},appendNodes:function(a,b,c,d,f,i,g){if(!c)return[];var k=[],h=d?d:e.getRoot(a),h=e.nodeChildren(a,h),o,l;if(!h||f>=h.length-c.length)f=-1;for(var s=0,n=c.length;s0&&(l=j.appendNodes(a,b+1,I,p,-1, -i,g&&p.open));g&&(j.makeDOMNodeMainBefore(k,a,p),j.makeDOMNodeLine(k,a,p),e.getBeforeA(a,p,k),j.makeDOMNodeNameBefore(k,a,p),e.getInnerBeforeA(a,p,k),j.makeDOMNodeIcon(k,a,p),e.getInnerAfterA(a,p,k),j.makeDOMNodeNameAfter(k,a,p),e.getAfterA(a,p,k),o&&p.open&&j.makeUlHtml(a,p,k,l.join("")),j.makeDOMNodeMainAfter(k,a,p),e.addCreatedNode(a,p))}return k},appendParentULDom:function(a,b){var c=[],d=l(b,a);!d.get(0)&&b.parentTId&&(j.appendParentULDom(a,b.getParentNode()),d=l(b,a));var f=l(b,g.id.UL,a);f.get(0)&& -f.remove();f=e.nodeChildren(a,b);f=j.appendNodes(a,b.level+1,f,b,-1,!1,!0);j.makeUlHtml(a,b,c,f.join(""));d.append(c.join(""))},asyncNode:function(a,b,c,d){var f,i;f=e.nodeIsParent(a,b);if(b&&!f)return h.apply(d),!1;else if(b&&b.isAjaxing)return!1;else if(h.apply(a.callback.beforeAsync,[a.treeId,b],!0)==!1)return h.apply(d),!1;if(b)b.isAjaxing=!0,l(b,g.id.ICON,a).attr({style:"","class":g.className.BUTTON+" "+g.className.ICO_LOADING});var m={},k=h.apply(a.async.autoParam,[a.treeId,b],a.async.autoParam); -for(f=0,i=k.length;b&&f1&&(o=q[1],q=q[0]);m[o]=b[q]}k=h.apply(a.async.otherParam,[a.treeId,b],a.async.otherParam);if(h.isArray(k))for(f=0,i=k.length;f-1?JSON.stringify(m):m,dataType:a.async.dataType,headers:a.async.headers, -xhrFields:a.async.xhrFields,success:function(i){if(s==e.getRoot(a)._ver){var f=[];try{f=!i||i.length==0?[]:typeof i=="string"?eval("("+i+")"):i}catch(k){f=i}if(b)b.isAjaxing=null,b.zAsync=!0;j.setNodeLineIcos(a,b);f&&f!==""?(f=h.apply(a.async.dataFilter,[a.treeId,b,f],f),j.addNodes(a,b,-1,f?h.clone(f):[],!!c)):j.addNodes(a,b,-1,[],!!c);a.treeObj.trigger(g.event.ASYNC_SUCCESS,[a.treeId,b,i]);h.apply(d)}},error:function(c,d,i){if(s==e.getRoot(a)._ver){if(b)b.isAjaxing=null;j.setNodeLineIcos(a,b);a.treeObj.trigger(g.event.ASYNC_ERROR, -[a.treeId,b,c,d,i])}}});return!0},cancelPreSelectedNode:function(a,b,c){var d=e.getRoot(a).curSelectedList,f,i;for(f=d.length-1;f>=0;f--)if(i=d[f],b===i||!b&&(!c||c!==i))if(l(i,g.id.A,a).removeClass(g.node.CURSELECTED),b){e.removeSelectedNode(a,b);break}else d.splice(f,1),a.treeObj.trigger(g.event.UNSELECTED,[a.treeId,i])},createNodeCallback:function(a){if(a.callback.onNodeCreated||a.view.addDiyDom)for(var b=e.getRoot(a);b.createdNodes.length>0;){var c=b.createdNodes.shift();h.apply(a.view.addDiyDom, -[a.treeId,c]);a.callback.onNodeCreated&&a.treeObj.trigger(g.event.NODECREATED,[a.treeId,c])}},createNodes:function(a,b,c,d,f){if(c&&c.length!=0){var i=e.getRoot(a),m=!d||d.open||!!l(e.nodeChildren(a,d)[0],a).get(0);i.createdNodes=[];var b=j.appendNodes(a,b,c,d,f,!0,m),k,h;d?(d=l(d,g.id.UL,a),d.get(0)&&(k=d)):k=a.treeObj;k&&(f>=0&&(h=k.children()[f]),f>=0&&h?r(h).before(b.join("")):k.append(b.join("")));j.createNodeCallback(a)}},destroy:function(a){a&&(e.initCache(a),e.initRoot(a),n.unbindTree(a), -n.unbindEvent(a),a.treeObj.empty(),delete t[a.treeId])},expandCollapseNode:function(a,b,c,d,f){var i=e.getRoot(a),m;if(b){var k=e.nodeChildren(a,b),q=e.nodeIsParent(a,b);if(i.expandTriggerFlag)m=f,f=function(){m&&m();b.open?a.treeObj.trigger(g.event.EXPAND,[a.treeId,b]):a.treeObj.trigger(g.event.COLLAPSE,[a.treeId,b])},i.expandTriggerFlag=!1;if(!b.open&&q&&(!l(b,g.id.UL,a).get(0)||k&&k.length>0&&!l(k[0],a).get(0)))j.appendParentULDom(a,b),j.createNodeCallback(a);if(b.open==c)h.apply(f,[]);else{var c= -l(b,g.id.UL,a),i=l(b,g.id.SWITCH,a),o=l(b,g.id.ICON,a);q?(b.open=!b.open,b.iconOpen&&b.iconClose&&o.attr("style",j.makeNodeIcoStyle(a,b)),b.open?(j.replaceSwitchClass(b,i,g.folder.OPEN),j.replaceIcoClass(b,o,g.folder.OPEN),d==!1||a.view.expandSpeed==""?(c.show(),h.apply(f,[])):k&&k.length>0?c.slideDown(a.view.expandSpeed,f):(c.show(),h.apply(f,[]))):(j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,o,g.folder.CLOSE),d==!1||a.view.expandSpeed==""||!(k&&k.length>0)?(c.hide(),h.apply(f,[])): -c.slideUp(a.view.expandSpeed,f))):h.apply(f,[])}}else h.apply(f,[])},expandCollapseParentNode:function(a,b,c,d,e){b&&(b.parentTId?(j.expandCollapseNode(a,b,c,d),b.parentTId&&j.expandCollapseParentNode(a,b.getParentNode(),c,d,e)):j.expandCollapseNode(a,b,c,d,e))},expandCollapseSonNode:function(a,b,c,d,f){var i=e.getRoot(a),i=b?e.nodeChildren(a,b):e.nodeChildren(a,i),g=b?!1:d,k=e.getRoot(a).expandTriggerFlag;e.getRoot(a).expandTriggerFlag=!1;if(i)for(var h=0,l=i.length;h=0;d--)if(b===c[d])return!0;return!1},makeDOMNodeIcon:function(a,b,c){var d=e.nodeName(b,c),d=b.view.nameIsHTML?d:d.replace(/&/g,"&").replace(//g,">");a.push("",d,"")},makeDOMNodeLine:function(a,b,c){a.push("")},makeDOMNodeMainAfter:function(a){a.push("
                      • ")},makeDOMNodeMainBefore:function(a,b,c){a.push("
                      • ")},makeDOMNodeNameAfter:function(a){a.push("")},makeDOMNodeNameBefore:function(a,b,c){var d= -e.nodeTitle(b,c),f=j.makeNodeUrl(b,c),i=j.makeNodeFontCss(b,c),m=[],k;for(k in i)m.push(k,":",i[k],";");a.push("0?"href='"+f+"'":""," target='",j.makeNodeTarget(c),"' style='",m.join(""),"'");h.apply(b.view.showTitle,[b.treeId,c],b.view.showTitle)&&d&&a.push("title='",d.replace(/'/g,"'").replace(//g,">"),"'");a.push(">")},makeNodeFontCss:function(a, -b){var c=h.apply(a.view.fontCss,[a.treeId,b],a.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(a,b){var c=["ico"];if(!b.isAjaxing){var d=e.nodeIsParent(a,b);c[0]=(b.iconSkin?b.iconSkin+"_":"")+c[0];d?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU)}return g.className.BUTTON+" "+c.join("_")},makeNodeIcoStyle:function(a,b){var c=[];if(!b.isAjaxing){var d=e.nodeIsParent(a,b)&&b.iconOpen&&b.iconClose?b.open?b.iconOpen:b.iconClose:b[a.data.key.icon];d&&c.push("background:url(", -d,") 0 0 no-repeat;");(a.view.showIcon==!1||!h.apply(a.view.showIcon,[a.treeId,b],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(a,b){var c=[];a.view.showLine?b.level==0&&b.isFirstNode&&b.isLastNode?c.push(g.line.ROOT):b.level==0&&b.isFirstNode?c.push(g.line.ROOTS):b.isLastNode?c.push(g.line.BOTTOM):c.push(g.line.CENTER):c.push(g.line.NOLINE);e.nodeIsParent(a,b)?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU);return j.makeNodeLineClassEx(b)+c.join("_")}, -makeNodeLineClassEx:function(a){return g.className.BUTTON+" "+g.className.LEVEL+a.level+" "+g.className.SWITCH+" "},makeNodeTarget:function(a){return a.target||"_blank"},makeNodeUrl:function(a,b){var c=a.data.key.url;return b[c]?b[c]:null},makeUlHtml:function(a,b,c,d){c.push("
                          ");c.push(d);c.push("
                        ")},makeUlLineClass:function(a,b){return a.view.showLine&&!b.isLastNode? -g.line.LINE:""},removeChildNodes:function(a,b){if(b){var c=e.nodeChildren(a,b);if(c){for(var d=0,f=c.length;dc.bottom||d.right>c.right||d.left0)c[0].isFirstNode= -!0},setLastNode:function(a,b){var c=e.nodeChildren(a,b);if(c.length>0)c[c.length-1].isLastNode=!0},removeNode:function(a,b){var c=e.getRoot(a),d=b.parentTId?b.getParentNode():c;b.isFirstNode=!1;b.isLastNode=!1;b.getPreNode=function(){return null};b.getNextNode=function(){return null};if(e.getNodeCache(a,b.tId)){l(b,a).remove();e.removeNodeCache(a,b);e.removeSelectedNode(a,b);for(var f=e.nodeChildren(a,d),i=0,h=f.length;i0){var q=f[i-1],i=l(q,g.id.UL,a),h=l(q,g.id.SWITCH,a);k=l(q,g.id.ICON,a);d==c?f.length==1?j.replaceSwitchClass(q,h,g.line.ROOT):(c=l(f[0],g.id.SWITCH,a),j.replaceSwitchClass(f[0],c,g.line.ROOTS),j.replaceSwitchClass(q, -h,g.line.BOTTOM)):j.replaceSwitchClass(q,h,g.line.BOTTOM);i.removeClass(g.line.LINE)}}},replaceIcoClass:function(a,b,c){if(b&&!a.isAjaxing&&(a=b.attr("class"),a!=void 0)){a=a.split("_");switch(c){case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:a[a.length-1]=c}b.attr("class",a.join("_"))}},replaceSwitchClass:function(a,b,c){if(b){var d=b.attr("class");if(d!=void 0){d=d.split("_");switch(c){case g.line.ROOT:case g.line.ROOTS:case g.line.CENTER:case g.line.BOTTOM:case g.line.NOLINE:d[0]=j.makeNodeLineClassEx(a)+ -c;break;case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:d[1]=c}b.attr("class",d.join("_"));c!==g.folder.DOCU?b.removeAttr("disabled"):b.attr("disabled","disabled")}}},selectNode:function(a,b,c){c||j.cancelPreSelectedNode(a,null,b);l(b,g.id.A,a).addClass(g.node.CURSELECTED);e.addSelectedNode(a,b);a.treeObj.trigger(g.event.SELECTED,[a.treeId,b])},setNodeFontCss:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeFontCss(a,b);d&&c.css(d)},setNodeLineIcos:function(a,b){if(b){var c=l(b,g.id.SWITCH, -a),d=l(b,g.id.UL,a),f=l(b,g.id.ICON,a),i=j.makeUlLineClass(a,b);i.length==0?d.removeClass(g.line.LINE):d.addClass(i);c.attr("class",j.makeNodeLineClass(a,b));e.nodeIsParent(a,b)?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",j.makeNodeIcoStyle(a,b));f.attr("class",j.makeNodeIcoClass(a,b))}},setNodeName:function(a,b){var c=e.nodeTitle(a,b),d=l(b,g.id.SPAN,a);d.empty();a.view.nameIsHTML?d.html(e.nodeName(a,b)):d.text(e.nodeName(a,b));h.apply(a.view.showTitle, -[a.treeId,b],a.view.showTitle)&&l(b,g.id.A,a).attr("title",!c?"":c)},setNodeTarget:function(a,b){l(b,g.id.A,a).attr("target",j.makeNodeTarget(b))},setNodeUrl:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeUrl(a,b);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(a,b){b.open||!h.canAsync(a,b)?j.expandCollapseNode(a,b,!b.open):a.async.enable?j.asyncNode(a,b)||j.expandCollapseNode(a,b,!b.open):b&&j.expandCollapseNode(a,b,!b.open)}};r.fn.zTree={consts:{className:{BUTTON:"button", -LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch",NAME:"node_name"},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",SELECTED:"ztree_selected",UNSELECTED:"ztree_unselected"},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:h,view:j,event:n,data:e},getZTreeObj:function(a){return(a=e.getZTreeTools(a))?a:null},destroy:function(a){if(a&&a.length>0)j.destroy(e.getSetting(a));else for(var b in t)j.destroy(t[b])},init:function(a,b,c){var d=h.clone(P);r.extend(!0,d,b);d.treeId=a.attr("id");d.treeObj=a;d.treeObj.empty();t[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed="";e.initRoot(d);a=e.getRoot(d);c=c?h.clone(h.isArray(c)? -c:[c]):[];d.data.simpleData.enable?e.nodeChildren(d,a,e.transformTozTreeFormat(d,c)):e.nodeChildren(d,a,c);e.initCache(d);n.unbindTree(d);n.bindTree(d);n.unbindEvent(d);n.bindEvent(d);var f={setting:d,addNodes:function(a,b,c,f){function g(){j.addNodes(d,a,b,n,f==!0)}a||(a=null);var l=e.nodeIsParent(d,a);if(a&&!l&&d.data.keep.leaf)return null;l=parseInt(b,10);isNaN(l)?(f=!!c,c=b,b=-1):b=l;if(!c)return null;var n=h.clone(h.isArray(c)?c:[c]);h.canAsync(d,a)?j.asyncNode(d,a,f,g):g();return n},cancelSelectedNode:function(a){j.cancelPreSelectedNode(d, -a)},destroy:function(){j.destroy(d)},expandAll:function(a){a=!!a;j.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,f,g){function n(){var b=l(a,d).get(0);b&&f!==!1&&j.scrollIntoView(d,b)}if(!a||!e.nodeIsParent(d,a))return null;b!==!0&&b!==!1&&(b=!a.open);if((g=!!g)&&b&&h.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(g&&!b&&h.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&j.expandCollapseParentNode(d,a.getParentNode(), -b,!1);if(b===a.open&&!c)return null;e.getRoot(d).expandTriggerFlag=g;!h.canAsync(d,a)&&c?j.expandCollapseSonNode(d,a,b,!0,n):(a.open=!b,j.switchNode(this.setting,a),n());return b},getNodes:function(){return e.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:e.getNodeByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodeByTId:function(a){return e.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:e.getNodesByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByParamFuzzy:function(a, -b,c){return!a?null:e.getNodesByParamFuzzy(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,f){b=!!b;return!a||typeof a!="function"?b?null:[]:e.getNodesByFilter(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b,f)},getNodeIndex:function(a){if(!a)return null;for(var b=a.parentTId?a.getParentNode():e.getRoot(d),b=e.nodeChildren(d,b),c=0,f=b.length;c0?j.createNodes(d,0,c,null,-1):d.async.enable&&d.async.url&&d.async.url!==""&&j.asyncNode(d);return f}};var Q=r.fn.zTree,l=h.$,g=Q.consts})(jQuery); diff --git a/lib/zTree_v3/api/apiCss/zTreeStyleForApi.css b/lib/zTree_v3/api/apiCss/zTreeStyleForApi.css deleted file mode 100755 index bb4717b..0000000 --- a/lib/zTree_v3/api/apiCss/zTreeStyleForApi.css +++ /dev/null @@ -1,49 +0,0 @@ -/*------------------------------------- -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/lib/zTree_v3/api/cn/fn.zTree._z.html b/lib/zTree_v3/api/cn/fn.zTree._z.html deleted file mode 100755 index 7af3e40..0000000 --- a/lib/zTree_v3/api/cn/fn.zTree._z.html +++ /dev/null @@ -1,13 +0,0 @@ -
                        -
                        -

                        JSON$.fn.zTree._z

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree v3.x 内部的全部方法都可以通过 $.fn.zTree._z 进行调用,开放出来是为了更便于大家开发制作自己的 zTree 插件。

                        -

                        如无特殊需求请勿使用此对象,以及修改此对象内部的各个函数。

                        -
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/fn.zTree.destroy.html b/lib/zTree_v3/api/cn/fn.zTree.destroy.html deleted file mode 100755 index 7105807..0000000 --- a/lib/zTree_v3/api/cn/fn.zTree.destroy.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Function(treeId)$.fn.zTree.destroy

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        从 zTree v3.4 开始提供销毁 zTree 的方法。

                        -

                        1、用此方法可以销毁指定 treeId 的 zTree,也可以销毁当前页面全部的 zTree。

                        -

                        2、销毁指定 treeId 的 zTree 也可以使用 zTreeObj.destroy() 方法。

                        -

                        3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        zTree 的 DOM 容器的 id

                        -

                        省略 treeId,表示销毁当前页面全部的 zTree

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 销毁 id 为 "treeDemo" 的 zTree

                        -
                        $.fn.zTree.destroy("treeDemo");
                        -

                        2. 销毁全部 的 zTree

                        -
                        $.fn.zTree.destroy();
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/fn.zTree.getZTreeObj.html b/lib/zTree_v3/api/cn/fn.zTree.getZTreeObj.html deleted file mode 100755 index b1d1db4..0000000 --- a/lib/zTree_v3/api/cn/fn.zTree.getZTreeObj.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Function(treeId)$.fn.zTree.getZTreeObj

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree v3.x 专门提供的根据 treeId 获取 zTree 对象的方法。

                        -

                        必须在初始化 zTree 以后才可以使用此方法。

                        -

                        有了这个方法,用户不再需要自己设定全局变量来保存 zTree 初始化后得到的对象了,而且在所有回调函数中全都会返回 treeId 属性,用户可以随时使用此方法获取需要进行操作的 zTree 对象

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        zTree 的 DOM 容器的 id

                        -

                        返回值JSON

                        -

                        zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象

                        -
                        -

                        function 举例

                        -

                        1. 获取 id 为 tree 的 zTree 对象

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/fn.zTree.init.html b/lib/zTree_v3/api/cn/fn.zTree.init.html deleted file mode 100755 index 61da41a..0000000 --- a/lib/zTree_v3/api/cn/fn.zTree.init.html +++ /dev/null @@ -1,74 +0,0 @@ -
                        -
                        -

                        Function(obj, zSetting, zNodes)$.fn.zTree.init

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 初始化方法,创建 zTree 必须使用此方法

                        -

                        1、页面需要进行 W3C 申明,例如:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">。

                        -

                        2、需要首先加载 jquery-1.4.2.js 或其他更高版本的 jQuery 。

                        -

                        3、需要加载 jquery-ztree.core-3.0.js,如果需要用到 编辑功能 或 checkbox / radio 还需要分别加载 jquery-ztree.exedit-3.0.js 和 jquery-ztree.excheck-3.0.js 。

                        -

                        4、需要加载 zTreeStyle.css 以及 zTreeStyle 目录下的 img 文件。

                        -

                        5、如果需要使用自定义图标请参考相应的Demo。

                        -

                        6、请注意设置 zTree 的容器样式 class="ztree",其中 "ztree" 这个 className,可以根据需要随意修改,别忘了修改 css 中对应名字就是了,对于容器如果需要增加其他特殊样式,可根据自己的需要进行修改。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        objjQuery Object

                        -

                        用于展现 zTree 的 DOM 容器

                        -

                        zSettingJSON

                        -

                        zTree 的配置数据,具体请参考 “setting 配置详解”中的各个属性详细说明

                        -

                        zNodesArray(JSON) / JSON

                        -

                        zTree 的节点数据,具体请参考 “treeNode 节点数据详解”中的各个属性详细说明

                        -

                        1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中

                        -

                        2、如果需要异步加载根节点,可以设置为 null 或 [ ]

                        -

                        3、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明

                        -

                        返回值JSON

                        -

                        zTree 对象,提供操作 zTree 的各种方法,对于通过 js 操作 zTree 来说必须通过此对象

                        -

                        如果不需要自行设定全局变量保存,可以利用 $.fn.zTree.getZTreeObj 方法随时获取

                        -
                        -

                        setting & function 举例

                        -

                        1. 简单创建 zTree 演示

                        -
                        <!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.js"></script>
                        -<!--
                        -  <script type="text/javascript" src="jquery.ztree.excheck.js"></script>
                        -  <script type="text/javascript" src="jquery.ztree.exedit.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>
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.autoParam.html b/lib/zTree_v3/api/cn/setting.async.autoParam.html deleted file mode 100755 index 6ce1dd7..0000000 --- a/lib/zTree_v3/api/cn/setting.async.autoParam.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Array(String) / Function(treeId, treeNode)setting.async.autoParam

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        异步加载时需要自动提交父节点属性的参数。[setting.async.enable = true 时生效]

                        -

                        默认值:[ ]

                        -
                        -
                        -

                        Array(String) 格式说明

                        -
                        -

                        1、将需要作为参数提交的属性名称,制作成 Array 即可,例如:["id", "name"]

                        -

                        2、可以设置提交时的参数名称,例如 server 只接受 zId : ["id=zId"]

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要异步加载子节点的的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        返回值Array(String)

                        -

                        返回值同 Array(String) 格式的数据

                        -
                        -

                        setting 举例

                        -

                        1. 设置 id 属性为自动提交的参数

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id"]
                        -	}
                        -};
                        -假设 异步加载 父节点(node = {id:1, name:"test"}) 的子节点时,将提交参数 id=1
                        -......
                        -

                        2. 设置 id 属性作为 zId 成为自动提交的参数

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id=zId"]
                        -	}
                        -};
                        -假设 对父节点 node = {id:1, name:"test"},进行异步加载时,将提交参数 zId=1
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.contentType.html b/lib/zTree_v3/api/cn/setting.async.contentType.html deleted file mode 100755 index db0c92f..0000000 --- a/lib/zTree_v3/api/cn/setting.async.contentType.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.contentType

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        Ajax 提交参数的数据类型。[setting.async.enable = true 时生效]

                        -

                        默认值:"application/x-www-form-urlencoded"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        contentType = "application/x-www-form-urlencoded" 可以满足绝大部分请求,按照标准的 Form 格式提交参数

                        -

                        contentType = "application/json" 可以满足 .Net 的编程需要,按照 JSON 格式提交参数

                        -
                        -

                        setting 举例

                        -

                        1. 设置 Ajax 提交参数的数据类型为 JSON 格式

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		contentType: "application/json",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.dataFilter.html b/lib/zTree_v3/api/cn/setting.async.dataFilter.html deleted file mode 100755 index f174bf0..0000000 --- a/lib/zTree_v3/api/cn/setting.async.dataFilter.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, parentNode, responseData)setting.async.dataFilter

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于对 Ajax 返回数据进行预处理的函数。[setting.async.enable = true 时生效]

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        parentNodeJSON

                        -

                        进行异步加载的父节点 JSON 数据对象

                        -

                        对根进行异步加载时,parentNode = null

                        -

                        responseDataArray(JSON) / JSON / String

                        -

                        异步加载获取到的数据转换后的 Array(JSON) / JSON / String 数据对象

                        -

                        v3.4开始 支持 XML 数据格式的 String

                        -

                        返回值Array(JSON) / JSON

                        -

                        返回值是 zTree 支持的JSON 数据结构即可。

                        -

                        v3.x 支持单个 JSON 节点数据进行加载

                        -
                        -

                        setting & function 举例

                        -

                        1. 修改异步获取到的节点name属性

                        -
                        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
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.dataType.html b/lib/zTree_v3/api/cn/setting.async.dataType.html deleted file mode 100755 index 6d639b7..0000000 --- a/lib/zTree_v3/api/cn/setting.async.dataType.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.dataType

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        Ajax 获取的数据类型。[setting.async.enable = true 时生效]

                        -

                        默认值:"text"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        dataType = "text" 可以满足绝大部分请求

                        -

                        其余 dataType 类型请参考 jQuery ajax 中的 dataType 参数

                        -
                        -

                        setting 举例

                        -

                        1. 设置 Ajax 获取的数据类型为 纯文本

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		dataType: "text",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.enable.html b/lib/zTree_v3/api/cn/setting.async.enable.html deleted file mode 100755 index 9079ae1..0000000 --- a/lib/zTree_v3/api/cn/setting.async.enable.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Booleansetting.async.enable

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否开启异步加载模式

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示 开启 异步加载模式

                        -

                        false 表示 关闭 异步加载模式

                        -

                        如果设置为 true,请务必设置 setting.async 内的其它参数。

                        -

                        如果需要根节点也异步加载,初始化时 treeNodes 参数设置为 null 即可。

                        -
                        -

                        setting 举例

                        -

                        1. 需要开启异步加载模式

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.headers.html b/lib/zTree_v3/api/cn/setting.async.headers.html deleted file mode 100755 index 222b9f8..0000000 --- a/lib/zTree_v3/api/cn/setting.async.headers.html +++ /dev/null @@ -1,18 +0,0 @@ -
                        -
                        -

                        Objectsetting.async.headers

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        [setting.async.enable = true 时生效]

                        -

                        默认值:"{}"

                        -

                        v3.5.36+

                        -
                        -
                        -

                        Object 格式说明

                        -
                        -

                        请参考 jQuery ajax 中的 headers 参数

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.otherParam.html b/lib/zTree_v3/api/cn/setting.async.otherParam.html deleted file mode 100755 index bfb44c2..0000000 --- a/lib/zTree_v3/api/cn/setting.async.otherParam.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Array(String) / JSON / Function(treeId, treeNode)setting.async.otherParam

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        Ajax 请求提交的静态参数键值对。[setting.async.enable = true 时生效]

                        -

                        默认值:[ ]

                        -
                        -
                        -

                        Array(String) 格式说明

                        -
                        -

                        可以为空[ ],如果有 key,则必须存在 value。 例如:[key, value]

                        -
                        -

                        JSON 格式说明

                        -
                        -

                        直接用 JSON 格式制作键值对,例如:{ key1:value1, key2:value2 }

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要异步加载子节点的的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        返回值Array(String) || JSON

                        -

                        返回值同 Array(String) || JSON 格式的数据

                        -
                        -

                        setting 举例

                        -

                        1. 设置 Array(String) 格式的参数

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		otherParam: ["id", "1", "name", "test"]
                        -	}
                        -};
                        -进行异步加载时,将提交参数 id=1&name=test
                        -

                        2. 设置 JSON 格式的参数

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		otherParam: { "id":"1", "name":"test"}
                        -	}
                        -};
                        -进行异步加载时,将提交参数 id=1&name=test
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.type.html b/lib/zTree_v3/api/cn/setting.async.type.html deleted file mode 100755 index 20d9a6b..0000000 --- a/lib/zTree_v3/api/cn/setting.async.type.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.type

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        Ajax 的 http 请求模式。[setting.async.enable = true 时生效]

                        -

                        默认值:"post"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        type = "post" 表示异步加载采用 post 方法请求

                        -

                        type = "get" 表示异步加载采用 get 方法请求

                        -

                        对应于 jQuery ajax 中的 type 参数

                        -
                        -

                        setting 举例

                        -

                        1. 设置使用 get 方式请求数据

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		type: "get",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.url.html b/lib/zTree_v3/api/cn/setting.async.url.html deleted file mode 100755 index a5209af..0000000 --- a/lib/zTree_v3/api/cn/setting.async.url.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.async.url

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        Ajax 获取数据的 URL 地址。[setting.async.enable = true 时生效]

                        -

                        默认值:""

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        设置固定的异步加载 url 字符串,请注意地址的路径,确保页面能正常加载

                        -

                        url 内也可以带参数,这些参数就只能是通过 get 方式提交了,并且请注意进行转码

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要异步加载子节点的的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        返回值String

                        -

                        返回值同 String 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置异步获取节点的 URL 为 nodes.php

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "nodes.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -

                        2. 设置异步获取节点的 URL 为 function 动态获取

                        -
                        function getAsyncUrl(treeId, treeNode) {
                        -    return treeNode.isParent ? "nodes1.php" : "nodes2.php";
                        -};
                        -var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: getAsyncUrl,
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.async.xhrFields.html b/lib/zTree_v3/api/cn/setting.async.xhrFields.html deleted file mode 100755 index ed2079e..0000000 --- a/lib/zTree_v3/api/cn/setting.async.xhrFields.html +++ /dev/null @@ -1,18 +0,0 @@ -
                        -
                        -

                        Objectsetting.async.xhrFields

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        [setting.async.enable = true 时生效]

                        -

                        默认值:"{}"

                        -

                        v3.5.36+

                        -
                        -
                        -

                        Object 格式说明

                        -
                        -

                        请参考 jQuery ajax 中的 xhrFields 参数

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeAsync.html b/lib/zTree_v3/api/cn/setting.callback.beforeAsync.html deleted file mode 100755 index 70ba0fc..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeAsync.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeAsync

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获异步加载之前的事件回调函数,zTree 根据返回值确定是否允许进行异步加载

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        进行异步加载的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将不进行异步加载,也无法触发 onAsyncSuccess / onAsyncError 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止 id 为 1 的父节点进行异步加载操作

                        -
                        function zTreeBeforeAsync(treeId, treeNode) {
                        -    return (treeNode.id !== 1);
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeAsync: zTreeBeforeAsync
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeCheck.html b/lib/zTree_v3/api/cn/setting.callback.beforeCheck.html deleted file mode 100755 index a0e1f42..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeCheck.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeCheck

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获 勾选 或 取消勾选 之前的事件回调函数,并且根据返回值确定是否允许 勾选 或 取消勾选

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        进行 勾选 或 取消勾选 的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,将不会改变勾选状态,并且无法触发 onCheck 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止所有勾选操作,保持初始化的勾选状态

                        -
                        function zTreeBeforeCheck(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeCheck: zTreeBeforeCheck
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeClick.html b/lib/zTree_v3/api/cn/setting.callback.beforeClick.html deleted file mode 100755 index 6efe928..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeClick.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode, clickFlag)setting.callback.beforeClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获单击节点之前的事件回调函数,并且根据返回值确定是否允许单击操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被单击的节点 JSON 数据对象

                        -

                        clickFlagNumber

                        -

                        节点被点击后的选中操作类型,详细看下表

                        - - - - - - - - - - - - -
                        clickFlagselectedMultiautoCancelSelected
                        &&
                        event.ctrlKey / metaKey
                        isSelected选中操作
                        1truefalsefalse普通选中
                        1truefalsetrue普通选中
                        2truetruefalse追加选中
                        0truetruetrue取消选中
                        1falsefalsefalse普通选中
                        1falsefalsetrue普通选中
                        1falsetruefalse普通选中
                        0falsetruetrue取消选中
                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将不会选中节点,也无法触发 onClick 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止节点被选中

                        -
                        function zTreeBeforeClick(treeId, treeNode, clickFlag) {
                        -    return (treeNode.id !== 1);
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeClick: zTreeBeforeClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeCollapse.html b/lib/zTree_v3/api/cn/setting.callback.beforeCollapse.html deleted file mode 100755 index d778e9c..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeCollapse.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeCollapse

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获父节点折叠之前的事件回调函数,并且根据返回值确定是否允许折叠操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        要折叠的父节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将不会折叠节点,也无法触发 onCollapse 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止所有已展开的父节点折叠

                        -
                        function zTreeBeforeCollapse(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeCollapse: zTreeBeforeCollapse
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeDblClick.html b/lib/zTree_v3/api/cn/setting.callback.beforeDblClick.html deleted file mode 100755 index ed7e4dc..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeDblClick.html +++ /dev/null @@ -1,36 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeDblClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标双击之前的事件回调函数,并且根据返回值确定触发 onDblClick 事件回调函数

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标双击时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,将仅仅无法触发 onDblClick 事件回调函数,对其他操作无任何影响

                        -

                        此事件回调函数对双击节点展开功能无任何影响,如果需要设置请参考 setting.view.dblClickExpand 属性

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止 onDblClick 事件

                        -
                        function zTreeBeforeDblClick(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeDblClick: zTreeBeforeDblClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeDrag.html b/lib/zTree_v3/api/cn/setting.callback.beforeDrag.html deleted file mode 100755 index 1e783a3..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeDrag.html +++ /dev/null @@ -1,39 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNodes)setting.callback.beforeDrag

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被拖拽之前的事件回调函数,并且根据返回值确定是否允许开启拖拽操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        被拖拽的节点 treeNodes 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodesArray(JSON)

                        -

                        要被拖拽的节点 JSON 数据集合

                        -

                        v3.x 允许多个同级节点同时被拖拽,因此将此参数修改为 Array(JSON)

                        -

                        如果拖拽时多个被选择的节点不是同级关系,则只能拖拽鼠标当前所在位置的节点

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将终止拖拽,也无法触发 onDrag / beforeDrop / onDrop 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止全部拖拽操作

                        -
                        function zTreeBeforeDrag(treeId, treeNodes) {
                        -    return false;
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDrag: zTreeBeforeDrag
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeDragOpen.html b/lib/zTree_v3/api/cn/setting.callback.beforeDragOpen.html deleted file mode 100755 index ceab2d3..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeDragOpen.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeDragOpen

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获拖拽节点移动到折叠状态的父节点后,即将自动展开该父节点之前的事件回调函数,并且根据返回值确定是否允许自动展开操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        需要被展开的父节点 treeNode 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        要被自动展开的父节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将无法进行自动展开操作

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止全部拖拽时的自动展开操作

                        -
                        function zTreeBeforeDragOpen(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDragOpen: zTreeBeforeDragOpen
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeDrop.html b/lib/zTree_v3/api/cn/setting.callback.beforeDrop.html deleted file mode 100755 index 4123743..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeDrop.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNodes, targetNode, moveType, isCopy)setting.callback.beforeDrop

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点拖拽操作结束之前的事件回调函数,并且根据返回值确定是否允许此拖拽操作

                        -

                        默认值:null

                        -

                        如未拖拽到有效位置,则不触发此回调函数,直接将节点恢复原位置

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        目标节点 targetNode 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodesArray(JSON)

                        -

                        被拖拽的节点 JSON 数据集合

                        -

                        无论拖拽操作为 复制 还是 移动,treeNodes 都是当前被拖拽节点的数据集合。

                        -

                        targetNodeJSON

                        -

                        treeNodes 被拖拽放开的目标节点 JSON 数据对象。

                        -

                        如果拖拽成为根节点,则 targetNode = null

                        -

                        moveTypeString

                        -

                        指定移动到目标节点的相对位置

                        -

                        "inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点

                        -

                        isCopyBoolean

                        -

                        拖拽节点操作是 复制 或 移动

                        -

                        true:复制;false:移动

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将恢复被拖拽的节点,也无法触发 onDrop 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止将节点拖拽成为根节点

                        -
                        function zTreeBeforeDrop(treeId, treeNodes, targetNode, moveType) {
                        -    return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDrop: zTreeBeforeDrop
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeEditName.html b/lib/zTree_v3/api/cn/setting.callback.beforeEditName.html deleted file mode 100755 index 9df3ca2..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeEditName.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeEditName

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点编辑按钮的 click 事件,并且根据返回值确定是否允许进入名称编辑状态

                        -

                        此事件回调函数最主要是用于捕获编辑按钮的点击事件,然后触发自定义的编辑界面操作。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        将要进入编辑名称状态的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,节点将无法进入 zTree 默认的编辑名称状态

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止修改父节点的名称

                        -
                        function zTreeBeforeEditName(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeEditName: zTreeBeforeEditName
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeExpand.html b/lib/zTree_v3/api/cn/setting.callback.beforeExpand.html deleted file mode 100755 index 350972b..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeExpand.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeExpand

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获父节点展开之前的事件回调函数,并且根据返回值确定是否允许展开操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        要展开的父节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将不会展开节点,也无法触发 onExpand 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止所有已折叠的父节点展开

                        -
                        function zTreeBeforeExpand(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeExpand: zTreeBeforeExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeMouseDown.html b/lib/zTree_v3/api/cn/setting.callback.beforeMouseDown.html deleted file mode 100755 index 2c3f28d..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeMouseDown.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeMouseDown

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标按键按下之前的事件回调函数,并且根据返回值确定触发 onMouseDown 事件回调函数

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标按键按下时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,将仅仅无法触发 onMouseDown 事件回调函数,对其他操作无任何影响

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止 onMouseDown 事件

                        -
                        function zTreeBeforeMouseDown(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeMouseDown: zTreeBeforeMouseDown
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeMouseUp.html b/lib/zTree_v3/api/cn/setting.callback.beforeMouseUp.html deleted file mode 100755 index f0b01b9..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeMouseUp.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeMouseUp

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标按键松开之前的事件回调函数,并且根据返回值确定触发 onMouseUp 事件回调函数

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标按键松开时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,将仅仅无法触发 onMouseUp 事件回调函数,对其他操作无任何影响

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止 onMouseUp 事件

                        -
                        function zTreeBeforeMouseUp(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeMouseUp: zTreeBeforeMouseUp
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeRemove.html b/lib/zTree_v3/api/cn/setting.callback.beforeRemove.html deleted file mode 100755 index 0edb3fd..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeRemove.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeRemove

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被删除之前的事件回调函数,并且根据返回值确定是否允许删除操作

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        将要删除的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将不删除节点,也无法触发 onRemove 事件回调函数

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止全部删除操作

                        -
                        function zTreeBeforeRemove(treeId, treeNode) {
                        -	return false;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeRemove: zTreeBeforeRemove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeRename.html b/lib/zTree_v3/api/cn/setting.callback.beforeRename.html deleted file mode 100755 index 0709961..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeRename.html +++ /dev/null @@ -1,46 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode, newName, isCancel)setting.callback.beforeRename

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点编辑名称结束(Input 失去焦点 或 按下 Enter 键)之后,更新节点名称数据之前的事件回调函数,并且根据返回值确定是否允许更改名称的操作

                        -

                        节点进入编辑名称状态后,按 ESC 键可以放弃当前修改,恢复原名称,取消编辑名称状态

                        -

                        从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        将要更改名称的节点 JSON 数据对象

                        -

                        newNameString

                        -

                        修改后的新名称

                        -

                        isCancelBoolean

                        -

                        是否取消操作 (v3.5.13+)

                        -

                        isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)

                        -

                        isCancel = false 表示确认修改操作

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,zTree 将保持名称编辑状态,无法触发 onRename 事件回调函数,并且会导致屏蔽其它事件,直到修改名称使得 beforeRename 返回 true

                        -

                        如果返回 false,不会让 input 输入框获取焦点,避免由于警告信息而导致反复触发 beforeRename。 请在关闭提示警告信息后,利用 editName 方法让 input 重新获取焦点。

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止修改的名称的长度小于 5

                        -
                        function zTreeBeforeRename(treeId, treeNode, newName, isCancel) {
                        -	return newName.length > 5;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeRename: zTreeBeforeRename
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.beforeRightClick.html b/lib/zTree_v3/api/cn/setting.callback.beforeRightClick.html deleted file mode 100755 index 1a5bdaa..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.beforeRightClick.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeRightClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标右键点击之前的事件回调函数,并且根据返回值确定触发 onRightClick 事件回调函数

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标右键点击时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -

                        返回值Boolean

                        -

                        返回值是 true / false

                        -

                        如果返回 false,将仅仅无法触发 onRightClick 事件回调函数,对其他操作无任何影响

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止 onRightClick 事件

                        -
                        function zTreeBeforeRightClick(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeRightClick: zTreeBeforeRightClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onAsyncError.html b/lib/zTree_v3/api/cn/setting.callback.onAsyncError.html deleted file mode 100755 index c469e11..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onAsyncError.html +++ /dev/null @@ -1,42 +0,0 @@ -
                        -
                        -

                        setting.callback.onAsyncError

                        -

                        Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) 

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获异步加载出现异常错误的事件回调函数

                        -

                        如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        进行异步加载的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        XMLHttpRequestString

                        -

                        标准 XMLHttpRequest 对象,请参考 JQuery API 文档。

                        -

                        textStatusString

                        -

                        请求状态:success,error,请参考 JQuery API 文档。

                        -

                        errorThrownString

                        -

                        errorThrown 只有当异常发生时才会被传递,请参考 JQuery API 文档。

                        -
                        -

                        setting & function 举例

                        -

                        1. 异步加载出现异常后,弹出错误信息

                        -
                        function zTreeOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
                        -    alert(XMLHttpRequest);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onAsyncError: zTreeOnAsyncError
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onAsyncSuccess.html b/lib/zTree_v3/api/cn/setting.callback.onAsyncSuccess.html deleted file mode 100755 index 081e9d7..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onAsyncSuccess.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, msg)setting.callback.onAsyncSuccess

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获异步加载正常结束的事件回调函数

                        -

                        如果设置了 setting.callback.beforeAsync 方法,且返回 false,将无法触发 onAsyncSuccess / onAsyncError 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        进行异步加载的父节点 JSON 数据对象

                        -

                        针对根进行异步加载时,treeNode = null

                        -

                        msgString / Object

                        -

                        异步获取的节点数据字符串,主要便于用户调试使用。

                        -

                        实际数据类型会受 setting.async.dataType 的设置影响,请参考 JQuery API 文档。

                        -
                        -

                        setting & function 举例

                        -

                        1. 异步加载成功后,弹出提示信息

                        -
                        function zTreeOnAsyncSuccess(event, treeId, treeNode, msg) {
                        -    alert(msg);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onAsyncSuccess: zTreeOnAsyncSuccess
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onCheck.html b/lib/zTree_v3/api/cn/setting.callback.onCheck.html deleted file mode 100755 index 113eee9..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onCheck.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onCheck

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获 checkbox / radio 被勾选 或 取消勾选的事件回调函数

                        -

                        如果设置了 setting.callback.beforeCheck 方法,且返回 false,将无法触发 onCheck 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被勾选 或 取消勾选的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次点击 checkbox 或 radio 后, 弹出该节点的 tId、name 以及当前勾选状态的信息

                        -
                        function zTreeOnCheck(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onCheck: zTreeOnCheck
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onClick.html b/lib/zTree_v3/api/cn/setting.callback.onClick.html deleted file mode 100755 index 1f7a266..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onClick.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, clickFlag)setting.callback.onClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被点击的事件回调函数

                        -

                        如果设置了 setting.callback.beforeClick 方法,且返回 false,将无法触发 onClick 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被点击的节点 JSON 数据对象

                        -

                        clickFlagNumber

                        -

                        节点被点击后的选中操作类型,详细看下表

                        - - - - - - - - - - - - -
                        clickFlagselectedMultiautoCancelSelected
                        &&
                        event.ctrlKey / metaKey
                        isSelected选中操作
                        1truefalsefalse普通选中
                        1truefalsetrue普通选中
                        2truetruefalse追加选中
                        0truetruetrue取消选中
                        1falsefalsefalse普通选中
                        1falsefalsetrue普通选中
                        1falsetruefalse普通选中
                        0falsetruetrue取消选中
                        -
                        -

                        setting & function 举例

                        -

                        1. 每次点击节点后, 弹出该节点的 tId、name 的信息

                        -
                        function zTreeOnClick(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onClick: zTreeOnClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onCollapse.html b/lib/zTree_v3/api/cn/setting.callback.onCollapse.html deleted file mode 100755 index 1c816c2..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onCollapse.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onCollapse

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被折叠的事件回调函数

                        -

                        如果设置了 setting.callback.beforeCollapse 方法,且返回 false,将无法触发 onCollapse 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被折叠的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次折叠节点后, 弹出该节点的 tId、name 的信息

                        -
                        function zTreeOnCollapse(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onCollapse: zTreeOnCollapse
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onDblClick.html b/lib/zTree_v3/api/cn/setting.callback.onDblClick.html deleted file mode 100755 index deb8e62..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onDblClick.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onDblClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标双击之后的事件回调函数

                        -

                        如果设置了 setting.callback.beforeDblClick 方法,且返回 false,将无法触发 onDblClick 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标双击时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次鼠标双击后, 弹出鼠标所在节点的 tId、name 的信息

                        -
                        function zTreeOnDblClick(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDblClick: zTreeOnDblClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onDrag.html b/lib/zTree_v3/api/cn/setting.callback.onDrag.html deleted file mode 100755 index efd115b..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onDrag.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes)setting.callback.onDrag

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被拖拽的事件回调函数

                        -

                        如果设置了 setting.callback.beforeDrag 方法,且返回 false,将无法触发 onDragMove 和 onDrag 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        被拖拽的节点 treeNodes 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodesArray(JSON)

                        -

                        要被拖拽的节点 JSON 数据集合

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次开始进行拖拽节点后, 弹出被拖拽节点的个数信息

                        -
                        function zTreeOnDrag(event, treeId, treeNodes) {
                        -    alert(treeNodes.length);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDrag: zTreeOnDrag
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onDragMove.html b/lib/zTree_v3/api/cn/setting.callback.onDragMove.html deleted file mode 100755 index e6a8dd9..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onDragMove.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes)setting.callback.onDragMove

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被拖拽过程中移动的事件回调函数

                        -

                        主要用于捕获 zTree 节点拖拽到的 DOM,从而操作对应的 DOM。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        被拖拽的节点 treeNodes 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodesArray(JSON)

                        -

                        要被拖拽的节点 JSON 数据集合

                        -
                        -

                        setting & function 举例

                        -

                        1. 拖拽节点时,随时输出 当前拖拽到的目标 DOM

                        -
                        function zTreeOnDragMove(event, treeId, treeNodes) {
                        -    console.log(event.target);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDragMove: zTreeOnDragMove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onDrop.html b/lib/zTree_v3/api/cn/setting.callback.onDrop.html deleted file mode 100755 index c6773a8..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onDrop.html +++ /dev/null @@ -1,46 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes, targetNode, moveType, isCopy)setting.callback.onDrop

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点拖拽操作结束的事件回调函数

                        -

                        如果设置了 setting.callback.beforeDrop 方法,且返回 false,将无法触发 onDrop 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        目标节点 targetNode 所在 zTree 的 treeId,便于用户操控

                        -

                        treeNodesArray(JSON)

                        -

                        被拖拽的节点 JSON 数据集合

                        -

                        如果拖拽操作为 移动,treeNodes 是当前被拖拽节点的数据集合。

                        -

                        如果拖拽操作为 复制,treeNodes 是复制后 clone 得到的新节点数据。

                        -

                        targetNodeJSON

                        -

                        成为 treeNodes 拖拽结束的目标节点 JSON 数据对象。

                        -

                        如果拖拽成为根节点,则 targetNode = null

                        -

                        moveTypeString

                        -

                        指定移动到目标节点的相对位置

                        -

                        "inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点

                        -

                        如果 moveType = null,表明拖拽无效

                        -

                        isCopyBoolean

                        -

                        拖拽节点操作是 复制 或 移动

                        -

                        true:复制;false:移动

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次拖拽操作结束后, 弹出该被拖拽节点的个数以及目标节点的 tId、name 的信息

                        -
                        function zTreeOnDrop(event, treeId, treeNodes, targetNode, moveType) {
                        -    alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" ));
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDrop: zTreeOnDrop
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onExpand.html b/lib/zTree_v3/api/cn/setting.callback.onExpand.html deleted file mode 100755 index 791c5f6..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onExpand.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onExpand

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点被展开的事件回调函数

                        -

                        如果设置了 setting.callback.beforeExpand 方法,且返回 false,将无法触发 onExpand 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被展开的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次展开节点后, 弹出该节点的 tId、name 的信息

                        -
                        function zTreeOnExpand(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onExpand: zTreeOnExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onMouseDown.html b/lib/zTree_v3/api/cn/setting.callback.onMouseDown.html deleted file mode 100755 index bc9d0ea..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onMouseDown.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onMouseDown

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标按键按下后的事件回调函数

                        -

                        如果设置了 setting.callback.beforeMouseDown 方法,且返回 false,将无法触发 onMouseDown 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标按键按下时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次鼠标按键按下后, 弹出鼠标所在节点的 tId、name 的信息

                        -
                        function zTreeOnMouseDown(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onMouseDown: zTreeOnMouseDown
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onMouseUp.html b/lib/zTree_v3/api/cn/setting.callback.onMouseUp.html deleted file mode 100755 index a969fef..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onMouseUp.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onMouseUp

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标按键松开后的事件回调函数

                        -

                        如果设置了 setting.callback.beforeMouseUp 方法,且返回 false,将无法触发 onMouseUp 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标按键松开时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次鼠标按键松开后, 弹出鼠标所在节点的 tId、name 的信息

                        -
                        function zTreeOnMouseUp(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onMouseUp: zTreeOnMouseUp
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onNodeCreated.html b/lib/zTree_v3/api/cn/setting.callback.onNodeCreated.html deleted file mode 100755 index 2ebaee6..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onNodeCreated.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onNodeCreated

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点生成 DOM 后的事件回调函数

                        -

                        v3.x 采用了延迟加载技术,因此对于父节点未展开的子节点来说,初始化后是不会触发此回调函数,直到其父节点被展开

                        -

                        大数据量的节点加载请注意:不设置 onNodeCreated,可以提升一部分初始化性能

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        生成 DOM 完毕的节点的 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 创建节点 DOM 后, 弹出该节点的 tId、name 的信息

                        -
                        function zTreeOnNodeCreated(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onNodeCreated: zTreeOnNodeCreated
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onRemove.html b/lib/zTree_v3/api/cn/setting.callback.onRemove.html deleted file mode 100755 index e7e625d..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onRemove.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onRemove

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获删除节点之后的事件回调函数。

                        -

                        如果用户设置了 beforeRemove 回调函数,并返回 false,将无法触发 onRemove 事件回调函数。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        将要删除的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 删除节点时,弹出被删除的节点的 tId 以及 name 信息

                        -
                        function zTreeOnRemove(event, treeId, treeNode) {
                        -	alert(treeNode.tId + ", " + treeNode.name);
                        -}
                        -var setting = {
                        -	callback: {
                        -		onRemove: zTreeOnRemove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onRename.html b/lib/zTree_v3/api/cn/setting.callback.onRename.html deleted file mode 100755 index f225463..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onRename.html +++ /dev/null @@ -1,40 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, isCancel)setting.callback.onRename

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于捕获节点编辑名称结束之后的事件回调函数。

                        -

                        1、节点进入编辑名称状态,并且修改节点名称后触发此回调函数。如果用户设置了 beforeRename 回调函数,并返回 false,将无法触发 onRename 事件回调函数。

                        -

                        2、如果通过直接修改 treeNode 的数据,并且利用 updateNode 方法更新,是不会触发此回调函数的。

                        -

                        3、从 v3.5.13 开始,取消编辑状态也会触发此回调,根据 isCancel 参数判断

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        被修改名称的节点 JSON 数据对象

                        -

                        isCancelBoolean

                        -

                        是否取消操作 (v3.5.13+)

                        -

                        isCancel = true 表示取消编辑操作(按下 ESC 或 使用 cancelEditName 方法)

                        -

                        isCancel = false 表示确认修改操作

                        -
                        -

                        setting & function 举例

                        -

                        1. 修改名称后,弹出被修改名称的节点的 tId 以及 name 信息

                        -
                        function zTreeOnRename(event, treeId, treeNode, isCancel) {
                        -	alert(treeNode.tId + ", " + treeNode.name);
                        -}
                        -var setting = {
                        -	callback: {
                        -		onRename: zTreeOnRename
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.callback.onRightClick.html b/lib/zTree_v3/api/cn/setting.callback.onRightClick.html deleted file mode 100755 index d51c68d..0000000 --- a/lib/zTree_v3/api/cn/setting.callback.onRightClick.html +++ /dev/null @@ -1,36 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onRightClick

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于捕获 zTree 上鼠标右键点击之后的事件回调函数

                        -

                        1、如果设置了 setting.callback.beforeRightClick 方法,且返回 false,将无法触发 onRightClick 事件回调函数。

                        -

                        2、只要将 function 的引用赋给 onRightClick 属性,则右键点击 zTree 时,将屏蔽浏览器的右键菜单。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        eventjs event 对象

                        -

                        标准的 js event 对象

                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        鼠标右键点击时所在节点的 JSON 数据对象

                        -

                        如果不在节点上,则返回 null

                        -
                        -

                        setting & function 举例

                        -

                        1. 每次鼠标右键点击后, 弹出鼠标所在节点的 tId、name 的信息

                        -
                        function zTreeOnRightClick(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onRightClick: zTreeOnRightClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.autoCheckTrigger.html b/lib/zTree_v3/api/cn/setting.check.autoCheckTrigger.html deleted file mode 100755 index d1efd77..0000000 --- a/lib/zTree_v3/api/cn/setting.check.autoCheckTrigger.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.autoCheckTrigger

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        设置自动关联勾选时是否触发 beforeCheck / onCheck 事件回调函数。[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]

                        -

                        1、如果设置 setting.check.chkboxType = { "Y": "", "N": "" },将不会有任何自动关联勾选的操作。

                        -

                        2、如果开启触发,对于节点较多的树将会影响性能,因为所有被联动勾选的操作都会触发事件回调函数,请根据需要决定是否使用此功能。

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 触发 / 不触发 事件回调函数

                        -
                        -

                        setting 举例

                        -

                        1. 需要触发自动关联勾选操作

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		autoCheckTrigger: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.chkDisabledInherit.html b/lib/zTree_v3/api/cn/setting.check.chkDisabledInherit.html deleted file mode 100755 index 8af1c2c..0000000 --- a/lib/zTree_v3/api/cn/setting.check.chkDisabledInherit.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.chkDisabledInherit

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        当父节点设置 chkDisabled = true 时,设置子节点是否自动继承 chkDisabled = true 。[setting.check.enable = true 时生效]

                        -

                        1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 setChkDisabled 方法单个节点设置。

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示 新加入子节点时,自动继承父节点 chkDisabled = true 的属性。

                        -

                        false 表示 新加入子节点时,不继承父节点 chkDisabled 的属性。

                        -
                        -

                        setting 举例

                        -

                        1. 需要子节点自动继承 chkDisabled = true

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkDisabledInherit: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.chkStyle.html b/lib/zTree_v3/api/cn/setting.check.chkStyle.html deleted file mode 100755 index 9706c13..0000000 --- a/lib/zTree_v3/api/cn/setting.check.chkStyle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        Stringsetting.check.chkStyle

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        勾选框类型(checkbox 或 radio)[setting.check.enable = true 时生效]

                        -

                        默认值:"checkbox"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        chkStyle = "checkbox" 时,显示 checkbox 选择框,setting.check.chkboxType 属性有效。 -
                        chkStyle = "radio" 时,显示 radio 选择框, setting.check.radioType 属性有效。

                        -

                        请注意大小写,不要改变

                        -
                        -

                        checkbox 状态说明

                        -
                        -

                        -
                        -

                        未勾选;如果是父节点,则无子节点被勾选。鼠标移到该节点上显示为:

                        -

                        未勾选;(只有父节点存在此状态)存在被勾选的子节点。鼠标移到该节点上显示为:

                        -

                        被勾选;如果是父节点,则全部子节点都被勾选。鼠标移到该节点上显示为:

                        -

                        被勾选;(只有父节点存在此状态)且部分或无子节点被勾选。鼠标移到该节点上显示为:

                        -
                        -
                        -

                        radio 状态说明

                        -
                        -

                        -
                        -

                        未勾选;如果是父节点,则没有子节点被勾选。鼠标移到该节点上显示为:

                        -

                        未勾选;(只有父节点存在此状态)且存在被勾选的子节点。鼠标移到该节点上显示为:

                        -

                        被勾选;如果是父节点,则没有子节点被勾选。鼠标移到该节点上显示为:

                        -

                        被勾选;(只有父节点存在此状态)且存在被勾选的子节点。鼠标移到该节点上显示为:

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置选择框为 radio

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "radio"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.chkboxType.html b/lib/zTree_v3/api/cn/setting.check.chkboxType.html deleted file mode 100755 index da06b6c..0000000 --- a/lib/zTree_v3/api/cn/setting.check.chkboxType.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        JSONsetting.check.chkboxType

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        勾选 checkbox 对于父子节点的关联关系。[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时生效]

                        -

                        默认值:{ "Y": "ps", "N": "ps" }

                        -
                        -
                        -

                        JSON 格式说明

                        -
                        -

                        Y 属性定义 checkbox 被勾选后的情况; -
                        N 属性定义 checkbox 取消勾选后的情况; -
                        "p" 表示操作会影响父级节点; -
                        "s" 表示操作会影响子级节点。

                        -

                        请注意大小写,不要改变

                        -
                        -

                        setting 举例

                        -

                        1. checkbox 勾选操作,只影响父级节点;取消勾选操作,只影响子级节点

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "checkbox",
                        -		chkboxType: { "Y": "p", "N": "s" }
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.enable.html b/lib/zTree_v3/api/cn/setting.check.enable.html deleted file mode 100755 index 8b1387e..0000000 --- a/lib/zTree_v3/api/cn/setting.check.enable.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.enable

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 的节点上是否显示 checkbox / radio

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 不显示 复选框或单选框

                        -
                        -

                        setting 举例

                        -

                        1. 需要显示 checkbox

                        -
                        var setting = {
                        -	check: {
                        -		enable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.nocheckInherit.html b/lib/zTree_v3/api/cn/setting.check.nocheckInherit.html deleted file mode 100755 index caf9902..0000000 --- a/lib/zTree_v3/api/cn/setting.check.nocheckInherit.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.nocheckInherit

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        当父节点设置 nocheck = true 时,设置子节点是否自动继承 nocheck = true 。[setting.check.enable = true 时生效]

                        -

                        1、只使用于初始化节点时,便于批量操作。 对于已存在的节点请利用 updateNode 方法单个节点设置。

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示 新加入子节点时,自动继承父节点 nocheck = true 的属性。

                        -

                        false 表示 新加入子节点时,不继承父节点 nocheck 的属性。

                        -
                        -

                        setting 举例

                        -

                        1. 需要子节点自动继承 nocheck = true

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		nocheckInherit: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.check.radioType.html b/lib/zTree_v3/api/cn/setting.check.radioType.html deleted file mode 100755 index 19f84ca..0000000 --- a/lib/zTree_v3/api/cn/setting.check.radioType.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Stringsetting.check.radioType

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        radio 的分组范围。[setting.check.enable = true 且 setting.check.chkStyle = "radio" 时生效]

                        -

                        默认值:"level"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        radioType = "level" 时,在每一级节点范围内当做一个分组。 -
                        radioType = "all" 时,在整棵树范围内当做一个分组。

                        -

                        请注意大小写,不要改变

                        -
                        -

                        setting 举例

                        -

                        1. 设置 radio 的判别规则为整棵树内

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "radio",
                        -		radioType: "all"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.keep.leaf.html b/lib/zTree_v3/api/cn/setting.data.keep.leaf.html deleted file mode 100755 index af3a721..0000000 --- a/lib/zTree_v3/api/cn/setting.data.keep.leaf.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.keep.leaf

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 的节点叶子节点属性锁,是否始终保持 isParent = false

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 锁定 / 不锁定 叶子节点属性

                        -

                        如果设置为 true,则所有 isParent = false 的节点,都无法添加子节点。

                        -
                        -

                        setting 举例

                        -

                        1. 需要锁定叶子节点状态

                        -
                        var setting = {
                        -	data: {
                        -		keep: {
                        -			leaf: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.keep.parent.html b/lib/zTree_v3/api/cn/setting.data.keep.parent.html deleted file mode 100755 index c4975df..0000000 --- a/lib/zTree_v3/api/cn/setting.data.keep.parent.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.keep.parent

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 的节点父节点属性锁,是否始终保持 isParent = true

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 锁定 / 不锁定 父节点属性

                        -

                        如果设置为 true,则所有 isParent = true 的节点,即使该节点的子节点被全部删除或移走,依旧保持父节点状态。

                        -
                        -

                        setting 举例

                        -

                        1. 需要锁定父节点状态

                        -
                        var setting = {
                        -	data: {
                        -		keep: {
                        -			parent: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.checked.html b/lib/zTree_v3/api/cn/setting.data.key.checked.html deleted file mode 100755 index ac9fdc1..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.checked.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.checked

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据中保存 check 状态的属性名称。

                        -

                        默认值:"checked"

                        -

                        请勿与 zTree 节点数据的其他参数冲突,例如:checkedOld

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 isChecked 属性当做节点名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			checked: "isChecked"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.children.html b/lib/zTree_v3/api/cn/setting.data.key.children.html deleted file mode 100755 index 66a49a7..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.children.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.children

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据中保存子节点数据的属性名称。

                        -

                        默认值:"children"

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 nodes 属性当做节点名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			children: "nodes"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.isHidden.html b/lib/zTree_v3/api/cn/setting.data.key.isHidden.html deleted file mode 100755 index 0ea26bc..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.isHidden.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.isHidden

                        -

                        概述[ 依赖 jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据保存节点是否隐藏的属性名称。

                        -

                        默认值:"isHidden"

                        -

                        v3.5.32+

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 hidden 属性当做节点是否隐藏的属性名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			isHidden: "hidden"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.isParent.html b/lib/zTree_v3/api/cn/setting.data.key.isParent.html deleted file mode 100755 index d9476c3..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.isParent.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.isParent

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据保存节点是否为父节点的属性名称。

                        -

                        默认值:"isParent"

                        -

                        v3.5.32+

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 parent 属性当做节点是否为父节点的属性名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			isParent: "parent"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.name.html b/lib/zTree_v3/api/cn/setting.data.key.name.html deleted file mode 100755 index c25d250..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.name.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.name

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据保存节点名称的属性名称。

                        -

                        默认值:"name"

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 ename 属性当做节点名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			name: "ename"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.title.html b/lib/zTree_v3/api/cn/setting.data.key.title.html deleted file mode 100755 index 43e6855..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.title.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.title

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据保存节点提示信息的属性名称。[setting.view.showTitle = true 时生效]

                        -

                        如果设置为 "" ,则自动与 setting.data.key.name 保持一致,避免用户反复设置

                        -

                        默认值:""

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 fullName 属性当做节点名称

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			title: "fullName"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.key.url.html b/lib/zTree_v3/api/cn/setting.data.key.url.html deleted file mode 100755 index e534d98..0000000 --- a/lib/zTree_v3/api/cn/setting.data.key.url.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.url

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点数据保存节点链接的目标 URL 的属性名称。

                        -

                        特殊用途:当后台数据只能生成 url 属性,又不想实现点击节点跳转的功能时,可以直接修改此属性为其他不存在的属性名称

                        -

                        默认值:"url"

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 显示节点时,将 treeNode 的 xUrl 属性当做节点链接的目标 URL

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			url: "xUrl"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.simpleData.enable.html b/lib/zTree_v3/api/cn/setting.data.simpleData.enable.html deleted file mode 100755 index 5d7bd42..0000000 --- a/lib/zTree_v3/api/cn/setting.data.simpleData.enable.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.simpleData.enable

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        确定 zTree 初始化时的节点数据、异步加载时的节点数据、或 addNodes 方法中输入的 newNodes 数据是否采用简单数据模式 (Array)

                        -

                        不需要用户再把数据库中取出的 List 强行转换为复杂的 JSON 嵌套格式

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 使用 / 不使用 简单数据模式

                        -

                        如果设置为 true,请务必设置 setting.data.simpleData 内的其他参数: idKey / pIdKey / rootPId,并且让数据满足父子关系。

                        -
                        -

                        setting 举例

                        -

                        1. 使用简单 Array 格式的数据

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.simpleData.idKey.html b/lib/zTree_v3/api/cn/setting.data.simpleData.idKey.html deleted file mode 100755 index 5b3ffd4..0000000 --- a/lib/zTree_v3/api/cn/setting.data.simpleData.idKey.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.simpleData.idKey

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点数据中保存唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效]

                        -

                        默认值:"id"

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 使用简单 Array 格式的数据

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.simpleData.pIdKey.html b/lib/zTree_v3/api/cn/setting.data.simpleData.pIdKey.html deleted file mode 100755 index d434bc3..0000000 --- a/lib/zTree_v3/api/cn/setting.data.simpleData.pIdKey.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.simpleData.pIdKey

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点数据中保存其父节点唯一标识的属性名称。[setting.data.simpleData.enable = true 时生效]

                        -

                        默认值:"pId"

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 使用简单 Array 格式的数据

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.data.simpleData.rootPId.html b/lib/zTree_v3/api/cn/setting.data.simpleData.rootPId.html deleted file mode 100755 index 8cff82d..0000000 --- a/lib/zTree_v3/api/cn/setting.data.simpleData.rootPId.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        String / Numbersetting.data.simpleData.rootPId

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于修正根节点父节点数据,即 pIdKey 指定的属性值。[setting.data.simpleData.enable = true 时生效]

                        -

                        默认值:null

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 使用简单 Array 格式的数据

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.autoExpandTrigger.html b/lib/zTree_v3/api/cn/setting.edit.drag.autoExpandTrigger.html deleted file mode 100755 index 126b8a8..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.autoExpandTrigger.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.autoExpandTrigger

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽时父节点自动展开是否触发 onExpand 事件回调函数。[setting.edit.enable = true 时生效]

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 触发 / 不触发 onExpand 事件回调函数。

                        -
                        -

                        setting 举例

                        -

                        1. 设置拖拽时父节点自动展开触发 onExpand 事件回调函数

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			autoExpandTrigger: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.autoOpenTime.html b/lib/zTree_v3/api/cn/setting.edit.drag.autoOpenTime.html deleted file mode 100755 index df78339..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.autoOpenTime.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.autoOpenTime

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽时父节点自动展开的延时间隔。 (单位:ms)[setting.edit.enable = true 时生效]

                        -

                        默认值:500

                        -

                        请根据自己的需求适当调整此值

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置拖拽到父节点上立刻自动展开

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			autoOpenTime: 0
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.borderMax.html b/lib/zTree_v3/api/cn/setting.edit.drag.borderMax.html deleted file mode 100755 index 1d4dd68..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.borderMax.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.borderMax

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽节点成为根节点时的 Tree 内边界范围 (单位:px)。[setting.edit.enable = true 时生效]

                        -

                        默认值:10

                        -

                        请根据自己的需求适当调整此值

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 更改拖拽操作节点成为根节点时的 Tree 内边界范围为20px

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			borderMax: 20
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.borderMin.html b/lib/zTree_v3/api/cn/setting.edit.drag.borderMin.html deleted file mode 100755 index 463eb2b..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.borderMin.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.borderMin

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽节点成为根节点时的 Tree 外边界范围 (单位:px)。[setting.edit.enable = true 时生效]

                        -

                        默认值:-5

                        -

                        请根据自己的需求适当调整此值

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 更改拖拽操作节点成为根节点时的 Tree 外边界范围为10px

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			borderMin: -10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.inner.html b/lib/zTree_v3/api/cn/setting.edit.drag.inner.html deleted file mode 100755 index 06679e1..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.inner.html +++ /dev/null @@ -1,59 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.inner

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽到目标节点时,设置是否允许成为目标节点的子节点。[setting.edit.enable = true 时生效]

                        -

                        拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner

                        -

                        此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、next 一起使用,才能实现完整功能。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 允许 / 不允许 成为目标节点的子节点

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)

                        -

                        treeNodesArray(JSON)

                        -

                        被拖拽的节点 JSON 数据集合

                        -

                        targetNodeJSON

                        -

                        拖拽时的目标节点 JSON 数据对象

                        -

                        如果拖拽的节点要成为根节点,则 targetNode = null

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止拖拽成为目标节点的子节点

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: true,
                        -			inner: false
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. 禁止拖拽成为根节点的子节点

                        -
                        function canInner(treeId, nodes, targetNode) {
                        -	return !(targetNode && targetNode.level === 0);
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: true,
                        -			inner: canInner
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.isCopy.html b/lib/zTree_v3/api/cn/setting.edit.drag.isCopy.html deleted file mode 100755 index cff17af..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.isCopy.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.isCopy

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽时, 设置是否允许复制节点。[setting.edit.enable = true 时生效]

                        -

                        默认值:true

                        -
                        -
                        -

                        规则说明

                        -
                        -

                        1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move

                        -

                        2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy

                        -

                        3、isCopy = false; isMove = true 时,所有拖拽操作都是 move

                        -

                        4、isCopy = false; isMove = false 时,禁止拖拽操作

                        -
                        -

                        setting 举例

                        -

                        1. 设置所有拖拽操作都是 copy

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			isCopy: true,
                        -			isMove: false
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.isMove.html b/lib/zTree_v3/api/cn/setting.edit.drag.isMove.html deleted file mode 100755 index 7fdadd1..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.isMove.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.isMove

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽时, 设置是否允许移动节点。[setting.edit.enable = true 时生效]

                        -

                        默认值:true

                        -
                        -
                        -

                        规则说明

                        -
                        -

                        1、isCopy = true; isMove = true 时,拖拽节点按下 Ctrl 或 Cmd 键表示 copy; 否则为 move

                        -

                        2、isCopy = true; isMove = false 时,所有拖拽操作都是 copy

                        -

                        3、isCopy = false; isMove = true 时,所有拖拽操作都是 move

                        -

                        4、isCopy = false; isMove = false 时,禁止拖拽操作

                        -
                        -

                        setting 举例

                        -

                        1. 设置所有拖拽操作都是 move

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			isCopy: false,
                        -			isMove: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.maxShowNodeNum.html b/lib/zTree_v3/api/cn/setting.edit.drag.maxShowNodeNum.html deleted file mode 100755 index 3e7a3d2..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.maxShowNodeNum.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.maxShowNodeNum

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽多个兄弟节点时,浮动图层中显示的最大节点数。 多余的节点用...代替。[setting.edit.enable = true 时生效]

                        -

                        默认值:5

                        -

                        请根据自己的需求适当调整此值

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 设置拖拽时最多可显示10个节点

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			maxShowNodeNum: 10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.minMoveSize.html b/lib/zTree_v3/api/cn/setting.edit.drag.minMoveSize.html deleted file mode 100755 index 904be41..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.minMoveSize.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.minMoveSize

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        判定是否拖拽操作的最小位移值 (单位:px)。[setting.edit.enable = true 时生效]

                        -

                        根据自己的需求可适当调整此值,如果太小容易导致点击鼠标时误操作进行拖拽

                        -

                        默认值:5

                        -
                        -
                        -

                        setting 举例

                        -

                        1. 更改拖拽操作启动位移值为10px

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			minMoveSize: 10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.next.html b/lib/zTree_v3/api/cn/setting.edit.drag.next.html deleted file mode 100755 index ffc874a..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.next.html +++ /dev/null @@ -1,58 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.next

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽到目标节点时,设置是否允许移动到目标节点后面的操作。[setting.edit.enable = true 时生效]

                        -

                        拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner

                        -

                        此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 prev、inner 一起使用,才能实现完整功能。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 允许 / 不允许 移动到目标节点后面

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)

                        -

                        treeNodesArray(JSON)

                        -

                        被拖拽的节点 JSON 数据集合

                        -

                        targetNodeJSON

                        -

                        拖拽时的目标节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止拖拽到节点后面的操作

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: false,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. 禁止拖拽到父节点后面的操作

                        -
                        function canNext(treeId, nodes, targetNode) {
                        -	return !targetNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: canNext,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.drag.prev.html b/lib/zTree_v3/api/cn/setting.edit.drag.prev.html deleted file mode 100755 index bd05361..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.drag.prev.html +++ /dev/null @@ -1,58 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.prev

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        拖拽到目标节点时,设置是否允许移动到目标节点前面的操作。[setting.edit.enable = true 时生效]

                        -

                        拖拽目标是 根 的时候,不触发 prev 和 next,只会触发 inner

                        -

                        此功能主要作用是对拖拽进行适当限制(辅助箭头),需要结合 next、inner 一起使用,才能实现完整功能。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 允许 / 不允许 移动到目标节点前面

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控(多棵树拖拽时,是目标节点所在树的 treeId)

                        -

                        treeNodesArray(JSON)

                        -

                        被拖拽的节点 JSON 数据集合

                        -

                        targetNodeJSON

                        -

                        拖拽时的目标节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 禁止拖拽到节点前面的操作

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: false,
                        -			next: true,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. 禁止拖拽到父节点前面的操作

                        -
                        function canPrev(treeId, nodes, targetNode) {
                        -	return !targetNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: canPrev,
                        -			next: true,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.editNameSelectAll.html b/lib/zTree_v3/api/cn/setting.edit.editNameSelectAll.html deleted file mode 100755 index 30784f3..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.editNameSelectAll.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.editNameSelectAll

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        节点编辑名称 input 初次显示时,设置 txt 内容是否为全选状态。 [setting.edit.enable = true 时生效]

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示 全选状态

                        -

                        false 表示 不是全选状态,光标默认在最后

                        -
                        -

                        setting 举例

                        -

                        1. 设置节点编辑名称 input 初次显示时,txt内容为全选状态

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		editNameSelectAll: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.enable.html b/lib/zTree_v3/api/cn/setting.edit.enable.html deleted file mode 100755 index de1afea..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.enable.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.enable

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否处于编辑状态

                        -

                        请在初始化之前设置,初始化后需要改变编辑状态请使用 zTreeObj.setEditable() 方法

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 可以 / 不可以 编辑

                        -
                        -

                        编辑状态规则说明

                        -
                        -

                        1、点击节点时,不会打开 node.url 指定的 URL。 -
                        2、全面支持 编辑 与 异步加载 状态共存。 -
                        3、可以对节点进行拖拽,且支持多棵树之间进行拖拽。 -
                        4、支持拖拽时 复制/移动 节点。(参考: setting.edit.drag.isCopy / setting.edit.drag.isMove) -
                        5、可以通过编辑按钮修改 name 属性。 -
                        6、可以通过删除按钮删除节点。 -
                        -

                        -

                        请注意大小写,不要改变

                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 进入编辑状态

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.removeTitle.html b/lib/zTree_v3/api/cn/setting.edit.removeTitle.html deleted file mode 100755 index 55257da..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.removeTitle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.edit.removeTitle

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        删除按钮的 Title 辅助信息。[setting.edit.enable = true & setting.edit.showRemoveBtn = true 时生效]

                        -

                        默认值:"remove"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        鼠标移动到 删除按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置删除按钮 Title 信息的节点 JSON 数据对象

                        -

                        返回值String

                        -

                        返回值同 String 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置删除按钮的 Title 辅助信息为: "删除节点"

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: true,
                        -		removeTitle: "删除节点"
                        -	}
                        -};
                        -......
                        -

                        2. 设置父节点删除按钮的 Title 辅助信息为: "删除父节点"

                        -
                        function setRemoveTitle(treeId, treeNode) {
                        -	return treeNode.isParent ? "删除父节点":"删除叶子节点";
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: true,
                        -		removeTitle: setRemoveTitle
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.renameTitle.html b/lib/zTree_v3/api/cn/setting.edit.renameTitle.html deleted file mode 100755 index 2dfbcca..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.renameTitle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.edit.renameTitle

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        编辑名称按钮的 Title 辅助信息。[setting.edit.enable = true & setting.edit.showRenameBtn = true 时生效]

                        -

                        默认值:"rename"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        设置鼠标移动到 编辑名称按钮 上时,浏览器自动弹出的辅助信息内容,可根据用户需要自行修改

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置编辑名称按钮 Title 信息的节点 JSON 数据对象

                        -

                        返回值String

                        -

                        返回值同 String 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置编辑名称按钮的 Title 辅助信息为: "编辑节点名称"

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: true,
                        -		renameTitle: "编辑节点名称"
                        -	}
                        -};
                        -......
                        -

                        2. 设置父节点编辑名称按钮的 Title 辅助信息为: "编辑父节点名称"

                        -
                        function setRenameTitle(treeId, treeNode) {
                        -	return treeNode.isParent ? "编辑父节点名称":"编辑叶子节点名称";
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: true,
                        -		renameTitle: setRenameTitle
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.showRemoveBtn.html b/lib/zTree_v3/api/cn/setting.edit.showRemoveBtn.html deleted file mode 100755 index db62053..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.showRemoveBtn.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.edit.showRemoveBtn

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        设置是否显示删除按钮。[setting.edit.enable = true 时生效]

                        -

                        当点击某节点的删除按钮时:

                        -

                        1、首先触发 setting.callback.beforeRemove 回调函数,用户可判定是否进行删除操作。

                        -

                        2、如果未设置 beforeRemove 或 beforeRemove 返回 true,则删除节点并触发 setting.callback.onRemove 回调函数。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 隐藏 删除按钮

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置是否显示删除按钮的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 不显示删除按钮

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: false
                        -	}
                        -};
                        -......
                        -

                        2. 设置所有的父节点不显示删除按钮

                        -
                        function setRemoveBtn(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: setRemoveBtn
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.edit.showRenameBtn.html b/lib/zTree_v3/api/cn/setting.edit.showRenameBtn.html deleted file mode 100755 index 33dd37a..0000000 --- a/lib/zTree_v3/api/cn/setting.edit.showRenameBtn.html +++ /dev/null @@ -1,51 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.edit.showRenameBtn

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        设置是否显示编辑名称按钮。[setting.edit.enable = true 时生效]

                        -

                        当点击某节点的编辑名称按钮时:

                        -

                        1、进入节点编辑名称状态。

                        -

                        2、编辑名称完毕(Input 失去焦点 或 按下 Enter 键),会触发 setting.callback.beforeRename 回调函数,用户可根据自己的规则判定是否允许修改名称。

                        -

                        3、如果 beforeRename 返回 false,则继续保持编辑名称状态,直到名称符合规则位置 (按下 ESC 键可取消编辑名称状态,恢复原名称)。

                        -

                        4、如果未设置 beforeRename 或 beforeRename 返回 true,则结束节点编辑名称状态,更新节点名称,并触发 setting.callback.onRename 回调函数。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 隐藏 编辑名称按钮

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置是否显示编辑名称按钮的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 不显示编辑名称按钮

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: false
                        -	}
                        -};
                        -......
                        -

                        2. 设置所有的父节点不显示编辑名称按钮

                        -
                        function setRenameBtn(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: setRenameBtn
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.treeId.html b/lib/zTree_v3/api/cn/setting.treeId.html deleted file mode 100755 index 819743e..0000000 --- a/lib/zTree_v3/api/cn/setting.treeId.html +++ /dev/null @@ -1,14 +0,0 @@ -
                        -
                        -

                        Stringsetting.treeId

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 的唯一标识,初始化后,等于 用户定义的 zTree 容器的 id 属性值。

                        -

                        请勿进行初始化 或 修改,属于内部参数。

                        -
                        -
                        - -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.treeObj.html b/lib/zTree_v3/api/cn/setting.treeObj.html deleted file mode 100755 index 37684a1..0000000 --- a/lib/zTree_v3/api/cn/setting.treeObj.html +++ /dev/null @@ -1,14 +0,0 @@ -
                        -
                        -

                        Objectsetting.treeObj

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 容器的 jQuery 对象,主要功能:便于操作。

                        -

                        请勿进行初始化 或 修改,属于内部参数。

                        -
                        -
                        - -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.addDiyDom.html b/lib/zTree_v3/api/cn/setting.view.addDiyDom.html deleted file mode 100755 index 0a508ac..0000000 --- a/lib/zTree_v3/api/cn/setting.view.addDiyDom.html +++ /dev/null @@ -1,40 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.addDiyDom

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于在节点上固定显示用户自定义控件

                        -

                        1. 大数据量的节点加载请注意:在 addDiyDom 中针对每个节点 查找 DOM 对象并且添加新 DOM 控件,肯定会影响初始化性能;如果不是必须使用,建议不使用此功能

                        -

                        2. 属于高级应用,使用时请确保对 zTree 比较了解。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要显示自定义控件的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置节点后面显示一个按钮

                        -
                        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);});
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.addHoverDom.html b/lib/zTree_v3/api/cn/setting.view.addHoverDom.html deleted file mode 100755 index f073e79..0000000 --- a/lib/zTree_v3/api/cn/setting.view.addHoverDom.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.addHoverDom

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于当鼠标移动到节点上时,显示用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮

                        -

                        请务必与 setting.view.removeHoverDom 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要显示自定义控件的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置鼠标移到节点上,在后面显示一个按钮

                        -
                        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();
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.autoCancelSelected.html b/lib/zTree_v3/api/cn/setting.view.autoCancelSelected.html deleted file mode 100755 index 4890f78..0000000 --- a/lib/zTree_v3/api/cn/setting.view.autoCancelSelected.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.autoCancelSelected

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        点击节点时,按下 Ctrl 或 Cmd 键是否允许取消选择操作。

                        -

                        如果不需要此功能,请设置为 false。

                        -

                        默认值: true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 支持 / 不支持 配合 Ctrl 或 Cmd 键进行取消节点选择的操作

                        -
                        -

                        setting 举例

                        -

                        1. 禁止配合 Ctrl 或 Cmd 键进行取消节点选择的操作

                        -
                        var setting = {
                        -	view: {
                        -		autoCancelSelected: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.dblClickExpand.html b/lib/zTree_v3/api/cn/setting.view.dblClickExpand.html deleted file mode 100755 index 5f3db96..0000000 --- a/lib/zTree_v3/api/cn/setting.view.dblClickExpand.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.dblClickExpand

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        双击节点时,是否自动展开父节点的标识

                        -

                        默认值: true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示双击节点 切换 / 不切换 展开状态

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置是否双击切换展开状态的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting 举例

                        -

                        1. 取消默认双击展开父节点的功能

                        -
                        var setting = {
                        -	view: {
                        -		dblClickExpand: false
                        -	}
                        -};
                        -......
                        -

                        2. 设置 zTree 仅仅 level=0 的父节点取消双击展开的功能

                        -
                        function dblClickExpand(treeId, treeNode) {
                        -	return treeNode.level > 0;
                        -};
                        -var setting = {
                        -	view: {
                        -		dblClickExpand: dblClickExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.expandSpeed.html b/lib/zTree_v3/api/cn/setting.view.expandSpeed.html deleted file mode 100755 index 3b799c3..0000000 --- a/lib/zTree_v3/api/cn/setting.view.expandSpeed.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        String / Numbersetting.view.expandSpeed

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 节点展开、折叠时的动画速度,设置方法同 JQuery 动画效果中 speed 参数。

                        -

                        IE6 下会自动关闭动画效果,以保证 zTree 的操作速度

                        -

                        默认值:"fast"

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        三种预定速度之一的字符串("slow", "normal", or "fast")

                        -

                        设置为 "" 时,不显示动画效果

                        -
                        -

                        Number 格式说明

                        -
                        -

                        表示动画时长的毫秒数值 (如:1000)

                        -
                        -

                        setting 举例

                        -

                        1. 设置为慢速显示动画效果

                        -
                        var setting = {
                        -	view: {
                        -		expandSpeed: "slow"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.fontCss.html b/lib/zTree_v3/api/cn/setting.view.fontCss.html deleted file mode 100755 index 54efb1b..0000000 --- a/lib/zTree_v3/api/cn/setting.view.fontCss.html +++ /dev/null @@ -1,42 +0,0 @@ -
                        -
                        -

                        JSON / Function(treeId, treeNode)setting.view.fontCss

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        个性化文字样式,只针对 zTree 在节点上显示的<A>对象。

                        -

                        默认值:{}

                        -
                        -
                        -

                        JSON 格式说明

                        -
                        -

                        JSON 格式为 JQuery css方法中的 JSON 对象格式,例如:{color:"#ff0011", background:"blue"}

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置自定义样式的节点 JSON 数据对象

                        -

                        返回值JSON

                        -

                        返回值同 JSON 格式的数据,例如:{color:"#ff0011", background:"blue"}

                        -
                        -

                        setting & function 举例

                        -

                        1. 不修改CSS,设置全部节点 name 显示为红色

                        -
                        var setting = {
                        -	view: {
                        -		fontCss : {color:"red"}
                        -	}
                        -};
                        -

                        2. 设置 level=0 的节点 name 显示为红色

                        -
                        function setFontCss(treeId, treeNode) {
                        -	return treeNode.level == 0 ? {color:"red"} : {};
                        -};
                        -var setting = {
                        -	view: {
                        -		fontCss: setFontCss
                        -	}
                        -};
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.nameIsHTML.html b/lib/zTree_v3/api/cn/setting.view.nameIsHTML.html deleted file mode 100755 index a1d916c..0000000 --- a/lib/zTree_v3/api/cn/setting.view.nameIsHTML.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.nameIsHTML

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 name 属性是否支持 HTML 脚本

                        -

                        如果允许 HTML 脚本,请根据自己的需求做校验,避免出现 js 注入等安全问题。

                        -

                        默认值: false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 支持 / 不支持 HTML 脚本

                        -
                        -

                        setting 举例

                        -

                        1. 设置 name 属性支持 HTML 脚本

                        -
                        var setting = {
                        -	view: {
                        -		nameIsHTML: true
                        -	}
                        -};
                        -var node = {"name":"<font color='red'>test</font>"};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.removeHoverDom.html b/lib/zTree_v3/api/cn/setting.view.removeHoverDom.html deleted file mode 100755 index bb1a9aa..0000000 --- a/lib/zTree_v3/api/cn/setting.view.removeHoverDom.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.removeHoverDom

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于当鼠标移出节点时,隐藏用户自定义控件,显示隐藏状态同 zTree 内部的编辑、删除按钮

                        -

                        请务必与 addHoverDom 同时使用;属于高级应用,使用时请确保对 zTree 比较了解。

                        -

                        默认值:null

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要隐藏自定义控件的节点 JSON 数据对象

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置鼠标移到节点上,在后面显示一个按钮

                        -
                        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();
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.selectedMulti.html b/lib/zTree_v3/api/cn/setting.view.selectedMulti.html deleted file mode 100755 index 2cc65a2..0000000 --- a/lib/zTree_v3/api/cn/setting.view.selectedMulti.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.selectedMulti

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置是否允许同时选中多个节点。

                        -

                        默认值: true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 支持 / 不支持 同时选中多个节点

                        -

                        1、设置为 true时,按下 Ctrl 或 Cmd 键可以选中多个节点

                        -

                        2、设置为 true / false 都不影响按下 Ctrl 或 Cmd 键可以让已选中的节点取消选中状态( 取消选中状态可以参考 setting.view.autoCancelSelected )

                        -
                        -

                        setting 举例

                        -

                        1. 禁止多点同时选中的功能

                        -
                        var setting = {
                        -	view: {
                        -		selectedMulti: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.showIcon.html b/lib/zTree_v3/api/cn/setting.view.showIcon.html deleted file mode 100755 index ebe423c..0000000 --- a/lib/zTree_v3/api/cn/setting.view.showIcon.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.showIcon

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否显示节点的图标。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 隐藏 图标

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置是否显示图标的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置 zTree 不显示图标

                        -
                        var setting = {
                        -	view: {
                        -		showIcon: false
                        -	}
                        -};
                        -......
                        -

                        2. 设置 zTree 仅仅 level=2 的节点不显示图标

                        -
                        function showIconForTree(treeId, treeNode) {
                        -	return treeNode.level != 2;
                        -};
                        -var setting = {
                        -	view: {
                        -		showIcon: showIconForTree
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.showLine.html b/lib/zTree_v3/api/cn/setting.view.showLine.html deleted file mode 100755 index 02ab5eb..0000000 --- a/lib/zTree_v3/api/cn/setting.view.showLine.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.showLine

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否显示节点之间的连线。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 不显示 连线

                        -
                        -

                        setting 举例

                        -

                        1. 设置 zTree 不显示节点之间的连线

                        -
                        var setting = {
                        -	view: {
                        -		showLine: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.showTitle.html b/lib/zTree_v3/api/cn/setting.view.showTitle.html deleted file mode 100755 index 5bcb860..0000000 --- a/lib/zTree_v3/api/cn/setting.view.showTitle.html +++ /dev/null @@ -1,46 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.showTitle

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否显示节点的 title 提示信息(即节点 DOM 的 title 属性)。

                        -

                        请务必与 setting.data.key.title 同时使用。

                        -

                        默认值:true

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 显示 / 隐藏 提示信息

                        -

                        如果 setting.view.showTitle = true & setting.data.key.title = '',zTree 会自动使用 setting.data.key.name 指定的节点名称当做 title

                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeIdString

                        -

                        对应 zTree 的 treeId,便于用户操控

                        -

                        treeNodeJSON

                        -

                        需要设置是否显示提示信息的节点 JSON 数据对象

                        -

                        返回值Boolean

                        -

                        返回值同 Boolean 格式的数据

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置 zTree 不显示提示信息

                        -
                        var setting = {
                        -	view: {
                        -		showTitle: false
                        -	}
                        -};
                        -......
                        -

                        2. 设置 zTree 仅仅 level=2 的节点不显示提示信息

                        -
                        function showTitleForTree(treeId, treeNode) {
                        -	return treeNode.level != 2;
                        -};
                        -var setting = {
                        -	view: {
                        -		showTitle: showTitleForTree
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/setting.view.txtSelectedEnable.html b/lib/zTree_v3/api/cn/setting.view.txtSelectedEnable.html deleted file mode 100755 index c22a8c0..0000000 --- a/lib/zTree_v3/api/cn/setting.view.txtSelectedEnable.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.txtSelectedEnable

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 是否允许可以选择 zTree DOM 内的文本。

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true / false 分别表示 允许 / 不允许 选择 zTree Dom 内的文本

                        -
                        -

                        setting & function 举例

                        -

                        1. 设置 zTree 允许选择文本

                        -
                        var setting = {
                        -	view: {
                        -		txtSelectedEnable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.check_Child_State.html b/lib/zTree_v3/api/cn/treeNode.check_Child_State.html deleted file mode 100755 index fa37899..0000000 --- a/lib/zTree_v3/api/cn/treeNode.check_Child_State.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        NumbertreeNode.check_Child_State

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        用于设置节点的子节点的 checkBox / radio 的半选状态。[setting.check.enable = true 时有效]

                        -

                        v3.x 针对节点数据对象提供 treeNode.getCheckStatus() 方法获取标准的半选状态

                        -

                        zTree 内部使用,请勿进行初始化 或 随意修改

                        -

                        默认值:true

                        -
                        -
                        -

                        Number 格式说明

                        -
                        -

                        规则如下:

                        - - - - - - - - - - - -
                        setting.check.checkType = "checkbox"
                        treeNode.check_Child_State勾选状态说明
                        -1不存在子节点 或 子节点全部设置为 nocheck = true
                        0无 子节点被勾选
                        1部分 子节点被勾选
                        2全部 子节点被勾选
                        -
                        - - - - - - - - - - -
                        setting.check.checkType = "radio"
                        treeNode.check_Child_State勾选状态说明
                        -1不存在子节点 或 子节点全部设置为 nocheck = true
                        0无 子节点被勾选
                        2有 子节点被勾选
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.check_Focus.html b/lib/zTree_v3/api/cn/treeNode.check_Focus.html deleted file mode 100755 index 785aec9..0000000 --- a/lib/zTree_v3/api/cn/treeNode.check_Focus.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.check_Focus

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        用于设置节点的 checkBox / radio 的 focus 状态。[setting.check.enable = true 时有效]

                        -

                        zTree 内部使用,请勿进行初始化 或 随意修改

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示当前鼠标移动到输入框内

                        -

                        false 表示当前鼠标移动到输入框外

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.checked.html b/lib/zTree_v3/api/cn/treeNode.checked.html deleted file mode 100755 index 049d6ba..0000000 --- a/lib/zTree_v3/api/cn/treeNode.checked.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.checked

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        节点的 checkBox / radio 的 勾选状态。[setting.check.enable = true & treeNode.nocheck = false 时有效]

                        -

                        1、如果不使用 checked 属性设置勾选状态,请修改 setting.data.key.checked

                        -

                        2、建立 treeNode 数据时设置 treeNode.checked = true 可以让节点的输入框默认为勾选状态

                        -

                        3、修改节点勾选状态,可以使用 treeObj.checkNode / checkAllNodes / updateNode 方法,具体使用哪种请根据自己的需求而定

                        -

                        4、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点的输入框被勾选

                        -

                        false 表示节点的输入框未勾选

                        -
                        -

                        treeNode 举例

                        -

                        1. 初始化的数据设置 默认为勾选状态

                        -
                        var nodes = [
                        -{ "id":1, "name":"test1", checked:true },
                        -{ "id":2, "name":"test2", checked:true }
                        -]
                        -

                        2. 获取第一个根节点的勾选状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var checked = treeObj.getNodes()[0].checked;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.checkedOld.html b/lib/zTree_v3/api/cn/treeNode.checkedOld.html deleted file mode 100755 index cab717e..0000000 --- a/lib/zTree_v3/api/cn/treeNode.checkedOld.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.checkedOld

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        节点的 checkBox / radio 在初始化时的 勾选状态。[setting.check.enable = true & treeNode.nocheck = false 时有效]

                        -

                        1、zTree 初始化节点数据时会对此属性进行赋值,因此请勿对此属性初始化

                        -

                        2、如需配合 zTreeObj.getChangeCheckedNodes 方法实现特殊功能,可以根据需求在使用中自行修改 checkedOld 数据

                        -

                        默认值:checked的初始化值

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点初始化时 输入框被勾选

                        -

                        false 表示节点初始化时 输入框未勾选

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取第一个根节点的初始勾选状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var checkedOld = treeObj.getNodes()[0].checkedOld;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.children.html b/lib/zTree_v3/api/cn/treeNode.children.html deleted file mode 100755 index 4bab835..0000000 --- a/lib/zTree_v3/api/cn/treeNode.children.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Array(JSON)treeNode.children

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点的子节点数据集合。

                        -

                        1、如果不使用 children 属性保存子节点数据,请修改 setting.data.key.children

                        -

                        2、异步加载时,对于设置了 isParent = true 的节点,在展开时将进行异步加载

                        -

                        默认值:无

                        -
                        -
                        -

                        Array(JSON) 格式说明

                        -
                        -

                        标准的 JSON 数据对象

                        -
                        -

                        treeNode 举例

                        -

                        1. 初始化的标准嵌套格式的 JSON 数据对象

                        -
                        var nodes = [
                        -{ "id":1, "name":"test1",
                        -	children: [
                        -	{ "id":3, "name":"test3"},
                        -	{ "id":4, "name":"test4"},
                        -	{ "id":5, "name":"test5"}
                        -	]
                        -},
                        -{ "id":2, "name":"test2"  }
                        -]
                        -

                        2. 获取第一个根节点的子节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes()[0].children;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.chkDisabled.html b/lib/zTree_v3/api/cn/treeNode.chkDisabled.html deleted file mode 100755 index e6bb032..0000000 --- a/lib/zTree_v3/api/cn/treeNode.chkDisabled.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.chkDisabled

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        1、设置节点的 checkbox / radio 是否禁用 [setting.check.enable = true 时有效]

                        -

                        2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -

                        3、请勿对已加载的节点修改此属性,禁止 或 取消禁止 请使用 setChkDisabled() 方法

                        -

                        4、初始化时,如果需要子孙节点继承父节点的 chkDisabled 属性,请设置 setting.check.chkDisabledInherit 属性

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示此节点的 checkbox / radio 被禁用。

                        -

                        false 表示此节点的 checkbox / radio 可以使用。

                        -
                        -

                        treeNode 举例

                        -

                        1. 禁用节点 checkbox / radio

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "checked":true, "chkDisabled":true},
                        -	{ "id":2, "name":"test2", "chkDisabled":true},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.click.html b/lib/zTree_v3/api/cn/treeNode.click.html deleted file mode 100755 index 833c678..0000000 --- a/lib/zTree_v3/api/cn/treeNode.click.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        StringtreeNode.click

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        最简单的 click 事件操作。相当于 onclick="..." 的内容。 如果操作较复杂,请使用 onClick 事件回调函数。

                        -

                        由于 IE 对于 onclick 和 click事件共存时的处理与其他浏览器不同,所以请不要利用此参数控制是否允许跳转的操作(例如:treeNode.click = "return false;")。如有类似需求,请不要使用 url 属性设置网址,同时利用 onClick 回调函数控制跳转。

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        标准 javascript 语法, 例如:alert("test"); 等

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置某节点点击时,弹出信息框

                        -
                        var nodes = [
                        -	{ "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.diy.html b/lib/zTree_v3/api/cn/treeNode.diy.html deleted file mode 100755 index b2fb0d9..0000000 --- a/lib/zTree_v3/api/cn/treeNode.diy.html +++ /dev/null @@ -1,15 +0,0 @@ -
                        -
                        -

                        ?treeNode.* DIY *

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        用于保存节点的其他自定义数据信息,不要与 zTree 使用的属性相同即可,用户可随意设定。

                        -
                        -
                        -

                        treeNode 举例

                        -

                        1. 设置节点的备用英文名称

                        -
                        var node = { "id":1, "name":"test1", "ename":"test eName"};
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.editNameFlag.html b/lib/zTree_v3/api/cn/treeNode.editNameFlag.html deleted file mode 100755 index 51162b8..0000000 --- a/lib/zTree_v3/api/cn/treeNode.editNameFlag.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.editNameFlag

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        用于记录节点是否处于编辑名称状态。[setting.edit.enable = true 时有效]

                        -

                        zTree 内部使用,请勿进行初始化 或 随意修改

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点处于编辑名称状态

                        -

                        false 表示节点未处于编辑名称状态

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getCheckStatus.html b/lib/zTree_v3/api/cn/treeNode.getCheckStatus.html deleted file mode 100755 index fc20eac..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getCheckStatus.html +++ /dev/null @@ -1,63 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getCheckStatus

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        获取节点 checkbox / radio 半勾选状态。[setting.check.enable = true 时有效]

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值JSON

                        -
                        {
                        -	checked: true, //等同于 treeNode.checked
                        -	half: true  //规则见下表
                        -}
                        - - - - - - - - - - - - - - - - - - -
                        setting.check.checkType = "checkbox"
                        treeNode.checkedtreeNode.check_Child_StatetreeNode.halfCheck half
                        --truetrue
                         
                        true-1falsefalse
                        true0falsetrue
                        true1falsetrue
                        true2falsefalse
                         
                        false-1falsefalse
                        false0falsefalse
                        false1falsetrue
                        false2falsetrue
                        -
                        - - - - - - - - - - - - - - - - -
                        setting.check.checkType = "radio"
                        treeNode.checkedtreeNode.check_Child_StatetreeNode.halfCheck half
                        --truetrue
                         
                        true-1falsefalse
                        true0falsefalse
                        true2falsetrue
                         
                        false-1falsefalse
                        false0falsefalse
                        false2falsetrue
                        -
                        -

                        treeNode 举例

                        -

                        1. 获取第一个根节点的半选状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var halfCheck = treeObj.getNodes()[0].getCheckStatus();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getIndex.html b/lib/zTree_v3/api/cn/treeNode.getIndex.html deleted file mode 100755 index babdc2e..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getIndex.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getIndex

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取 treeNode 节点在同级节点中的位置。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值Number

                        -

                        treeNode 节点在同级节点中的位置。(从 0 开始)

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取当前被选中的节点在同级节点中的位置

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getIndex();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getNextNode.html b/lib/zTree_v3/api/cn/treeNode.getNextNode.html deleted file mode 100755 index 7a0fa5c..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getNextNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getNextNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取与 treeNode 节点相邻的后一个节点。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值JSON

                        -

                        与 treeNode 节点相邻的后一个节点。

                        -

                        如果 treeNode 是最后一个节点,返回 null 。

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取当前被选中的节点的下一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getNextNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getParentNode.html b/lib/zTree_v3/api/cn/treeNode.getParentNode.html deleted file mode 100755 index 31309a6..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getParentNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getParentNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取 treeNode 节点的父节点。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值JSON

                        -

                        treeNode 节点的父节点 JSON 数据对象。

                        -

                        如果 treeNode 是根节点,返回 null 。

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取当前被选中的节点的父节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getParentNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getPath.html b/lib/zTree_v3/api/cn/treeNode.getPath.html deleted file mode 100755 index 46318f0..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getPath.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getPath

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取 treeNode 节点的所有父节点(包括自己)。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值Array (JSON)

                        -

                        treeNode 节点的所有父节点的数据集合(包括自己)

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取当前被选中的节点的所有父节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getPath();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.getPreNode.html b/lib/zTree_v3/api/cn/treeNode.getPreNode.html deleted file mode 100755 index 9d84184..0000000 --- a/lib/zTree_v3/api/cn/treeNode.getPreNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getPreNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取与 treeNode 节点相邻的前一个节点。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值JSON

                        -

                        与 treeNode 节点相邻的前一个节点。

                        -

                        如果 treeNode 是第一个节点,返回 null 。

                        -
                        -

                        treeNode 举例

                        -

                        1. 获取当前被选中的节点的前一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getPreNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.halfCheck.html b/lib/zTree_v3/api/cn/treeNode.halfCheck.html deleted file mode 100755 index 23ac744..0000000 --- a/lib/zTree_v3/api/cn/treeNode.halfCheck.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.halfCheck

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        强制节点的 checkBox / radio 的 半勾选状态。[setting.check.enable = true & treeNode.nocheck = false 时有效]

                        -

                        1、强制为半勾选状态后,不再进行自动计算半勾选状态

                        -

                        2、设置 treeNode.halfCheck = false 或 null 才能恢复自动计算半勾选状态

                        -

                        3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点的输入框 强行设置为半勾选

                        -

                        false 表示节点的输入框 根据 zTree 的规则自动计算半勾选状态

                        -
                        -

                        treeNode 举例

                        -

                        1. 初始化的数据设置 默认为半勾选状态

                        -
                        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 }
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.icon.html b/lib/zTree_v3/api/cn/treeNode.icon.html deleted file mode 100755 index 69c5db1..0000000 --- a/lib/zTree_v3/api/cn/treeNode.icon.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.icon

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点自定义图标的 URL 路径。

                        -

                        1、父节点如果只设置 icon ,会导致展开、折叠时都使用同一个图标

                        -

                        2、父节点展开、折叠使用不同的个性化图标需要同时设置 treeNode.iconOpen / treeNode.iconClose 两个属性

                        -

                        3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        图标图片的 url 可以是相对路径也可以是绝对路径

                        -

                        设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置节点的个性化图标

                        -
                        var nodes = [
                        -	//父节点展开 折叠时使用相同的图标
                        -	{ name:"父节点1", icon:"/img/parent.gif"},
                        -
                        -	//父节点展开 折叠时分别使用不同的图标
                        -	{ name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, 
                        -
                        -	//叶子节点个性化图标
                        -	{ name:"叶子节点", icon:"/img/leaf.gif"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.iconClose.html b/lib/zTree_v3/api/cn/treeNode.iconClose.html deleted file mode 100755 index f51da9c..0000000 --- a/lib/zTree_v3/api/cn/treeNode.iconClose.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconClose

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        父节点自定义折叠时图标的 URL 路径。

                        -

                        1、此属性只针对父节点有效

                        -

                        2、此属性必须与 iconOpen 同时使用

                        -

                        3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        图标图片的 url 可以是相对路径也可以是绝对路径

                        -

                        设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置节点的个性化图标

                        -
                        var nodes = [
                        -	//父节点展开 折叠时使用相同的图标
                        -	{ name:"父节点1", icon:"/img/parent.gif"},
                        -
                        -	//父节点展开 折叠时分别使用不同的图标
                        -	{ name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, 
                        -
                        -	//叶子节点个性化图标
                        -	{ name:"叶子节点", icon:"/img/leaf.gif"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.iconOpen.html b/lib/zTree_v3/api/cn/treeNode.iconOpen.html deleted file mode 100755 index 29c9baa..0000000 --- a/lib/zTree_v3/api/cn/treeNode.iconOpen.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconOpen

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        父节点自定义展开时图标的 URL 路径。

                        -

                        1、此属性只针对父节点有效

                        -

                        2、此属性必须与 iconClose 同时使用

                        -

                        3、如果想利用 className 设置个性化图标,需要设置 treeNode.iconSkin 属性

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        图标图片的 url 可以是相对路径也可以是绝对路径

                        -

                        设置相对路径请注意页面与图片之间的关系,确保图片能够正常加载

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置节点的个性化图标

                        -
                        var nodes = [
                        -	//父节点展开 折叠时使用相同的图标
                        -	{ name:"父节点1", icon:"/img/parent.gif"},
                        -
                        -	//父节点展开 折叠时分别使用不同的图标
                        -	{ name:"父节点2", iconOpen:"/img/open.gif", iconClose:"/img/close.gif"}, 
                        -
                        -	//叶子节点个性化图标
                        -	{ name:"叶子节点", icon:"/img/leaf.gif"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.iconSkin.html b/lib/zTree_v3/api/cn/treeNode.iconSkin.html deleted file mode 100755 index d5d9726..0000000 --- a/lib/zTree_v3/api/cn/treeNode.iconSkin.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconSkin

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点自定义图标的 className

                        -

                        1、需要修改 css,增加相应 className 的设置

                        -

                        2、css 方式简单、方便,并且同时支持父节点展开、折叠状态切换图片

                        -

                        3、css 建议采用图片分割渲染的方式以减少反复加载图片,并且避免图片闪动

                        -

                        4、zTree v3.x 的 iconSkin 同样支持 IE6

                        -

                        5、如果想直接使用 图片的Url路径 设置节点的个性化图标,需要设置 treeNode.icon / treeNode.iconOpen / treeNode.iconClose 属性

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        设置个性图标的 className

                        -
                        -

                        css & treeNode 举例

                        -

                        1. 设置节点的个性化图标

                        -
                        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"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isAjaxing.html b/lib/zTree_v3/api/cn/treeNode.isAjaxing.html deleted file mode 100755 index 330c120..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isAjaxing.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isAjaxing

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点是否正在进行异步加载。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点正在进行异步加载

                        -

                        false 表示节点没有进行异步加载

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点是否节点正在进行异步加载

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isAjaxing = sNodes[0].isAjaxing;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isFirstNode.html b/lib/zTree_v3/api/cn/treeNode.isFirstNode.html deleted file mode 100755 index 83b80bd..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isFirstNode.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isFirstNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点是否为同级节点中的第一个节点。

                        -

                        使用 exhide 扩展后,只针对显示的节点设置此属性

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示是同级节点中的第一个节点

                        -

                        false 表示不是同级节点中的第一个节点

                        -

                        节点被隐藏后,isFirstNode = false

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点是否是同级节点中的第一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isFirstNode = sNodes[0].isFirstNode;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isHidden.html b/lib/zTree_v3/api/cn/treeNode.isHidden.html deleted file mode 100755 index 5fb388e..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isHidden.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isHidden

                        -

                        概述[ 依赖 jquery.ztree.exhide 扩展 js ]

                        -
                        -

                        -
                        -

                        判断 treeNode 节点是否被隐藏。

                        -

                        1、初始化 zTree 时,如果节点设置 isHidden = true,会被自动隐藏

                        -

                        2、请勿对已加载的节点修改此属性,隐藏 / 显示 请使用 hideNode() / hideNodes() / showNode() / showNodes() 方法

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示被隐藏

                        -

                        false 表示被显示

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看第一个根节点是否被隐藏

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getNodes();
                        -if (sNodes.length > 0) {
                        -	var isHidden = sNodes[0].isHidden;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isHover.html b/lib/zTree_v3/api/cn/treeNode.isHover.html deleted file mode 100755 index dcef6eb..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isHover.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isHover

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        记录节点 的 hover 状态,主要用于 setting.view.addHoverDom / removeHoverDom 。

                        -

                        zTree 内部使用,请勿进行初始化 或 随意修改

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点处于 hover 状态

                        -

                        false 表示节点未处于 hover 状态

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isLastNode.html b/lib/zTree_v3/api/cn/treeNode.isLastNode.html deleted file mode 100755 index 5d5ac82..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isLastNode.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isLastNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点是否为同级节点中的最后一个节点。

                        -

                        使用 exhide 扩展后,只针对显示的节点设置此属性

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示是同级节点中的最后一个节点

                        -

                        false 表示不是同级节点中的最后一个节点

                        -

                        节点被隐藏后,isLastNode = false

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点是否是同级节点中的最后一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isLastNode = sNodes[0].isLastNode;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.isParent.html b/lib/zTree_v3/api/cn/treeNode.isParent.html deleted file mode 100755 index bab887e..0000000 --- a/lib/zTree_v3/api/cn/treeNode.isParent.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isParent

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点是否为父节点。

                        -

                        1、初始化节点数据时,根据 treeNode.children 属性判断,有子节点则设置为 true,否则为 false

                        -

                        2、初始化节点数据时,如果设定 treeNode.isParent = true,即使无子节点数据,也会设置为父节点

                        -

                        3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示是父节点

                        -

                        false 表示不是父节点

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点是否是父节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isParent = sNodes[0].isParent;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.level.html b/lib/zTree_v3/api/cn/treeNode.level.html deleted file mode 100755 index aff3254..0000000 --- a/lib/zTree_v3/api/cn/treeNode.level.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        NumbertreeNode.level

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录节点的层级

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        Number 格式说明

                        -
                        -

                        根节点 level = 0,依次递增

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点的级数

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var level = sNodes[0].level;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.name.html b/lib/zTree_v3/api/cn/treeNode.name.html deleted file mode 100755 index 918f2b4..0000000 --- a/lib/zTree_v3/api/cn/treeNode.name.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.name

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点名称。

                        -

                        1、如果不使用 name 属性保存节点名称,请修改 setting.data.key.name

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        节点显示的名称字符串,标准 String 即可,所有特殊字符都会被自动转义

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置节点的名称为 test1、test2、test3

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1"},
                        -	{ "id":2, "name":"test2"},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.nocheck.html b/lib/zTree_v3/api/cn/treeNode.nocheck.html deleted file mode 100755 index afaa62f..0000000 --- a/lib/zTree_v3/api/cn/treeNode.nocheck.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.nocheck

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        1、设置节点是否隐藏 checkbox / radio [setting.check.enable = true 时有效]

                        -

                        2、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示此节点不显示 checkbox / radio,不影响勾选的关联关系,不影响父节点的半选状态。

                        -

                        false 表示节点具有正常的勾选功能

                        -
                        -

                        treeNode 举例

                        -

                        1. 不显示某个节点的 checkbox / radio

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "nocheck":true},
                        -	{ "id":2, "name":"test2"},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.open.html b/lib/zTree_v3/api/cn/treeNode.open.html deleted file mode 100755 index 1eb9aec..0000000 --- a/lib/zTree_v3/api/cn/treeNode.open.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.open

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点的 展开 / 折叠 状态。

                        -

                        1、初始化节点数据时,如果设定 treeNode.open = true,则会直接展开此节点

                        -

                        2、叶子节点 treeNode.open = false

                        -

                        3、为了解决部分朋友生成 json 数据出现的兼容问题, 支持 "false","true" 字符串格式的数据

                        -

                        4、非异步加载模式下,无子节点的父节点设置 open=true 后,可显示为展开状态,但异步加载模式下不会生效。(v3.5.15+)

                        -

                        默认值:false

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示节点为 展开 状态

                        -

                        false 表示节点为 折叠 状态

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点的 展开 / 折叠 状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isOpen = sNodes[0].open;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.parentTId.html b/lib/zTree_v3/api/cn/treeNode.parentTId.html deleted file mode 100755 index d228a23..0000000 --- a/lib/zTree_v3/api/cn/treeNode.parentTId.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        StringtreeNode.parentTId

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        treeNode 节点的父节点唯一标识 tId。

                        -

                        1、v3.x 用 parentTId 替换了原先的 parentNode 属性,同时增加了 getParentNode 方法,以避免原先 parentNode 造成的 clone 死循环

                        -

                        2、初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        zTree 内部生成的节点唯一标识,请参考 treeNode.tId 的说明

                        -

                        如果 treeNode 是根节点,则 parentTId = null

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点的父节点 tId

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var parentTId = sNodes[0].parentTId;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.tId.html b/lib/zTree_v3/api/cn/treeNode.tId.html deleted file mode 100755 index c32285c..0000000 --- a/lib/zTree_v3/api/cn/treeNode.tId.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.tId

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        treeNode 节点的唯一标识 tId。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        生成规则:setting.treeId + "_" + 内部计数

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点的 tId

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var tId = sNodes[0].tId;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.target.html b/lib/zTree_v3/api/cn/treeNode.target.html deleted file mode 100755 index f7c1b6b..0000000 --- a/lib/zTree_v3/api/cn/treeNode.target.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        StringtreeNode.target

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        设置点击节点后在何处打开 url。[treeNode.url 存在时有效]

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        同超链接 target 属性: "_blank", "_self" 或 其他指定窗口名称

                        -

                        省略此属性,则默认为 "_blank"

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置点击某节点时,弹出新页面

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.url.html b/lib/zTree_v3/api/cn/treeNode.url.html deleted file mode 100755 index 0b2e007..0000000 --- a/lib/zTree_v3/api/cn/treeNode.url.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.url

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        节点链接的目标 URL

                        -

                        1、编辑模式 (setting.edit.enable = true) 下此属性功能失效,如果必须使用类似功能,请利用 onClick 事件回调函数自行控制。

                        -

                        2、如果需要在 onClick 事件回调函数中进行跳转控制,那么请将 URL 地址保存在其他自定义的属性内,请勿使用 url

                        -

                        默认值:无

                        -
                        -
                        -

                        String 格式说明

                        -
                        -

                        同超链接 href 属性

                        -
                        -

                        treeNode 举例

                        -

                        1. 设置某节点点击时,跳转到 g.cn

                        -
                        var nodes = [
                        -	{ "id":1, "name":"Google CN", "url":"http://g.cn"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/treeNode.zAsync.html b/lib/zTree_v3/api/cn/treeNode.zAsync.html deleted file mode 100755 index 00e48f3..0000000 --- a/lib/zTree_v3/api/cn/treeNode.zAsync.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.zAsync

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        记录 treeNode 节点是否已经进行过异步加载,避免父节点反复异步加载数据。

                        -

                        初始化节点数据时,由 zTree 增加此属性,请勿提前赋值

                        -

                        默认值:false (无子节点的父节点); true (有子节点的父节点 & 叶子节点)

                        -
                        -
                        -

                        Boolean 格式说明

                        -
                        -

                        true 表示父节点展开时不需要自动异步加载

                        -

                        false 表示父节点展开时需要自动异步加载

                        -

                        此参数不会对 reAsyncChildNodes 方法造成任何影响

                        -
                        -

                        treeNode 举例

                        -

                        1. 查看当前被选中的节点是否节点是否需要自动异步加载

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var zAsync = sNodes[0].zAsync;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.addNodes.html b/lib/zTree_v3/api/cn/zTreeObj.addNodes.html deleted file mode 100755 index 0fa52e3..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.addNodes.html +++ /dev/null @@ -1,47 +0,0 @@ -
                        -
                        -

                        Function(parentNode, [index], newNodes, isSilent)zTreeObj.addNodes

                        -

                        概述[ 依赖 jquery.ztree.core 扩展 js ]

                        -
                        -

                        -
                        -

                        添加节点。

                        -

                        v3.x 为了避免原先反复初始化造成的数据重复问题,在 初始化 和 添加节点 时内部进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        parentNodeJSON

                        -

                        指定的父节点,如果增加根节点,请设置 parentNode 为 null 即可。

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        [index]Number

                        -

                        新节点插入的位置(从 0 开始)

                        -

                        index = -1 时,插入到最后

                        -

                        此参数可忽略

                        -

                        v3.5.19+

                        -

                        newNodesJSON / Array(JSON)

                        -

                        需要增加的节点数据 JSON 对象集合,数据只需要满足 zTree 的节点数据必需的属性即可,详细请参考“treeNode 节点数据详解”

                        -

                        1、v3.x 支持单独添加一个节点,即如果只新增一个节点,不用必须包在数组中

                        -

                        2、使用简单数据模式,请参考 setting.data.simpleData 内的属性说明

                        -

                        isSilentBoolean

                        -

                        设定增加节点后是否自动展开父节点。

                        -

                        isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

                        -

                        返回值Array(JSON)

                        -

                        返回值是 zTree 最终添加的节点数据集合

                        -

                        如果 newNodes 是单个节点数据 JSON,返回值也是将其包在 Array 内

                        -

                        请务必记住:返回值中的数据对象 是 newNodes 被 clone 后的,所以绝对不相等!

                        -
                        -

                        function 举例

                        -

                        1. 对于 id = "tree" 的 zTree 增加 1 个根节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var newNode = {name:"newNode1"};
                        -newNode = treeObj.addNodes(null, newNode);
                        -
                        -

                        2. 对于 id = "tree" 的 zTree 增加 3 个根节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}];
                        -newNodes = treeObj.addNodes(null, newNodes);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.cancelEditName.html b/lib/zTree_v3/api/cn/zTreeObj.cancelEditName.html deleted file mode 100755 index 9df098f..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.cancelEditName.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(newName)zTreeObj.cancelEditName

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        取消节点的编辑名称状态,可以恢复原名称,也可以强行赋给新的名称。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        newNameString

                        -

                        重新给定的新名称。

                        -

                        如果省略此参数,则恢复原名称。

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 取消 zTree 的编辑名称状态,恢复该节点原有名称

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelEditName();
                        -
                        -

                        2. 取消 zTree 的编辑名称状态,并且重新设定该节点名称

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelEditName("test_new_name");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.cancelSelectedNode.html b/lib/zTree_v3/api/cn/zTreeObj.cancelSelectedNode.html deleted file mode 100755 index d841768..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.cancelSelectedNode.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.cancelSelectedNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        取消节点的选中状态。

                        -

                        v3.x 支持多点同时选中,因此取消选中状态可以全部取消,也可以单独取消某个节点的选中状态。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要取消选中状态的节点。

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        如果省略此参数,则将取消全部被选中节点的选中状态。

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 取消当前所有被选中节点的选中状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelSelectedNode();
                        -
                        -

                        2. 取消当前第一个被选中节点的选中状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) { 
                        -	treeObj.cancelSelectedNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.checkAllNodes.html b/lib/zTree_v3/api/cn/zTreeObj.checkAllNodes.html deleted file mode 100755 index be51299..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.checkAllNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(checked)zTreeObj.checkAllNodes

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        勾选 或 取消勾选 全部节点。[setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时有效]

                        -

                        此方法不会触发 beforeCheck / onCheck 事件回调函数。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        checkedBoolean

                        -

                        checked = true 表示勾选全部节点

                        -

                        checked = false 表示全部节点取消勾选

                        -

                        不会影响 treeNode.nocheck = true 的节点。

                        -

                        不会影响未加载的节点。

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 勾选全部节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.checkAllNodes(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.checkNode.html b/lib/zTree_v3/api/cn/zTreeObj.checkNode.html deleted file mode 100755 index 7bc0dbf..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.checkNode.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(treeNode, checked, checkTypeFlag, callbackFlag)zTreeObj.checkNode

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        勾选 或 取消勾选 单个节点。[setting.check.enable = true 时有效]

                        -

                        v3.x 中 checkNode() 方法可以触发 beforeCheck / onCheck 事件回调函数。便于减少冗余代码

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要勾选 或 取消勾选 的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        checkedBoolean

                        -

                        checked = true 表示勾选节点

                        -

                        checked = false 表示节点取消勾选

                        -

                        省略此参数,则根据对此节点的勾选状态进行 toggle 切换

                        -

                        不影响 treeNode.nocheck = true 的节点。

                        -

                        checkTypeFlagBoolean

                        -

                        checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作

                        -

                        checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作

                        -

                        checkTypeFlag = false 且 treeNode.checked = checked 时,不会触发回调函数,直接返回

                        -

                        不影响父子节点中 treeNode.nocheck = true 的节点。

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true 表示执行此方法时触发 beforeCheck & onCheck 事件回调函数

                        -

                        callbackFlag = false 表示执行此方法时不触发事件回调函数

                        -

                        省略此参数,等同于 false

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 勾选当前选中的节点

                        -
                        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);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.copyNode.html b/lib/zTree_v3/api/cn/zTreeObj.copyNode.html deleted file mode 100755 index f1b624b..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.copyNode.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(targetNode, treeNode, moveType, isSilent)zTreeObj.copyNode

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        复制节点。

                        -

                        v3.x 复制节点时进行 clone 操作。如果需要获取数据在 zTree 内的对象,请获取此方法的返回值。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        targetNodeJSON

                        -

                        要复制到的目标节点 JSON 数据

                        -

                        如果复制成为根节点,请设置 targetNode 为 null 即可

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        treeNodeJSON

                        -

                        需要被复制的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        moveTypeString

                        -

                        复制到目标节点的相对位置

                        -

                        "inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点

                        -

                        isSilentBoolean

                        -

                        设定复制节点后是否自动展开父节点。

                        -

                        isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

                        -

                        返回值JSON

                        -

                        返回值是最终加入到 zTree 内的节点数据

                        -

                        请务必记住:返回值中的数据对象 是 treeNode 被 clone 后的,所以绝对不相等!

                        -
                        -

                        function 举例

                        -

                        1. 将根节点中第二个节点 复制成为 第一个节点的子节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.copyNode(nodes[0], nodes[1], "inner");
                        -
                        -

                        2. 将根节点中第二个节点 复制成为 第一个节点的前一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.copyNode(nodes[0], nodes[1], "before");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.destroy.html b/lib/zTree_v3/api/cn/zTreeObj.destroy.html deleted file mode 100755 index d9f6da0..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.destroy.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Function(treeId)zTreeObj.destroy

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        从 zTree v3.4 开始提供销毁 zTree 的方法。

                        -

                        1、用此方法可以销毁 zTreeObj 代表的 zTree。

                        -

                        2、销毁当前页面全部的 zTree,也可以使用 $.fn.zTree.destroy() 方法。

                        -

                        3、重新使用已经被销毁的树,必须要使用 init 方法进行初始化。

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 销毁 id 为 "treeDemo" 的 zTree

                        -
                        var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        -zTreeObj.destroy();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.editName.html b/lib/zTree_v3/api/cn/zTreeObj.editName.html deleted file mode 100755 index 2d4eaf7..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.editName.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.editName

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        设置某节点进入编辑名称状态。

                        -

                        1、如果需要用 js 取消编辑名称状态,请使用 cancelEditName(newName) 方法。

                        -

                        2、可利用此方法让当前正编辑的节点 input 输入框获取焦点。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        指定进入编辑名称状态的节点 JSON 数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 设置根节点第一个节点进入编辑名称状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.editName(nodes[0]);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.expandAll.html b/lib/zTree_v3/api/cn/zTreeObj.expandAll.html deleted file mode 100755 index aaa3e46..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.expandAll.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(expandFlag)zTreeObj.expandAll

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        展开 / 折叠 全部节点

                        -

                        此方法不会触发 beforeExpand / onExpand 和 beforeCollapse / onCollapse 事件回调函数。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        expandFlagBoolean

                        -

                        expandFlag = true 表示 展开 全部节点

                        -

                        expandFlag = false 表示 折叠 全部节点

                        -

                        返回值Boolean

                        -

                        返回值表示最终实际操作情况

                        -

                        true 表示 展开 全部节点

                        -

                        false 表示 折叠 全部节点

                        -

                        null 表示 不存在任何父节点

                        -
                        -

                        function 举例

                        -

                        1. 展开全部节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.expandAll(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.expandNode.html b/lib/zTree_v3/api/cn/zTreeObj.expandNode.html deleted file mode 100755 index 5d96d3f..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.expandNode.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Function(treeNode, expandFlag, sonSign, focus, callbackFlag)zTreeObj.expandNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        展开 / 折叠 指定的节点

                        -

                        v3.x 中执行此方法可以触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数。便于减少冗余代码

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要 展开 / 折叠 的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        expandFlagBoolean

                        -

                        expandFlag = true 表示 展开 节点

                        -

                        expandFlag = false 表示 折叠 节点

                        -

                        省略此参数,则根据对此节点的展开状态进行 toggle 切换

                        -

                        sonSignBoolean

                        -

                        sonSign = true 表示 全部子孙节点 进行与 expandFlag 相同的操作

                        -

                        sonSign = false 表示 只影响此节点,对于其 子孙节点无任何影响

                        -

                        sonSign = false 且 treeNode.open = expandFlag 时,不会触发回调函数,直接返回

                        -

                        省略此参数,等同于 false

                        -

                        focusBoolean

                        -

                        focus = true 表示 展开 / 折叠 操作后,通过设置焦点保证此焦点进入可视区域内

                        -

                        focus = false 表示 展开 / 折叠 操作后,不设置任何焦点

                        -

                        省略此参数,等同于 true

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true 表示执行此方法时触发 beforeExpand / onExpand 或 beforeCollapse / onCollapse 事件回调函数

                        -

                        callbackFlag = false 表示执行此方法时不触发事件回调函数

                        -

                        省略此参数,等同于 false

                        -

                        返回值Boolean

                        -

                        返回值表示最终实际操作情况

                        -

                        true 表示 展开 节点

                        -

                        false 表示 折叠 节点

                        -

                        null 表示 不是父节点

                        -
                        -

                        function 举例

                        -

                        1. 展开当前选择的第一个节点(包括其全部子节点)

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.expandNode(nodes[0], true, true, true);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getChangeCheckedNodes.html b/lib/zTree_v3/api/cn/zTreeObj.getChangeCheckedNodes.html deleted file mode 100755 index ba86534..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getChangeCheckedNodes.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getChangeCheckedNodes

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        获取输入框勾选状态被改变的节点集合(与原始数据 checkedOld 对比)。[setting.check.enable = true 时有效]

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值Array(JSON)

                        -

                        返回全部勾选状态被改变的节点集合 Array

                        -

                        如果需要获取每次操作后全部被改变勾选状态的节点数据,请在每次勾选操作后,遍历所有被改变勾选状态的节点数据,让其 checkedOld = checked 就可以了。

                        -
                        -

                        function 举例

                        -

                        1. 获取当前勾选状态被改变的节点集合

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getChangeCheckedNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getCheckedNodes.html b/lib/zTree_v3/api/cn/zTreeObj.getCheckedNodes.html deleted file mode 100755 index 41a7df3..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getCheckedNodes.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Function(checked)zTreeObj.getCheckedNodes

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        获取输入框被勾选 或 未勾选的节点集合。[setting.check.enable = true 时有效]

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        checkedBoolean

                        -

                        checked = true 表示获取 被勾选 的节点集合

                        -

                        checked = false 表示获取 未勾选 的节点集合

                        -

                        省略此参数,等同于 true。

                        -

                        对于 treeNode.nocheck = true 的节点不进行获取。

                        -

                        返回值Array(JSON)

                        -

                        返回全部符合要求的节点集合 Array

                        -
                        -

                        function 举例

                        -

                        1. 获取当前被勾选的节点集合

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getCheckedNodes(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodeByParam.html b/lib/zTree_v3/api/cn/zTreeObj.getNodeByParam.html deleted file mode 100755 index 89e72c7..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodeByParam.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodeByParam

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        keyString

                        -

                        需要精确匹配的属性名称

                        -

                        value?

                        -

                        需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可

                        -

                        parentNodeJSON

                        -

                        搜索范围,指定在某个父节点下的子节点中进行搜索

                        -

                        忽略此参数,表示在全部节点中搜索

                        -

                        返回值JSON

                        -

                        匹配精确搜索的节点数据

                        -

                        1、如无结果,返回 null

                        -

                        2、如有多个节点满足查询条件,只返回第一个匹配到的节点

                        -
                        -

                        function 举例

                        -

                        1. 查找 id = 1 的节点数据

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByParam("id", 1, null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodeByTId.html b/lib/zTree_v3/api/cn/zTreeObj.getNodeByTId.html deleted file mode 100755 index 76fcc48..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodeByTId.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(tId)zTreeObj.getNodeByTId

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        根据 zTree 的唯一标识 tId 快速获取节点 JSON 数据对象

                        -

                        通过内部的 cache 获取,不需要遍历节点。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        tIdString

                        -

                        节点在 zTree 内的唯一标识 tId

                        -

                        返回值JSON

                        -

                        tId 对应的节点 JSON 数据对象

                        -

                        如无结果,返回 null

                        -
                        -

                        function 举例

                        -

                        1. 获取 tId = "tree_10" 的节点数据

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByTId("tree_10");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodeIndex.html b/lib/zTree_v3/api/cn/zTreeObj.getNodeIndex.html deleted file mode 100755 index b2c757d..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodeIndex.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.getNodeIndex

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取某节点在同级节点中的序号(从0开始)

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要查询顺序的节点 JSON 数据对象

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值Number

                        -

                        返回值从 0 开始计数

                        -

                        如果不存在该节点数据,返回 -1

                        -
                        -

                        function 举例

                        -

                        1. 获取当前选中的第一个节点在同级节点中的序号

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	var index = treeObj.getNodeIndex(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodes.html b/lib/zTree_v3/api/cn/zTreeObj.getNodes.html deleted file mode 100755 index b368535..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodes.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getNodes

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取 zTree 的全部节点数据

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值Array(JSON)

                        -

                        全部节点数据

                        -

                        1、Array 仅仅是根节点的集合(默认情况子节点都处于 children 属性下);

                        -

                        2、如需遍历全部节点需要利用递归,或利用 transformToArray 方法 将数据变成简单的 Array 集合

                        -

                        3、对于异步加载模式下,尚未加载的子节点是无法通过此方法获取的。

                        -
                        -

                        function 举例

                        -

                        1. 获取全部节点数据

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodesByFilter.html b/lib/zTree_v3/api/cn/zTreeObj.getNodesByFilter.html deleted file mode 100755 index 6917425..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodesByFilter.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        Function(filter, isSingle, parentNode, invokeParam)zTreeObj.getNodesByFilter

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        根据自定义规则搜索节点数据 JSON 对象集合 或 单个节点数据

                        -

                        可自定义复杂的搜索规则

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        filterFunction

                        -

                        自定义过滤器函数 function filter(node) {...}

                        -

                        filter 参数:node (节点数据 JSON)

                        -

                        filter 返回值:boolean (true 表示符合搜索条件;false 表示不符合搜索条件)

                        -

                        isSingleBoolean

                        -

                        isSingle = true 表示只查找单个节点

                        -

                        isSingle = false 表示查找节点集合

                        -

                        忽略此参数,表示查找节点集合

                        -

                        parentNodeJSON

                        -

                        可以指定在某个父节点下的子节点中搜索

                        -

                        忽略此参数,表示在全部节点中搜索

                        -

                        invokeParam任意类型

                        -

                        用户自定义的数据对象,用于 filter 中进行计算

                        -

                        返回值Array(JSON) / JSON

                        -

                        isSingle = true 返回 第一个找到的节点数据 JSON,无结果时返回 null

                        -

                        isSingle = false 返回 节点数据集合 Array(JSON),无结果时返回 [ ]

                        -
                        -

                        function 举例

                        -

                        1. 查找 level = 2 & name 中包含 "test" 的节点数据

                        -
                        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); // 查找节点集合
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodesByParam.html b/lib/zTree_v3/api/cn/zTreeObj.getNodesByParam.html deleted file mode 100755 index cf45939..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodesByParam.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodesByParam

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        根据节点数据的属性搜索,获取条件完全匹配的节点数据 JSON 对象集合

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        keyString

                        -

                        需要精确匹配的属性名称

                        -

                        value?

                        -

                        需要精确匹配的属性值,可以是任何类型,只要保证与 key 指定的属性值保持一致即可

                        -

                        parentNodeJSON

                        -

                        可以指定在某个父节点下的子节点中搜索

                        -

                        忽略此参数,表示在全部节点中搜索

                        -

                        返回值Array(JSON)

                        -

                        匹配精确搜索的节点数据集合

                        -

                        如无结果,返回 [ ]

                        -
                        -

                        function 举例

                        -

                        1. 查找 name = "test" 的节点数据

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParam("name", "test", null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getNodesByParamFuzzy.html b/lib/zTree_v3/api/cn/zTreeObj.getNodesByParamFuzzy.html deleted file mode 100755 index 04d183f..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getNodesByParamFuzzy.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodesByParamFuzzy

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        根据节点数据的属性搜索,获取条件模糊匹配的节点数据 JSON 对象集合

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        keyString

                        -

                        需要模糊匹配的属性名称

                        -

                        valueString

                        -

                        需要模糊匹配的属性值

                        -

                        模糊匹配只能针对 String 类型的数据

                        -

                        parentNodeJSON

                        -

                        可以指定在某个父节点下的子节点中搜索

                        -

                        忽略此参数,表示在全部节点中搜索

                        -

                        返回值Array(JSON)

                        -

                        匹配模糊搜索的节点数据集合

                        -

                        如无结果,返回 [ ]

                        -
                        -

                        function 举例

                        -

                        1. 查找 name 包含 "test" 的节点数据

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParamFuzzy("name", "test", null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.getSelectedNodes.html b/lib/zTree_v3/api/cn/zTreeObj.getSelectedNodes.html deleted file mode 100755 index ab36f8e..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.getSelectedNodes.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getSelectedNodes

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        获取 zTree 当前被选中的节点数据集合

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值Array(JSON)

                        -

                        当前被选中的节点数据集合

                        -
                        -

                        function 举例

                        -

                        1. 获取当前被选中的节点数据集合

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.hideNode.html b/lib/zTree_v3/api/cn/zTreeObj.hideNode.html deleted file mode 100755 index a1996b8..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.hideNode.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.hideNode

                        -

                        概述[ 依赖 jquery.ztree.exhide 扩展 js ]

                        -
                        -

                        -
                        -

                        隐藏某个节点。

                        -

                        1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。

                        -

                        2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        指定被隐藏的节点 JSON 数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 隐藏根节点第一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.hideNode(nodes[0]);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.hideNodes.html b/lib/zTree_v3/api/cn/zTreeObj.hideNodes.html deleted file mode 100755 index cf752b5..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.hideNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.hideNodes

                        -

                        概述[ 依赖 jquery.ztree.exhide 扩展 js ]

                        -
                        -

                        -
                        -

                        隐藏一批节点。

                        -

                        1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。

                        -

                        2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodesArray(JSON)

                        -

                        指定被隐藏的节点 JSON 数据集合

                        -

                        请务必保证这些节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 隐藏根节点第一个节点的子节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.hideNodes(nodes[0].children);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.moveNode.html b/lib/zTree_v3/api/cn/zTreeObj.moveNode.html deleted file mode 100755 index 9c9180b..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.moveNode.html +++ /dev/null @@ -1,46 +0,0 @@ -
                        -
                        -

                        Function(targetNode, treeNode, moveType, isSilent)zTreeObj.moveNode

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        移动节点。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        targetNodeJSON

                        -

                        要移动到的目标节点 JSON 数据

                        -

                        如果移动成为根节点,请设置 targetNode 为 null 即可

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        treeNodeJSON

                        -

                        需要被移动的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        moveTypeString

                        -

                        指定移动到目标节点的相对位置

                        -

                        "inner":成为子节点,"prev":成为同级前一个节点,"next":成为同级后一个节点

                        -

                        isSilentBoolean

                        -

                        设定移动节点后是否自动展开父节点。

                        -

                        isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

                        -

                        返回值JSON

                        -

                        返回值是最终被移动的节点数据,正常情况下与 treeNode 参数完全相同

                        -

                        如果 返回值 为 null,说明 移动失败,主要原因有:
                        -  1、targetNode 是 treeNode 父节点,且 moveType = "inner"
                        -  2、targetNode 是 treeNode 子孙节点 -

                        -
                        -

                        function 举例

                        -

                        1. 将根节点中第二个节点 移动成为 第一个节点的子节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.moveNode(nodes[0], nodes[1], "inner");
                        -
                        -

                        2. 将根节点中第二个节点 移动成为 第一个节点的前一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.moveNode(nodes[0], nodes[1], "prev");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodes.html b/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodes.html deleted file mode 100755 index 3ca0492..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodes.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(parentNode, reloadType, isSilent, callback)zTreeObj.reAsyncChildNodes -

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        强行异步加载父节点的子节点。[setting.async.enable = true 时有效]

                        -

                        已经加载过的父节点可反复使用此方法重新加载。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        parentNodeJSON

                        -

                        指定需要异步加载的父节点 JSON 数据

                        -

                        1、parentNode = null 时,相当于从根节点 Root 进行异步加载

                        -

                        2、parentNode.isParent = false 时,不进行异步加载

                        -

                        3、请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        reloadTypeString

                        -

                        reloadType = "refresh" 表示清空后重新加载。

                        -

                        reloadType != "refresh" 时,表示追加子节点处理。

                        -

                        isSilentBoolean

                        -

                        设定异步加载后是否自动展开父节点。

                        -

                        isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

                        -

                        callbackfunction

                        -

                        刷新完成后的回调函数。

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 重新异步加载 zTree

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.reAsyncChildNodes(null, "refresh");
                        -
                        -

                        2. 重新异步加载当前选中的第一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.reAsyncChildNodes(nodes[0], "refresh");
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodesPromise.html b/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodesPromise.html deleted file mode 100755 index b95200a..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.reAsyncChildNodesPromise.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(parentNode, reloadType, isSilent)zTreeObj.reAsyncChildNodesPromise -

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        强行异步加载父节点的子节点(ES6 Promise 版)。[setting.async.enable = true 时有效]

                        -

                        已经加载过的父节点可反复使用此方法重新加载。

                        -

                        请通过 zTree 对象执行此方法。

                        -

                        v3.5.29+

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        parentNodeJSON

                        -

                        指定需要异步加载的父节点 JSON 数据

                        -

                        1、parentNode = null 时,相当于从根节点 Root 进行异步加载

                        -

                        2、parentNode.isParent = false 时,不进行异步加载

                        -

                        3、请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        reloadTypeString

                        -

                        reloadType = "refresh" 表示清空后重新加载。

                        -

                        reloadType != "refresh" 时,表示追加子节点处理。

                        -

                        isSilentBoolean

                        -

                        设定异步加载后是否自动展开父节点。

                        -

                        isSilent = true 时,不展开父节点,其他值或缺省状态都自动展开。

                        -

                        返回值ES6 Promise

                        -

                        ES6 的 Promise 对象,便于异步控制,使用时请注意浏览器兼容问题

                        -
                        -

                        function 举例

                        -

                        1. 重新异步加载 zTree

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.reAsyncChildNodes(null, "refresh");
                        -
                        -

                        2. 重新异步加载当前选中的第一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.reAsyncChildNodes(nodes[0], "refresh");
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.refresh.html b/lib/zTree_v3/api/cn/zTreeObj.refresh.html deleted file mode 100755 index 09a74ca..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.refresh.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.refresh

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        刷新 zTree 。

                        -

                        没有特殊必要,尽量不要使用此方法。单个节点更新请使用 updateNode 方法,异步加载模式下请使用 reAsyncChildNodes 方法。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 刷新 zTree

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.refresh();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.removeChildNodes.html b/lib/zTree_v3/api/cn/zTreeObj.removeChildNodes.html deleted file mode 100755 index 588639f..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.removeChildNodes.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(parentNode)zTreeObj.removeChildNodes

                        -

                        概述[ 依赖 jquery.ztree.core 扩展 js ]

                        -
                        -

                        -
                        -

                        清空某父节点的子节点。

                        -

                        1、清空子节点后,父节点会自动变为叶子节点,如需要父节点保持父节点状态,请设置 setting.data.keep.parent 属性。

                        -

                        2、请勿用此方法清空根节点,如果需要清空根节点,直接初始化 zTree,并且设置初始节点为 null 即可。

                        -

                        3、此方法不会触发任何事件回调函数。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        parentNodeJSON

                        -

                        需要清空子节点的父节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值Array(JSON)

                        -

                        将该父节点的子节点数据返回,如果不存在则返回 null

                        -
                        -

                        function 举例

                        -

                        1. 清空选中的第一个节点的子节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes && nodes.length>0) {
                        -	treeObj.removeChildNodes(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.removeNode.html b/lib/zTree_v3/api/cn/zTreeObj.removeNode.html deleted file mode 100755 index 442f5c7..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.removeNode.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeNode, callbackFlag)zTreeObj.removeNode

                        -

                        概述[ 依赖 jquery.ztree.core 扩展 js ]

                        -
                        -

                        -
                        -

                        删除节点。

                        -

                        v3.x 中删除节点可以触发 beforeRemove / onRemove 事件回调函数。便于减少冗余代码

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要被删除的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true 表示执行此方法时触发 beforeRemove & onRemove 事件回调函数

                        -

                        callbackFlag = false 表示执行此方法时不触发事件回调函数

                        -

                        省略此参数,等同于 false

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 删除所有选中的节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -for (var i=0, l=nodes.length; i < l; i++) {
                        -	treeObj.removeNode(nodes[i]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.selectNode.html b/lib/zTree_v3/api/cn/zTreeObj.selectNode.html deleted file mode 100755 index 8d074c4..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.selectNode.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Function(treeNode, addFlag, isSilent)zTreeObj.selectNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        选中指定节点

                        -

                        v3.x 支持同时选中多个节点。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要被选中的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        addFlagBoolean

                        -

                        addFlag = true 表示追加选中,会出现多点同时被选中的情况

                        -

                        addFlag = false (默认)表示单独选中,原先被选中的节点会被取消选中状态

                        -

                        setting.view.selectedMulti = false 时,此参数无效,始终进行单独选中

                        -

                        isSilentBoolean

                        -

                        isSilent = true 选中节点时,不会让节点自动滚到到可视区域内

                        -

                        isSilent = false (默认)表示选中节点时,会让节点自动滚到到可视区域内

                        -

                        (v3.5.23+)

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 单独选中根节点中第一个节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -if (nodes.length>0) {
                        -	treeObj.selectNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.setChkDisabled.html b/lib/zTree_v3/api/cn/zTreeObj.setChkDisabled.html deleted file mode 100755 index 9540080..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.setChkDisabled.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(node, disabled, inheritParent, inheritChildren)zTreeObj.setChkDisabled

                        -

                        概述[ 依赖 jquery.ztree.excheck 扩展 js ]

                        -
                        -

                        -
                        -

                        禁用 或 解禁 某个节点的 checkbox / radio [setting.check.enable = true 时有效]

                        -

                        1、节点的 checkbox / radio 被禁用后,无法勾选或取消勾选,但能够影响父节点的半选状态

                        -

                        2、请不要直接修改已加载节点的 treeNode.chkDisabled 属性。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        需要禁用 或 解禁 checkbox / radio 的节点数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        disabledBoolean

                        -

                        disabled = true 表示禁用 checkbox / radio

                        -

                        disabled = false 表示解禁 checkbox / radio

                        -

                        省略此参数,等同于 disabled = false

                        -

                        不影响 treeNode.nocheck = true 的节点。

                        -

                        inheritParentBoolean

                        -

                        inheritParent = true 表示全部父节点进行同样的操作

                        -

                        inheritParent = false 表示不影响父节点

                        -

                        省略此参数,等同于 inheritParent = false

                        -

                        inheritChildrenBoolean

                        -

                        inheritChildren = true 表示全部子节点进行同样的操作

                        -

                        inheritChildren = false 表示不影响子节点

                        -

                        省略此参数,等同于 inheritChildren = false

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 禁用当前选中的节点的 checkbox / radio

                        -
                        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);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.setEditable.html b/lib/zTree_v3/api/cn/zTreeObj.setEditable.html deleted file mode 100755 index c90c8de..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.setEditable.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(editable)zTreeObj.setEditable

                        -

                        概述[ 依赖 jquery.ztree.exedit 扩展 js ]

                        -
                        -

                        -
                        -

                        设置 zTree 进入 / 取消 编辑状态。

                        -

                        对于编辑状态的各种功能需要提前设置对应 setting 中的不同属性

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        editableBoolean

                        -

                        true 表示进入 编辑状态

                        -

                        false 表示取消 编辑状态

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 设置 zTree 进入编辑状态

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.setEditable(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.setting.html b/lib/zTree_v3/api/cn/zTreeObj.setting.html deleted file mode 100755 index 61abd53..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.setting.html +++ /dev/null @@ -1,13 +0,0 @@ -
                        -
                        -

                        JSONzTreeObj.setting

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        zTree 对象使用的 setting 配置数据,详细请参考 “setting 配置详解”中的各个属性详细说明

                        -

                        v3.x 取消了原先操作 setting 的方法,让用户可以较自由的修改参数,但请注意,对于 zTree 初始化有影响的参数后期修改是不会起作用的,请对各个属性有较深入的了解以后再考虑进行修改。

                        -
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.showNode.html b/lib/zTree_v3/api/cn/zTreeObj.showNode.html deleted file mode 100755 index ed22d51..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.showNode.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.showNode

                        -

                        概述[ 依赖 jquery.ztree.exhide 扩展 js ]

                        -
                        -

                        -
                        -

                        显示某个被隐藏的节点。

                        -

                        1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。

                        -

                        2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        指定被显示的节点 JSON 数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 显示某个隐藏的节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByParam("isHidden", true);
                        -if (node) {
                        -  treeObj.showNode(node);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.showNodes.html b/lib/zTree_v3/api/cn/zTreeObj.showNodes.html deleted file mode 100755 index b090657..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.showNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.showNodes

                        -

                        概述[ 依赖 jquery.ztree.exhide 扩展 js ]

                        -
                        -

                        -
                        -

                        显示一批已经被隐藏的节点。

                        -

                        1、此功能不支持 exedit 扩展,因此不要在编辑状态时使用隐藏节点的方法。

                        -

                        2、隐藏/显示节点,会影响节点的 isFirstNode 和 isLastNode 属性。

                        -

                        3、请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodesArray(JSON)

                        -

                        指定被显示的节点 JSON 数据集合

                        -

                        请务必保证这些节点数据对象 是 zTree 内部的数据对象

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 显示全部隐藏的节点

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParam("isHidden", true);
                        -treeObj.showNodes(nodes);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.transformToArray.html b/lib/zTree_v3/api/cn/zTreeObj.transformToArray.html deleted file mode 100755 index a46dc61..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.transformToArray.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.transformToArray

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        将 zTree 使用的标准 JSON 嵌套格式的数据转换为简单 Array 格式。(免去用户自行编写递归遍历全部节点的麻烦)

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodesArray(JSON) / JSON

                        -

                        需要被转换的 zTree 节点数据对象集合 或 某个单独节点的数据对象

                        -

                        返回值Array(JSON)

                        -

                        转换后的简单 Array 数据格式

                        -
                        -

                        function 举例

                        -

                        1. 将 zTree 节点数据转换为简单 Array 格式

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.transformToArray(treeObj.getNodes());
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.transformTozTreeNodes.html b/lib/zTree_v3/api/cn/zTreeObj.transformTozTreeNodes.html deleted file mode 100755 index 4b02650..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.transformTozTreeNodes.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        Function(simpleNodes)zTreeObj.transformTozTreeNodes

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        将简单 Array 格式数据转换为 zTree 使用的标准 JSON 嵌套数据格式。

                        -

                        使用此方法,请务必设置节点唯一标识属性名称 setting.data.simpleData.idKey 和 父节点唯一标识属性名称 setting.data.simpleData.pIdKey,并且让数据满足父子关系。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        simpleNodesArray(JSON) / JSON

                        -

                        需要被转换的简单 Array 格式数据 或 某个单独的数据对象

                        -

                        返回值Array(JSON)

                        -

                        zTree 使用的标准数据,子节点都存在于父节点数据的 children 属性中

                        -

                        如果 simpleNodes 是一个 JSON 对象,则被简单封装成长度为 1 的数组。

                        -
                        -

                        function 举例

                        -

                        1. 将简单 Array 格式转换为zTree使用的标准格式

                        -
                        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);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/cn/zTreeObj.updateNode.html b/lib/zTree_v3/api/cn/zTreeObj.updateNode.html deleted file mode 100755 index e13419c..0000000 --- a/lib/zTree_v3/api/cn/zTreeObj.updateNode.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeNode, checkTypeFlag)zTreeObj.updateNode

                        -

                        概述[ 依赖 jquery.ztree.core 核心 js ]

                        -
                        -

                        -
                        -

                        更新某节点数据,主要用于该节点显示属性的更新。

                        -

                        1、可针对 name、target、 url、icon、 iconSkin、checked、nocheck 等这几个用于显示效果的参数进行更新,其他用于 zTreeNodes 的参数请不要随意更新,对于展开节点,还请调用 expandNode方法,因此请勿随意修改 open 属性。

                        -

                        2、用此方法修改 checked 勾选状态不会触发 beforeCheck / onCheck 事件回调函数。

                        -

                        请通过 zTree 对象执行此方法。

                        -
                        -
                        -

                        Function 参数说明

                        -
                        -

                        treeNodeJSON

                        -

                        指定需要更新的节点 JSON 数据

                        -

                        请务必保证此节点数据对象 是 zTree 内部的数据对象

                        -

                        checkTypeFlagBoolean

                        -

                        checkTypeFlag = true 表示按照 setting.check.chkboxType 属性进行父子节点的勾选联动操作

                        -

                        checkTypeFlag = false 表示只修改此节点勾选状态,无任何勾选联动操作

                        -

                        当 setting.check.enable = true 且 setting.check.chkStyle = "checkbox" 时才有效

                        -

                        不影响父子节点中 treeNode.nocheck = true 的节点。

                        -

                        返回值

                        -

                        目前无任何返回值

                        -
                        -

                        function 举例

                        -

                        1. 更新根节点中第一个节点的名称

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -if (nodes.length>0) {
                        -	nodes[0].name = "test";
                        -	treeObj.updateNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/fn.zTree._z.html b/lib/zTree_v3/api/en/fn.zTree._z.html deleted file mode 100755 index e2ae61d..0000000 --- a/lib/zTree_v3/api/en/fn.zTree._z.html +++ /dev/null @@ -1,15 +0,0 @@ -
                        -
                        -

                        JSON$.fn.zTree._z

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        All of the internal methods in zTree v3.x are available through '$. fn.zTree._z', - use this if you want to develop your own zTree plug-ins.

                        -

                        Unless you are writing a plugin, - you should not use this object.

                        -
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/fn.zTree.destroy.html b/lib/zTree_v3/api/en/fn.zTree.destroy.html deleted file mode 100755 index c53cb80..0000000 --- a/lib/zTree_v3/api/en/fn.zTree.destroy.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeId)$.fn.zTree.destroy

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        From zTree v3.4, zTree provides a method for destruction.

                        -

                        1. This method can destroy a zTree by treeId, or destroy all zTree instances.

                        -

                        2. If you want to destroy a zTree, you can use the 'zTreeObj.destroy()' method.

                        -

                        3. If you want to re-use the tree which has been destroyed, - you must first re-initialise it with the 'init()' method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier

                        -

                        If this parameter is omitted, all zTree instances will be destroyed.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Destroy the zTree with id === 'treeDemo'

                        -
                        $.fn.zTree.destroy("treeDemo");
                        -

                        2. Destroy all zTree instances

                        -
                        $.fn.zTree.destroy();
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/fn.zTree.getZTreeObj.html b/lib/zTree_v3/api/en/fn.zTree.getZTreeObj.html deleted file mode 100755 index 49dadaa..0000000 --- a/lib/zTree_v3/api/en/fn.zTree.getZTreeObj.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(treeId)$.fn.zTree.getZTreeObj

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        zTree v3.x provides this method to get zTree object from the tree's Id.

                        -

                        Please initialize zTree first, then you can use this method.

                        -

                        Users don't need to use a global variable to reference the zTree object, - as all of the callback methods will pass 'treeId' parameters, - and you can always call this method to get the zTree object.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier

                        -

                        Return JSON

                        -

                        zTree object

                        -

                        This is a reference to the zTree object.

                        -
                        -

                        Examples of function

                        -

                        1. Get the zTree object with id='tree'

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/fn.zTree.init.html b/lib/zTree_v3/api/en/fn.zTree.init.html deleted file mode 100755 index 413056c..0000000 --- a/lib/zTree_v3/api/en/fn.zTree.init.html +++ /dev/null @@ -1,81 +0,0 @@ -
                        -
                        -

                        Function(obj, zSetting, zNodes)$.fn.zTree.init

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        This method is used to create a zTree.

                        -

                        1. The web page must use the W3C DTD. For example: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

                        -

                        2. Needs jquery-1.4.2.js or better.

                        -

                        3. Needs jquery-ztree.core-3.0.js or better. - If you are using edit mode or checkbox / radio mode, - make sure you load jquery-ztree.exedit-3.0.js and jquery-ztree.excheck-3.0.js.

                        -

                        4. Needs zTreeStyle.css and image files

                        -

                        5. If you plan to use custom icons, please refer to the Demo, - or see the help on iconSkin.

                        -

                        6. Note: You need to set zTree container's class name to "ztree". - If you need to change it, don't forget to modify the css file. - If you need other special styles, you can modify the css file.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        objectjQuery Object

                        -

                        DOM Container for zTree

                        -

                        zSettingJSON

                        -

                        zTree's configuration data, please refer to "setting details" in the API Document.

                        -

                        zNodesArray(JSON) / JSON

                        -

                        zTree's node data, please refer to "treeNode data details" in the API Document.

                        -

                        1. zTree v3.x support to add single node, that is, if only to add one node, - you can use JSON without using Array.

                        -

                        2. If you are planning on using asynchronous loading of root nodes, set it to null or [ ]

                        -

                        3. If you are using simple data mode, please refer to "setting.data.simpleData" in the API Document.

                        -

                        Return JSON

                        -

                        zTree object

                        -

                        This object can provide the methods of operate the zTree

                        -

                        You can use $.fn.zTree.getZTreeObj method at any time to obtain.

                        -
                        -

                        Examples of setting & function

                        -

                        1. create a simple tree

                        -
                        <!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.js"></script>
                        -<!--
                        -  <script type="text/javascript" src="jquery.ztree.excheck.js"></script>
                        -  <script type="text/javascript" src="jquery.ztree.exedit.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>
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.autoParam.html b/lib/zTree_v3/api/en/setting.async.autoParam.html deleted file mode 100755 index 6c4cbe0..0000000 --- a/lib/zTree_v3/api/en/setting.async.autoParam.html +++ /dev/null @@ -1,52 +0,0 @@ -
                        -
                        -

                        Array(String) / Function(treeId, treeNode)setting.async.autoParam

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        During asynchronous loading, a request is sent to the server, which contains the identify of the parent node, - so it can retrieve the children. - This attribute is an array of strings, which is the identity parameter (or parameters). - It applies when [setting.async.enable = true]

                        -

                        Default:[ ]

                        -
                        -
                        -

                        Array(String) Format

                        -
                        -

                        1. Put the attribute name(s) of node to the array. For example: ["id", "name"]

                        -

                        2. You can rename the parameter name as sent to the server. For example: server only accepts "zId" -- ["id=zId"]

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        Parent node's JSON data object

                        -

                        When asynchronously loading the root, the treeNode = null

                        -

                        Return Array(String)

                        -

                        Return value is same as 'Array(String) Format'

                        -
                        -

                        Examples of setting

                        -

                        1. set auto commit 'id' attribute

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id"]
                        -	}
                        -};
                        -If we have a parent node: {id:1, name:"test"}, When we are asynchronously loading this parent node's children, it will be submitted to the server with parameters: id=1
                        -......
                        -

                        2. set auto commit 'id' attribute, but the parameter name expected by the server is 'zId'

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id=zId"]
                        -	}
                        -};
                        -If we have a parent node: {id:1, name:"test"}, When we are asynchronously loading this parent node's children, it will be submitted to the server with parameters: zId=1
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.contentType.html b/lib/zTree_v3/api/en/setting.async.contentType.html deleted file mode 100755 index c9e1509..0000000 --- a/lib/zTree_v3/api/en/setting.async.contentType.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.contentType

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        When Ajax sends data to the server, it uses this content-type. - It is used when [setting.async.enable = true]

                        -

                        Default:"application/x-www-form-urlencoded"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        contentType = "application/x-www-form-urlencoded", means: the sending data format is "form" format.

                        -

                        contentType = "application/json", means: the sending data format is "json" format. (for .Net)

                        -
                        -

                        Examples of setting

                        -

                        1. set the sending data format to "json" format.

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		contentType: "application/json",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.dataFilter.html b/lib/zTree_v3/api/en/setting.async.dataFilter.html deleted file mode 100755 index 4347a08..0000000 --- a/lib/zTree_v3/api/en/setting.async.dataFilter.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, parentNode, responseData)setting.async.dataFilter

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback function to pre-process Ajax return data. It is valid when [setting.async.enable = true]

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId

                        -

                        parentNodeJSON

                        -

                        Parent node's JSON data object

                        -

                        When asynchronously loading the root, the parentNode = null

                        -

                        responseDataArray(JSON) / JSON / String

                        -

                        Array (JSON) / JSON / String data objects

                        -

                        From v3.4, support XML strings.

                        -

                        Return Array(JSON) / JSON

                        -

                        The return value should be the JSON data structure which is supported by the zTree.

                        -

                        v3.x supports to load single node JSON data object.

                        -
                        -

                        Examples of setting & function

                        -

                        1. Modify the node name attributes returned by an Ajax request.

                        -
                        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
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.dataType.html b/lib/zTree_v3/api/en/setting.async.dataType.html deleted file mode 100755 index 41db300..0000000 --- a/lib/zTree_v3/api/en/setting.async.dataType.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.dataType

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The data type of Ajax requests. It is valid when [setting.async.enable = true]

                        -

                        Default:"text"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        dataType = "text", There is probably no need to change this.

                        -

                        The 'dataType' in zTree and jQuery's ajax requests is same.

                        -
                        -

                        Examples of setting

                        -

                        1. Set the dataType which ajax retrieves to "text".

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		dataType: "text",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.enable.html b/lib/zTree_v3/api/en/setting.async.enable.html deleted file mode 100755 index c284476..0000000 --- a/lib/zTree_v3/api/en/setting.async.enable.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Booleansetting.async.enable

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set zTree asynchronous loading mode on/off.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true - turn on asynchronous loading mode

                        -

                        false - turn off asynchronous loading mode

                        -

                        If set it is true, you must set other attributes in setting.async

                        -

                        If you don't pass the 'treeNodes' parameter when you initialize zTree, the root nodes will be retrieved using ajax.

                        -
                        -

                        Examples of setting

                        -

                        1. Turn on asynchronous loading mode

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.headers.html b/lib/zTree_v3/api/en/setting.async.headers.html deleted file mode 100755 index e719583..0000000 --- a/lib/zTree_v3/api/en/setting.async.headers.html +++ /dev/null @@ -1,18 +0,0 @@ -
                        -
                        -

                        Objectsetting.async.headers

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        It is valid when [setting.async.enable = true]

                        -

                        Default:"{}"

                        -

                        v3.5.36+

                        -
                        -
                        -

                        String Format

                        -
                        -

                        The 'headers' in zTree and jQuery's ajax requests is same.

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.otherParam.html b/lib/zTree_v3/api/en/setting.async.otherParam.html deleted file mode 100755 index cf8faa3..0000000 --- a/lib/zTree_v3/api/en/setting.async.otherParam.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Array(String) / JSON / Function(treeId, treeNode)setting.async.otherParam

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The query parameters of the Ajax request. (key - value) It is valid when [setting.async.enable = true]

                        -

                        Default: [ ]

                        -
                        -
                        -

                        Array(String) Format

                        -
                        -

                        Can be an empty array. e.g. [ ]. The array should contain key value pairs, e.g. [key, value]. (Either or [key] or [key, value, key] is wrong!!)

                        -
                        -

                        JSON Format

                        -
                        -

                        Use JSON hash data to set the key-value pairs. e.g. { key1:value1, key2:value2 }

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        Parent node's JSON data object

                        -

                        When asynchronously loading the root, the treeNode = null

                        -

                        Return Array(String) || JSON

                        -

                        Return value is same as 'Array(String) || JSON Format'

                        -
                        -

                        Examples of setting

                        -

                        1. Using Array(String) Format

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		otherParam: ["id", "1", "name", "test"]
                        -	}
                        -};
                        -when zTree sends the ajax request, the query string will be like this: id=1&name=test
                        -

                        2. Using JSON data Format

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "http://host/getNode.php",
                        -		otherParam: { "id":"1", "name":"test"}
                        -	}
                        -};
                        -when zTree sends the ajax request, the query string will be like this: id=1&name=test
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.type.html b/lib/zTree_v3/api/en/setting.async.type.html deleted file mode 100755 index c67599a..0000000 --- a/lib/zTree_v3/api/en/setting.async.type.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Stringsetting.async.type

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Http request tyoe in ajax. It is valid when [setting.async.enable = true]

                        -

                        Default: "post"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        "post" - http request mode

                        -

                        "get" - http request mode

                        -

                        Both zTree and jQuery's this 'type' for ajax requests.

                        -
                        -

                        Examples of setting

                        -

                        1. Set http request mode is 'get'

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		type: "get",
                        -		url: "http://host/getNode.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.url.html b/lib/zTree_v3/api/en/setting.async.url.html deleted file mode 100755 index 2384c08..0000000 --- a/lib/zTree_v3/api/en/setting.async.url.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.async.url

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The URL to which the ajax request is sent. It is valid when [setting.async.enable = true]

                        -

                        Default: ""

                        -
                        -
                        -

                        String Format

                        -
                        -

                        A url string(e.g. "http://www.domain.com/cgi-bin/my-script.cgi"). Note: please check that the url can be loaded with a browser

                        -

                        Url can also take parameters, please note that they need to be urlencoded.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        Parent node's JSON data object

                        -

                        When asynchronously loading the root, the treeNode = null

                        -

                        Return String

                        -

                        Return value is same as 'String Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. set ajax url is "nodes.php"

                        -
                        var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: "nodes.php",
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -

                        2. set ajax url is "function"

                        -
                        function getAsyncUrl(treeId, treeNode) {
                        -    return treeNode.isParent ? "nodes1.php" : "nodes2.php";
                        -};
                        -var setting = {
                        -	async: {
                        -		enable: true,
                        -		url: getAsyncUrl,
                        -		autoParam: ["id", "name"]
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.async.xhrFields.html b/lib/zTree_v3/api/en/setting.async.xhrFields.html deleted file mode 100755 index d1588cf..0000000 --- a/lib/zTree_v3/api/en/setting.async.xhrFields.html +++ /dev/null @@ -1,18 +0,0 @@ -
                        -
                        -

                        Objectsetting.async.xhrFields

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        It is valid when [setting.async.enable = true]

                        -

                        Default:"{}"

                        -

                        v3.5.36+

                        -
                        -
                        -

                        String Format

                        -
                        -

                        The 'xhrFields' in zTree and jQuery's ajax requests is same.

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeAsync.html b/lib/zTree_v3/api/en/setting.callback.beforeAsync.html deleted file mode 100755 index 55f52ee..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeAsync.html +++ /dev/null @@ -1,36 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeAsync

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        This callback is made before zTree makes an ajax request, giving you an opportunity to decide if it should proceed or not. - Return false to prevent zTree from sending the ajax request.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the parent node

                        -

                        When asynchronously loading the root, treeNode = null

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If the function returns false, zTree will not send the ajax request, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. If the parent node's attribute 'id' is 1, don't send the ajax request.

                        -
                        function myBeforeCallBack(treeId, treeNode) {
                        -    return (treeNode.id !== 1);
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeAsync: myBeforeCallBack
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeCheck.html b/lib/zTree_v3/api/en/setting.callback.beforeCheck.html deleted file mode 100755 index b2d71e5..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeCheck.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeCheck

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Callback before checking or unchecking a node, A false return value from the callback will prevent any change in the checked state.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is checked or unchecked

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not change the checkbox state, and will not trigger the 'onCheck' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. This example returns false, preventing all checkboxes in the tree from toggling.

                        -
                        function myBeforeCheckCallBack(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeCheck: myBeforeCheckCallBack
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeClick.html b/lib/zTree_v3/api/en/setting.callback.beforeClick.html deleted file mode 100755 index 250416b..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeClick.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode, clickFlag)setting.callback.beforeClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Before click callback, return false to prevent the 'onClick' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is clicked

                        -

                        clickFlagNumber

                        -

                        Node is selected or deselected state, please see table below for details

                        - - - - - - - - - - - - -
                        clickFlagselectedMultiautoCancelSelected
                        &&
                        event.ctrlKey / metaKey
                        isSelectedoperate for selected
                        1truefalsefalsenode is selected (single)
                        1truefalsetruenode is selected (single)
                        2truetruefalsenode is selected (multi)
                        0truetruetruenode is deselected
                        1falsefalsefalsenode is selected (single)
                        1falsefalsetruenode is selected (single)
                        1falsetruefalsenode is selected (single)
                        0falsetruetruenode is deselected
                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not change selected state, and will not trigger the 'onClick' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disabled to click the node

                        -
                        function myBeforeClick(treeId, treeNode, clickFlag) {
                        -    return (treeNode.id !== 1);
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeClick: myBeforeClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeCollapse.html b/lib/zTree_v3/api/en/setting.callback.beforeCollapse.html deleted file mode 100755 index 950b728..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeCollapse.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeCollapse

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before collapse node, The return value controls the collapse node.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be collapsed

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disabled to collapse node which is expanded

                        -
                        function myBeforeCollapse(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeCollapse: myBeforeCollapse
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeDblClick.html b/lib/zTree_v3/api/en/setting.callback.beforeDblClick.html deleted file mode 100755 index 3d4ead1..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeDblClick.html +++ /dev/null @@ -1,36 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeDblClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Specify callback function, executed before the 'onDblClick' callback, The return value controls the 'onDblClick' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is double clicked

                        -

                        If the DOM which dblclicked isn't a node, it will return null.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, ztree will not trigger the 'onDblClick' callback, no effect on other operations.

                        -

                        This callback function does not affect the auto expand of the parent node , please refer to setting.view.dblClickExpand properties.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to trigger the 'onDblClick' callback

                        -
                        function myBeforeDblClick(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeDblClick: myBeforeDblClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeDrag.html b/lib/zTree_v3/api/en/setting.callback.beforeDrag.html deleted file mode 100755 index fca278d..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeDrag.html +++ /dev/null @@ -1,39 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNodes)setting.callback.beforeDrag

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before the drag node callback, The return value controls whether the drag node callback will execute.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the id of the containing tree.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes being dragged

                        -

                        v3.x allows the drag and drop of multiple sibling nodes, so this parameter's type is changed to Array(JSON).

                        -

                        If the selected nodes aren't sibling nodes, you can only drag one node.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will abort the drag and drop, and will not trigger the 'onDrag / beforeDrop / onDrop' sequence of callbacks.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable drag completely (by returning false)

                        -
                        function myBeforeDrag(treeId, treeNodes) {
                        -    return false;
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDrag: myBeforeDrag
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeDragOpen.html b/lib/zTree_v3/api/en/setting.callback.beforeDragOpen.html deleted file mode 100755 index d28bafe..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeDragOpen.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeDragOpen

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Callback executed before drag node to collapsed parent node, The return value controls the auto expand behaviour of the parent node.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the tree is what the treeNode(parent node) is belong to.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the parent node which will be auto expanded

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not auto expand parent node.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to auto expand parent node.

                        -
                        function myBeforeDragOpen(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDragOpen: myBeforeDragOpen
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeDrop.html b/lib/zTree_v3/api/en/setting.callback.beforeDrop.html deleted file mode 100755 index 9b24475..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeDrop.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNodes, targetNode, moveType, isCopy)setting.callback.beforeDrop

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before drag-drop of a node, The return value controls the execution of drag-drop callback.

                        -

                        Default: null

                        -

                        When a node is dropped, if the drop is not in a valid location, this callback will not be triggered, and will revert to the original position.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the id of the containing tree.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which has been dragged

                        -

                        The treeNodes which have been dragged, when copying nodes or moving nodes.

                        -

                        targetNodeJSON

                        -

                        JSON data object of the destination node on which treeNodes are being dropped.

                        -

                        If the treeNodes is the root node, the targetNode = null

                        -

                        moveTypeString

                        -

                        the relative position of move to the target node

                        -

                        "inner": will be child of targetNode

                        -

                        "prev": will be sibling node, and be in front of targetNode

                        -

                        "next": will be sibling node, and be behind targetNode

                        -

                        isCopyBoolean

                        -

                        the flag used to determine if the drop is to copy or move the node

                        -

                        true: copy node; false: move node

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to drag nodes to root

                        -
                        function myBeforeDrop(treeId, treeNodes, targetNode, moveType) {
                        -    return !(targetNode == null || (moveType != "inner" && !targetNode.parentTId));
                        -};
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeDrop: myBeforeDrop
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeEditName.html b/lib/zTree_v3/api/en/setting.callback.beforeEditName.html deleted file mode 100755 index a820080..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeEditName.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeEditName

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before click edit button, The return value controls the editing of the name.

                        -

                        This callback is fired when the edit button is clicked, to control the custom editing operation.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be edited.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, allow editing of the name.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable editing of any parent node's name

                        -
                        function myBeforeEditName(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeEditName: myBeforeEditName
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeExpand.html b/lib/zTree_v3/api/en/setting.callback.beforeExpand.html deleted file mode 100755 index 8b0a6e7..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeExpand.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeExpand

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before expanding a node, The return value controls the expand node callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be expanded

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not expand node, and will not trigger the 'onExpand' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disables expanding of all nodes

                        -
                        function myBeforeExpand(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeExpand: myBeforeExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeMouseDown.html b/lib/zTree_v3/api/en/setting.callback.beforeMouseDown.html deleted file mode 100755 index d27f431..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeMouseDown.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeMouseDown

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Specify callback function, executed before the 'onMouseDown' callback, The return value controls the 'onMouseDown' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which mouse over

                        -

                        If the DOM which mouse over isn't a node, it will return null.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not trigger the 'onMouseDown' callback, no effect on other operations.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to trigger the 'onMouseDown' callback

                        -
                        function myBeforeMouseDown(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeMouseDown: myBeforeMouseDown
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeMouseUp.html b/lib/zTree_v3/api/en/setting.callback.beforeMouseUp.html deleted file mode 100755 index e7d10de..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeMouseUp.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeMouseUp

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Specify callback function, executed before the 'onMouseUp' callback, The return value controls the 'onMouseUp' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which mouse over

                        -

                        If the DOM which mouse over isn't a node, it will return null.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not trigger the 'onMouseUp' callback, no effect on other operations.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to trigger the 'onMouseUp' callback

                        -
                        function myBeforeMouseUp(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeMouseUp: myBeforeMouseUp
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeRemove.html b/lib/zTree_v3/api/en/setting.callback.beforeRemove.html deleted file mode 100755 index 0e155d4..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeRemove.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeRemove

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before remove node, The return value controls the allow to remove node.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be removed.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        If return false, zTree will not remove node, and will not trigger the 'onRemove' callback.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to remove node

                        -
                        function myBeforeRemove(treeId, treeNode) {
                        -	return false;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeRemove: myBeforeRemove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeRename.html b/lib/zTree_v3/api/en/setting.callback.beforeRename.html deleted file mode 100755 index bfed144..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeRename.html +++ /dev/null @@ -1,46 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode, newName, isCancel)setting.callback.beforeRename

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Specify callback function to be called before rename(when input DOM blur or press Enter Key), The return value controls the allow to rename node.

                        -

                        When node is editing name, press the ESC key to restore the original name and stop edit name.

                        -

                        From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be rename.

                        -

                        newNameString

                        -

                        the new name

                        -

                        isCancelBoolean

                        -

                        the status about cancel edit name (v3.5.13+)

                        -

                        isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)

                        -

                        isCancel = false means: user submit edit name.

                        -

                        Return Boolean

                        -

                        return true or false

                        -

                        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.

                        -

                        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.

                        -
                        -

                        Examples of setting & function

                        -

                        1. the length of the new name can't less than 5

                        -
                        function myBeforeRename(treeId, treeNode, newName, isCancel) {
                        -	return newName.length > 5;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true
                        -	},
                        -	callback: {
                        -		beforeRename: myBeforeRename
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.beforeRightClick.html b/lib/zTree_v3/api/en/setting.callback.beforeRightClick.html deleted file mode 100755 index 9d05a0b..0000000 --- a/lib/zTree_v3/api/en/setting.callback.beforeRightClick.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.callback.beforeRightClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to capture the right click event before the 'onRightClick' callback, The return value controls the 'onRightClick' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is mouse right clicked

                        -

                        If the DOM which mouse right clicked isn't a node, it will return null.

                        -

                        ReturnBoolean

                        -

                        return true or false

                        -

                        If return false, ztree will not trigger the 'onRightClick' callback, no effect on other operations.

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to trigger the 'onRightClick' callback

                        -
                        function myBeforeRightClick(treeId, treeNode) {
                        -    return false;
                        -};
                        -var setting = {
                        -	callback: {
                        -		beforeRightClick: myBeforeRightClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onAsyncError.html b/lib/zTree_v3/api/en/setting.callback.onAsyncError.html deleted file mode 100755 index 239f3ff..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onAsyncError.html +++ /dev/null @@ -1,42 +0,0 @@ -
                        -
                        -

                        setting.callback.onAsyncError

                        -

                        Function(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) 

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to capture the error event when execute ajax.

                        -

                        If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the parent node

                        -

                        When load root nodes, treeNode = null

                        -

                        XMLHttpRequestString

                        -

                        XMLHttpRequest Object, please refer to JQuery API documentation.

                        -

                        textStatusString

                        -

                        a string categorizing the status of the request("success", "error"...), please refer to JQuery API documentation.

                        -

                        errorThrownString

                        -

                        eWhen an HTTP error occurs, errorThrown receives the textual portion of the HTTP status, please refer to JQuery API documentation.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When execute ajax make error, alert message.

                        -
                        function myOnAsyncError(event, treeId, treeNode, XMLHttpRequest, textStatus, errorThrown) {
                        -    alert(XMLHttpRequest);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onAsyncError: myOnAsyncError
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onAsyncSuccess.html b/lib/zTree_v3/api/en/setting.callback.onAsyncSuccess.html deleted file mode 100755 index b8deca5..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onAsyncSuccess.html +++ /dev/null @@ -1,38 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, msg)setting.callback.onAsyncSuccess

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to capture the complete success event when execute ajax.

                        -

                        If you set 'setting.callback.beforeAsync',and return false, zTree will not execute ajax, and will not trigger the 'onAsyncSuccess / onAsyncError' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the parent node

                        -

                        When load root nodes, treeNode = null

                        -

                        msgString / Object

                        -

                        The actualnode data which got by ajax. User-friendly debugging.

                        -

                        The actual data's type of msg is affected by 'setting.async.dataType', please refer to JQuery API documentation.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When execute ajax complete success, alert message.

                        -
                        function myOnAsyncSuccess(event, treeId, treeNode, msg) {
                        -    alert(msg);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onAsyncSuccess: myOnAsyncSuccess
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onCheck.html b/lib/zTree_v3/api/en/setting.callback.onCheck.html deleted file mode 100755 index eadfadc..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onCheck.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onCheck

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Used to capture the check or uncheck event when check or uncheck the checkbox and radio.

                        -

                        If you set 'setting.callback.beforeCheck',and return false, zTree will not change check state, and will not trigger the 'onCheck' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is checked or unchecked

                        -
                        -

                        Examples of setting & function

                        -

                        1. When check or uncheck the checkbox and radio, alert info about 'tId' and 'name' and 'checked'.

                        -
                        function myOnCheck(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name + "," + treeNode.checked);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onCheck: myOnCheck
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onClick.html b/lib/zTree_v3/api/en/setting.callback.onClick.html deleted file mode 100755 index 537dbe0..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onClick.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, clickFlag)setting.callback.onClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to capture the click event when click node.

                        -

                        If you set 'setting.callback.beforeClick',and return false, zTree will not change selected state, and will not trigger the 'onClick' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is clicked

                        -

                        clickFlagNumber

                        -

                        Node is selected or deselected state, please see table below for details

                        - - - - - - - - - - - - -
                        clickFlagselectedMultiautoCancelSelected
                        &&
                        event.ctrlKey / metaKey
                        isSelectedoperate for selected
                        1truefalsefalsenode is selected (single)
                        1truefalsetruenode is selected (single)
                        2truetruefalsenode is selected (multi)
                        0truetruetruenode is deselected
                        1falsefalsefalsenode is selected (single)
                        1falsefalsetruenode is selected (single)
                        1falsetruefalsenode is selected (single)
                        0falsetruetruenode is deselected
                        -
                        -

                        Examples of setting & function

                        -

                        1. When click node, alert info about 'tId' and 'name'.

                        -
                        function myOnClick(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onClick: myOnClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onCollapse.html b/lib/zTree_v3/api/en/setting.callback.onCollapse.html deleted file mode 100755 index d62f3fe..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onCollapse.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onCollapse

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for collapse node.

                        -

                        If you set 'setting.callback.beforeCollapse',and return false, zTree will not collapse node, and will not trigger the 'onCollapse' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be collapsed

                        -
                        -

                        Examples of setting & function

                        -

                        1. When collapse node, alert info about 'tId' and 'name'.

                        -
                        function myOnCollapse(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onCollapse: myOnCollapse
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onDblClick.html b/lib/zTree_v3/api/en/setting.callback.onDblClick.html deleted file mode 100755 index d59602c..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onDblClick.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onDblClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to capture the dblclick event when double click node.

                        -

                        If you set 'setting.callback.beforeDblClick',and return false, zTree will not trigger the 'onDblClick' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is double clicked

                        -

                        If the DOM which dblclicked isn't a node, it will return null.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When double click node, alert info about 'tId' and 'name'.

                        -
                        function myOnDblClick(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDblClick: myOnDblClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onDrag.html b/lib/zTree_v3/api/en/setting.callback.onDrag.html deleted file mode 100755 index 7c975bc..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onDrag.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes)setting.callback.onDrag

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to capture the drag event when drag node.

                        -

                        If you set 'setting.callback.beforeDrag',and return false, zTree will stop drag, and will not trigger the 'onDragMove' & 'onDrag' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the id of the containing tree.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which will be dragged

                        -
                        -

                        Examples of setting & function

                        -

                        1. When drag nodes, alert the number of dragged nodes.

                        -
                        function myOnDrag(event, treeId, treeNodes) {
                        -    alert(treeNodes.length);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDrag: myOnDrag
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onDragMove.html b/lib/zTree_v3/api/en/setting.callback.onDragMove.html deleted file mode 100755 index b8596b9..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onDragMove.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes)setting.callback.onDragMove

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to capture the drag-move event when drag & drop node.

                        -

                        Mainly used to capture the DOM which the nodes was drag in.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the id of the containing tree.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which will be dragged

                        -
                        -

                        Examples of setting & function

                        -

                        1. When drag nodes, output the target dom.

                        -
                        function myOnDragMove(event, treeId, treeNodes) {
                        -	console.log(event.target);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDragMove: myOnDragMove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onDrop.html b/lib/zTree_v3/api/en/setting.callback.onDrop.html deleted file mode 100755 index 475526d..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onDrop.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNodes, targetNode, moveType, isCopy)setting.callback.onDrop

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to capture the drop event when drag-drop node.

                        -

                        If you set 'setting.callback.beforeDrop',and return false, zTree will restore the dragged nodes, and will not trigger the 'onDrop' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId, the id of the containing tree.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which has been dragged

                        -

                        The treeNodes are the data of the nodes which be dragged, when move nodes.

                        -

                        The treeNodes are the clone data of the nodes which be dragged, when copy nodes.

                        -

                        targetNodeJSON

                        -

                        JSON data object of the target node which treeNodes are drag-dropped.

                        -

                        If the treeNodes will be root node, the targetNode = null

                        -

                        moveTypeString

                        -

                        the relative position of move to the target node

                        -

                        "inner": will be child of targetNode

                        -

                        "prev": will be sibling node, and be in front of targetNode

                        -

                        "next": will be sibling node, and be behind targetNode

                        -

                        If moveType is null, means drag & drop is cancel.

                        -

                        isCopyBoolean

                        -

                        the flag used to judge copy node or move node

                        -

                        true: copy node; false: move node

                        -
                        -

                        Examples of setting & function

                        -

                        1. When drag-drop nodes complete, alert the number of dragged nodes and info about targetNode.

                        -
                        function myOnDrop(event, treeId, treeNodes, targetNode, moveType) {
                        -    alert(treeNodes.length + "," + (targetNode ? (targetNode.tId + ", " + targetNode.name) : "isRoot" ));
                        -};
                        -var setting = {
                        -	callback: {
                        -		onDrop: myOnDrop
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onExpand.html b/lib/zTree_v3/api/en/setting.callback.onExpand.html deleted file mode 100755 index 70024fe..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onExpand.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onExpand

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for expand node.

                        -

                        If you set 'setting.callback.beforeExpand',and return false, zTree will not expand node, and will not trigger the 'onExpand' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be expanded

                        -
                        -

                        Examples of setting & function

                        -

                        1. When expand node, alert info about 'tId' and 'name'.

                        -
                        function myOnExpand(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onExpand: myOnExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onMouseDown.html b/lib/zTree_v3/api/en/setting.callback.onMouseDown.html deleted file mode 100755 index 255469f..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onMouseDown.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onMouseDown

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for mouse down.

                        -

                        If you set 'setting.callback.beforeMouseDown',and return false, zTree will not trigger the 'onMouseDown' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which mouse over

                        -

                        If the DOM which mouse over isn't a node, it will return null.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When mouse down, alert info about 'tId' and 'name'.

                        -
                        function myOnMouseDown(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onMouseDown: myOnMouseDown
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onMouseUp.html b/lib/zTree_v3/api/en/setting.callback.onMouseUp.html deleted file mode 100755 index 84e06a9..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onMouseUp.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onMouseUp

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for mouse up.

                        -

                        If you set 'setting.callback.beforeMouseUp',and return false, zTree will not trigger the 'onMouseUp' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which mouse over

                        -

                        If the DOM which mouse over isn't a node, it will return null.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When mouse up, alert info about 'tId' and 'name'.

                        -
                        function myOnMouseUp(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onMouseUp: myOnMouseUp
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onNodeCreated.html b/lib/zTree_v3/api/en/setting.callback.onNodeCreated.html deleted file mode 100755 index 4e5c8ae..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onNodeCreated.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onNodeCreated

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for node's DOM is created.

                        -

                        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.

                        -

                        Large amount of data to load, please note: do not set onNodeCreated, can improve performance as when initialized.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which DOM is created

                        -
                        -

                        Examples of setting & function

                        -

                        1. When node's DOM is created, alert info about 'tId' and 'name'.

                        -
                        function myOnNodeCreated(event, treeId, treeNode) {
                        -    alert(treeNode.tId + ", " + treeNode.name);
                        -};
                        -var setting = {
                        -	callback: {
                        -		onNodeCreated: myOnNodeCreated
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onRemove.html b/lib/zTree_v3/api/en/setting.callback.onRemove.html deleted file mode 100755 index 37ed1f7..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onRemove.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onRemove

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Callback for remove node.

                        -

                        If you set 'setting.callback.beforeRemove',and return false, zTree will not remove node, and will not trigger the 'onRemove' callback.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which was removed.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When remove node, alert info about 'tId' and 'name'.

                        -
                        function myOnRemove(event, treeId, treeNode) {
                        -	alert(treeNode.tId + ", " + treeNode.name);
                        -}
                        -var setting = {
                        -	callback: {
                        -		onRemove: myOnRemove
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onRename.html b/lib/zTree_v3/api/en/setting.callback.onRename.html deleted file mode 100755 index c83206f..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onRename.html +++ /dev/null @@ -1,40 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode, isCancel)setting.callback.onRename

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Callback for remove node.

                        -

                        1. If you set 'setting.callback.beforeRename',and return false, zTree will keep the editing name, and will not trigger the 'onRename' callback.

                        -

                        2. If you modify treeNode data, and use 'updateNode' function, zTree will not trigger the 'onRename' callback.

                        -

                        3. From v3.5.13, zTree will trigger this callback when user cancel edit name. please see 'isCancel' parameter.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which was rename.

                        -

                        isCancelBoolean

                        -

                        the status about cancel edit name (v3.5.13+)

                        -

                        isCancel = true means: user cancel edit name. (press ESC or use cancelEditName() function)

                        -

                        isCancel = false means: user submit edit name.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When rename node, alert info about 'tId' and 'name'.

                        -
                        function myOnRename(event, treeId, treeNode, isCancel) {
                        -	alert(treeNode.tId + ", " + treeNode.name);
                        -}
                        -var setting = {
                        -	callback: {
                        -		onRename: myOnRename
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.callback.onRightClick.html b/lib/zTree_v3/api/en/setting.callback.onRightClick.html deleted file mode 100755 index 110c952..0000000 --- a/lib/zTree_v3/api/en/setting.callback.onRightClick.html +++ /dev/null @@ -1,36 +0,0 @@ -
                        -
                        -

                        Function(event, treeId, treeNode)setting.callback.onRightClick

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Callback for mouse right click node.

                        -

                        If you set 'setting.callback.beforeRightClick',and return false, zTree will not trigger the 'onRightClick' callback.

                        -

                        If you set 'setting.callback.onRightClick', zTree will shield the browser context menu when mouse right click on zTree.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        eventjs event Object

                        -

                        event Object

                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which is mouse right clicked

                        -

                        If the DOM which mouse right clicked isn't a node, it will return null.

                        -
                        -

                        Examples of setting & function

                        -

                        1. When mouse right click node, alert info about 'tId' and 'name'.

                        -
                        function myOnRightClick(event, treeId, treeNode) {
                        -    alert(treeNode ? treeNode.tId + ", " + treeNode.name : "isRoot");
                        -};
                        -var setting = {
                        -	callback: {
                        -		onRightClick: myOnRightClick
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.autoCheckTrigger.html b/lib/zTree_v3/api/en/setting.check.autoCheckTrigger.html deleted file mode 100755 index b8b04cc..0000000 --- a/lib/zTree_v3/api/en/setting.check.autoCheckTrigger.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.autoCheckTrigger

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        When node is automatically checked or unchecked, this parameter used to set to trigger 'beforeCheck / onCheck' callback. It is valid when [setting.check.enable = true & setting.check.chkStyle = "checkbox"]

                        -

                        1. If you set 'setting.check.chkboxType' to { "Y": "", "N": "" }, will not automatically checked or unchecked.

                        -

                        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.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: trigger callback

                        -

                        false means: don't trigger callback

                        -
                        -

                        Examples of setting

                        -

                        1. When node is automatically checked or unchecked, zTree trigger 'beforeCheck / onCheck' callback.

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		autoCheckTrigger: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.chkDisabledInherit.html b/lib/zTree_v3/api/en/setting.check.chkDisabledInherit.html deleted file mode 100755 index 98d824e..0000000 --- a/lib/zTree_v3/api/en/setting.check.chkDisabledInherit.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.chkDisabledInherit

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        When the parent node's 'chkDisabled' attribute is true, set the child nodes automatically inherit the 'chkDisabled' attribute. It is valid when [setting.check.enable = true]

                        -

                        1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: When add new child nodes, if parent node's 'chkDisabled' attribute is true, the child nodes automatically inherit the 'chkDisabled' attribute.

                        -

                        false means: When add new child nodes, the child nodes don't inherit the 'chkDisabled' attribute from parent node.

                        -
                        -

                        Examples of setting

                        -

                        1. When add new child nodes, the child nodes automatically inherit the 'chkDisabled' attribute from parent node.

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkDisabledInherit: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.chkStyle.html b/lib/zTree_v3/api/en/setting.check.chkStyle.html deleted file mode 100755 index d42e757..0000000 --- a/lib/zTree_v3/api/en/setting.check.chkStyle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        Stringsetting.check.chkStyle

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Use the checkbox or radio. It is valid when [setting.check.enable = true]

                        -

                        Default: "checkbox"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        When chkStyle = "checkbox", zTree show checkbox, and 'setting.check.chkboxType' attribute is valid. -
                        When chkStyle = "radio", zTree show radio, and 'setting.check.radioType' attribute is valid.

                        -

                        Please note that letter case, do not change.

                        -
                        -

                        checkbox States Descriptions

                        -
                        -

                        -
                        -

                        not checked; If node is parent, so its child nodes have been not checked. when mouse over:

                        -

                        not checked; (only parent node) some of its child nodes have been checked. when mouse over:

                        -

                        be checked; If node is parent, so its all child nodes have been checked. when mouse over:

                        -

                        be checked; (only parent node) some of its child nodes or all have been not checked. when mouse over:

                        -
                        -
                        -

                        radio States Descriptions

                        -
                        -

                        -
                        -

                        not checked; If node is parent, so its child have been not checked. when mouse over:

                        -

                        not checked; (only parent node) some of its child have been checked. when mouse over:

                        -

                        be checked; If node is parent, so its child have been not checked. when mouse over:

                        -

                        be checked; (only parent node) some of its child have been checked. when mouse over:

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. use radio

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "radio"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.chkboxType.html b/lib/zTree_v3/api/en/setting.check.chkboxType.html deleted file mode 100755 index 5cecc9e..0000000 --- a/lib/zTree_v3/api/en/setting.check.chkboxType.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        JSONsetting.check.chkboxType

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        When one node is checked or unchecked, control its parent node and its child node auto checked or unchecked. It is valid when [setting.check.enable = true & setting.check.chkStyle = "checkbox"]

                        -

                        Default: { "Y": "ps", "N": "ps" }

                        -
                        -
                        -

                        JSON Format

                        -
                        -

                        "Y" attribute use to set auto check after checkbox was checked. -
                        "N" attribute use to set auto uncheck after checkbox was unchecked. -
                        If value has "p", so parent nodes will be checked or unchecked. -
                        If value has "s", so child nodes will be checked or unchecked.

                        -

                        Please note that letter case, do not change.

                        -
                        -

                        Examples of setting

                        -

                        1. If check the node, so only auto check parent nodes; If uncheck the node, so only auto uncheck child nodes;

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "checkbox",
                        -		chkboxType: { "Y": "p", "N": "s" }
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.enable.html b/lib/zTree_v3/api/en/setting.check.enable.html deleted file mode 100755 index 0236b5f..0000000 --- a/lib/zTree_v3/api/en/setting.check.enable.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.enable

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Set to use checkbox or radio in zTree

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: use the checkbox or radio

                        -

                        false means: don't use the checkbox or radio

                        -
                        -

                        Examples of setting

                        -

                        1. use the checkbox

                        -
                        var setting = {
                        -	check: {
                        -		enable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.nocheckInherit.html b/lib/zTree_v3/api/en/setting.check.nocheckInherit.html deleted file mode 100755 index 758b437..0000000 --- a/lib/zTree_v3/api/en/setting.check.nocheckInherit.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.check.nocheckInherit

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        When the parent node's 'nocheck' attribute is true, set the child nodes automatically inherit the 'nocheck' attribute. It is valid when [setting.check.enable = true]

                        -

                        1. Only be used to initialize the nodes, easy batch operations. Please use the 'updateNode' method modify existing node.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: When add new child nodes, if parent node's 'nocheck' attribute is true, the child nodes automatically inherit the 'nocheck' attribute.

                        -

                        false means: When add new child nodes, the child nodes don't inherit the 'nocheck' attribute from parent node.

                        -
                        -

                        Examples of setting

                        -

                        1. When add new child nodes, the child nodes automatically inherit the 'nocheck' attribute from parent node.

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		nocheckInherit: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.check.radioType.html b/lib/zTree_v3/api/en/setting.check.radioType.html deleted file mode 100755 index be867d7..0000000 --- a/lib/zTree_v3/api/en/setting.check.radioType.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Stringsetting.check.radioType

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        The group about radio. It is valid when [setting.check.enable = true & setting.check.chkStyle = "radio"]

                        -

                        Default: "level"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        When radioType = "level", will be grouped with same level nodes which have the same parent node. -
                        When radioType = "all", will be grouped with all nodes.

                        -

                        Please note that letter case, do not change.

                        -
                        -

                        Examples of setting

                        -

                        1. Set the group about radio is all nodes.

                        -
                        var setting = {
                        -	check: {
                        -		enable: true,
                        -		chkStyle: "radio",
                        -		radioType: "all"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.keep.leaf.html b/lib/zTree_v3/api/en/setting.data.keep.leaf.html deleted file mode 100755 index 71c573e..0000000 --- a/lib/zTree_v3/api/en/setting.data.keep.leaf.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.keep.leaf

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The leaf node's lock, the leaf node will lock the 'isParent' attribute to false.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: lock the leaf node, and the node which 'isParent' attribute is false can't add child nodes.

                        -

                        false means: don't lock the leaf node, and the node which 'isParent' attribute is false can add child nodes.

                        -
                        -

                        Examples of setting

                        -

                        1. lock the leaf node

                        -
                        var setting = {
                        -	data: {
                        -		keep: {
                        -			leaf: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.keep.parent.html b/lib/zTree_v3/api/en/setting.data.keep.parent.html deleted file mode 100755 index 5bab2f1..0000000 --- a/lib/zTree_v3/api/en/setting.data.keep.parent.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.keep.parent

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The parent node's lock, the parent node will lock 'isParent' attribute to true.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: lock the parent node, and if remove all of the parent node's child nodes, its 'isParent' attribute still keep to be true..

                        -

                        false means: don't lock the parent node, and if remove all of the parent node's child nodes, its 'isParent' attribute will change to be false..

                        -
                        -

                        Examples of setting

                        -

                        1. lock the parent node

                        -
                        var setting = {
                        -	data: {
                        -		keep: {
                        -			parent: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.checked.html b/lib/zTree_v3/api/en/setting.data.key.checked.html deleted file mode 100755 index 2678cf2..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.checked.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.checked

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save the checked state.

                        -

                        Default: "checked"

                        -

                        Please don't set the other node attribute which zTree used. (e.g., checkedOld)

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. set the 'isChecked' attribute to save the checked state.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			checked: "isChecked"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.children.html b/lib/zTree_v3/api/en/setting.data.key.children.html deleted file mode 100755 index 321a1a7..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.children.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.children

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save the child nodes.

                        -

                        Default: "children"

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'nodes' attribute to save the child nodes.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			children: "nodes"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.isHidden.html b/lib/zTree_v3/api/en/setting.data.key.isHidden.html deleted file mode 100755 index a275d30..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.isHidden.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.isHidden

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save whether the node is the parent node.

                        -

                        Default: "isHidden"

                        -

                        v3.5.32+

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'hidden' attribute to save whether the node is the parent node.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			isHidden: "hidden"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.isParent.html b/lib/zTree_v3/api/en/setting.data.key.isParent.html deleted file mode 100755 index 37940ca..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.isParent.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.isParent

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save whether the node is the parent node.

                        -

                        Default: "isParent"

                        -

                        v3.5.32+

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'parent' attribute to save whether the node is the parent node.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			isParent: "parent"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.name.html b/lib/zTree_v3/api/en/setting.data.key.name.html deleted file mode 100755 index 0208c55..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.name.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.name

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save the node name.

                        -

                        Default: "name"

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'ename' attribute to save the node name.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			name: "ename"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.title.html b/lib/zTree_v3/api/en/setting.data.key.title.html deleted file mode 100755 index 96540eb..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.title.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.title

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save the 'title' attribute of node DOM. It is valid when [setting.view.showTitle = true]

                        -

                        If set it to "", the title of node DOM will be same as 'setting.data.key.name' attribute.

                        -

                        Default: ""

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'fullName' attribute to save the title of node DOM.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			title: "fullName"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.key.url.html b/lib/zTree_v3/api/en/setting.data.key.url.html deleted file mode 100755 index e9a08ce..0000000 --- a/lib/zTree_v3/api/en/setting.data.key.url.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.key.url

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save the node link's url.

                        -

                        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.

                        -

                        Default: "url"

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the 'xUrl' attribute to save the node link's url.

                        -
                        var setting = {
                        -	data: {
                        -		key: {
                        -			url: "xUrl"
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.simpleData.enable.html b/lib/zTree_v3/api/en/setting.data.simpleData.enable.html deleted file mode 100755 index 9bb56d1..0000000 --- a/lib/zTree_v3/api/en/setting.data.simpleData.enable.html +++ /dev/null @@ -1,39 +0,0 @@ -
                        -
                        -

                        Booleansetting.data.simpleData.enable

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set zTree's node to accept the simple data format, when zTree is initialized or when ajax get / or when use addNodes method.

                        -

                        Don't have to generate the complex nested data.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: zTree's node accept the simple data format.

                        -

                        false means: zTree's node only accept the nested data format.

                        -

                        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.

                        -
                        -

                        Examples of setting

                        -

                        1. use the simple data format

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.simpleData.idKey.html b/lib/zTree_v3/api/en/setting.data.simpleData.idKey.html deleted file mode 100755 index 1216e0c..0000000 --- a/lib/zTree_v3/api/en/setting.data.simpleData.idKey.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.simpleData.idKey

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save node data's unique identifier. It is valid when [setting.data.simpleData.enable = true]

                        -

                        Default: "id"

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. use the simple data format

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.simpleData.pIdKey.html b/lib/zTree_v3/api/en/setting.data.simpleData.pIdKey.html deleted file mode 100755 index 8378c6e..0000000 --- a/lib/zTree_v3/api/en/setting.data.simpleData.pIdKey.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Stringsetting.data.simpleData.pIdKey

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node data's attribute to save its parent node data's unique identifier. It is valid when [setting.data.simpleData.enable = true]

                        -

                        Default: "pId"

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. use the simple data format

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.data.simpleData.rootPId.html b/lib/zTree_v3/api/en/setting.data.simpleData.rootPId.html deleted file mode 100755 index 61c9bbd..0000000 --- a/lib/zTree_v3/api/en/setting.data.simpleData.rootPId.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        String / Numbersetting.data.simpleData.rootPId

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set the default value of root's 'pIdKey' specified attribute values​​. It is valid when [setting.data.simpleData.enable = true]

                        -

                        Default: null

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. use the simple data format

                        -
                        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"}
                        -];
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.autoExpandTrigger.html b/lib/zTree_v3/api/en/setting.edit.drag.autoExpandTrigger.html deleted file mode 100755 index 804ee66..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.autoExpandTrigger.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.autoExpandTrigger

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When drag node cause the parent node is automatically expanded, set whether to allow to trigger the 'onExpand' callback. It is valid when [setting.edit.enable = true]

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: trigger the 'onExpand' callback.

                        -

                        false means: don't trigger the 'onExpand' callback.

                        -
                        -

                        Examples of setting

                        -

                        1. Set to allow to trigger the 'onExpand' callback

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			autoExpandTrigger: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.autoOpenTime.html b/lib/zTree_v3/api/en/setting.edit.drag.autoOpenTime.html deleted file mode 100755 index 74982af..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.autoOpenTime.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.autoOpenTime

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Drag to the parent node, the parent node auto expand time interval. (Unit: ms) It is valid when [setting.edit.enable = true]

                        -

                        Default: 500

                        -

                        Please adjust the value according to needs.

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. When drag node to other parent node, expand it at once.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			autoOpenTime: 0
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.borderMax.html b/lib/zTree_v3/api/en/setting.edit.drag.borderMax.html deleted file mode 100755 index edbb752..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.borderMax.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.borderMax

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When drag a node to root, the zTree's inner border width. (Unit: px) It is valid when [setting.edit.enable = true]

                        -

                        Default: 10

                        -

                        Please adjust the value according to needs.

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. adjust the inner border width is 20px

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			borderMax: 20
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.borderMin.html b/lib/zTree_v3/api/en/setting.edit.drag.borderMin.html deleted file mode 100755 index e845853..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.borderMin.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.borderMin

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When drag a node to root, the zTree's outer border width. (Unit: px) It is valid when [setting.edit.enable = true]

                        -

                        Default: -5

                        -

                        Please adjust the value according to needs.

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. adjust the outer border width is 10px

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			borderMin: -10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.inner.html b/lib/zTree_v3/api/en/setting.edit.drag.inner.html deleted file mode 100755 index 5258e2f..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.inner.html +++ /dev/null @@ -1,60 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.inner

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        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 [setting.edit.enable = true]

                        -

                        If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.

                        -

                        This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, next' together, to achieve full functionality.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: allow the node to be the target node's child.

                        -

                        false means: don't allow the node to be the target node's child.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which has been dragged

                        -

                        targetNodeJSON

                        -

                        JSON data object of the target node which treeNodes are draged over.

                        -

                        If the treeNodes will be root node, the targetNode = null

                        -

                        Return Boolean

                        -

                        return true or false

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to drag the node to the target node's inner.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: true,
                        -			inner: false
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. disable to drag the node to be root node's child.

                        -
                        function canInner(treeId, nodes, targetNode) {
                        -	return !(targetNode && targetNode.level === 0);
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: true,
                        -			inner: canInner
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.isCopy.html b/lib/zTree_v3/api/en/setting.edit.drag.isCopy.html deleted file mode 100755 index 1207d2a..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.isCopy.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.isCopy

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When drag-drop node, set whether to allow to copy node. It is valid when [setting.edit.enable = true]

                        -

                        Default: true

                        -
                        -
                        -

                        Rules Description

                        -
                        -

                        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.

                        -

                        2. If isCopy = true and isMove = false, when drag-drop node, will copy node.

                        -

                        3. If isCopy = false and isMove = true, when drag-drop node, will move node.

                        -

                        4. If isCopy = false and isMove = false, so disable to drag-drop node.

                        -
                        -

                        Examples of setting

                        -

                        1. all of the drag-drop operation will copy node.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			isCopy: true,
                        -			isMove: false
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.isMove.html b/lib/zTree_v3/api/en/setting.edit.drag.isMove.html deleted file mode 100755 index e4a7ca3..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.isMove.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.drag.isMove

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When drag-drop node, set whether to allow to move node. It is valid when [setting.edit.enable = true]

                        -

                        Default: true

                        -
                        -
                        -

                        Rules Description

                        -
                        -

                        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.

                        -

                        2. If isCopy = true and isMove = false, when drag-drop node, will copy node.

                        -

                        3. If isCopy = false and isMove = true, when drag-drop node, will move node.

                        -

                        4. If isCopy = false and isMove = false, so disable to drag-drop node.

                        -
                        -

                        Examples of setting

                        -

                        1. all of the drag-drop operation will move node.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			isCopy: false,
                        -			isMove: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.maxShowNodeNum.html b/lib/zTree_v3/api/en/setting.edit.drag.maxShowNodeNum.html deleted file mode 100755 index dbc3ae4..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.maxShowNodeNum.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.maxShowNodeNum

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        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 [setting.edit.enable = true]

                        -

                        Default: 5

                        -

                        Please adjust the value according to needs.

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the maximum number is 10

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			maxShowNodeNum: 10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.minMoveSize.html b/lib/zTree_v3/api/en/setting.edit.drag.minMoveSize.html deleted file mode 100755 index 8270a99..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.minMoveSize.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Numbersetting.edit.drag.minMoveSize

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        The minimum offset which used to determine the drag operator start. (Unit: px) It is valid when [setting.edit.enable = true]

                        -

                        Please adjust the value according to needs. Note: If it is too small, will easily lead to misoperation when you click mouse.

                        -

                        Default: 5

                        -
                        -
                        -

                        Examples of setting

                        -

                        1. Set the minimum offset is 10px.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			minMoveSize: 10
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.next.html b/lib/zTree_v3/api/en/setting.edit.drag.next.html deleted file mode 100755 index 11323f1..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.next.html +++ /dev/null @@ -1,59 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.next

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        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 [setting.edit.enable = true]

                        -

                        If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.

                        -

                        This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'prev, inner' together, to achieve full functionality.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: allow the node to be the target node's next sibling.

                        -

                        false means: don't allow the node to be the target node's next sibling.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which has been dragged

                        -

                        targetNodeJSON

                        -

                        JSON data object of the target node which treeNodes are draged over.

                        -

                        Return Boolean

                        -

                        return true or false

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to drag the node to the target node's next sibling.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: false,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. disable to drag the node to be all of the parent nodes's next sibling.

                        -
                        function canNext(treeId, nodes, targetNode) {
                        -	return !targetNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: true,
                        -			next: canNext,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.drag.prev.html b/lib/zTree_v3/api/en/setting.edit.drag.prev.html deleted file mode 100755 index 84e3b1a..0000000 --- a/lib/zTree_v3/api/en/setting.edit.drag.prev.html +++ /dev/null @@ -1,59 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNodes, targetNode)setting.edit.drag.prev

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        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 [setting.edit.enable = true]

                        -

                        If the target node is root, so zTree will only trigger 'inner' and not trigger 'prev / next'.

                        -

                        This function mainly for the appropriate limit drag and drop (auxiliary arrow), it requires a combination of 'next, inner' together, to achieve full functionality.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: allow the node to be the target node's previous sibling.

                        -

                        false means: don't allow the node to be the target node's previous sibling.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodesArray(JSON)

                        -

                        A collection of the nodes which has been dragged

                        -

                        targetNodeJSON

                        -

                        JSON data object of the target node which treeNodes are draged over.

                        -

                        Return Boolean

                        -

                        return true or false

                        -
                        -

                        Examples of setting & function

                        -

                        1. disable to drag the node to the target node's previous sibling.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: false,
                        -			next: true,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -

                        2. disable to drag the node to be all of the parent nodes's previous sibling.

                        -
                        function canPrev(treeId, nodes, targetNode) {
                        -	return !targetNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		drag: {
                        -			prev: canPrev,
                        -			next: true,
                        -			inner: true
                        -		}
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.editNameSelectAll.html b/lib/zTree_v3/api/en/setting.edit.editNameSelectAll.html deleted file mode 100755 index a030359..0000000 --- a/lib/zTree_v3/api/en/setting.edit.editNameSelectAll.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.editNameSelectAll

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        When edit node's name, the text in input is selected or unselected. It is valid when [setting.edit.enable = true]

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: when show the input, the text in input is selected

                        -

                        false means: when show the input, the text in input is not selected

                        -
                        -

                        Examples of setting

                        -

                        1. When edit node's name, the text in input is selected.

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		editNameSelectAll: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.enable.html b/lib/zTree_v3/api/en/setting.edit.enable.html deleted file mode 100755 index ec9d2b3..0000000 --- a/lib/zTree_v3/api/en/setting.edit.enable.html +++ /dev/null @@ -1,39 +0,0 @@ -
                        -
                        -

                        Booleansetting.edit.enable

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Set zTree is in edit mode

                        -

                        Please set this attribute before zTree initialization. If you need to change the edit mode after the initialization, please use zTreeObj.setEditable() method.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: zTree is in edit mode.

                        -

                        false means: zTree is not in edit mode.

                        -
                        -

                        Editing Rules Description

                        -
                        -

                        1. When click the node, it will not open 'node.url' specified URL. -
                        2. Support for dynamic tree editing. -
                        3. You can drag-drop nodes, and support drag-drop nodes between multiple trees. -
                        4. Support use drag-drop to copy or move the node. (Reference: setting.edit.drag.isCopy / setting.edit.drag.isMove) -
                        5. You can use the Edit button to modify the name attribute. -
                        6. You can use the Remove button to remove the node. -
                        -

                        -

                        Please note that letter case, do not change.

                        -
                        -

                        Examples of setting

                        -

                        1. edit the tree

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.removeTitle.html b/lib/zTree_v3/api/en/setting.edit.removeTitle.html deleted file mode 100755 index d749c05..0000000 --- a/lib/zTree_v3/api/en/setting.edit.removeTitle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.edit.removeTitle

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        the title of the remove button DOM. It is valid when [setting.edit.enable = true & setting.edit.showRemoveBtn = true]

                        -

                        Default: "remove"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        When the mouse over the remove button, the browser auto pop-up message content.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which show the remove button

                        -

                        Return String

                        -

                        Return value is same as 'String Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Set title is 'remove the node' about all the remove button

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: true,
                        -		removeTitle: "remove the node"
                        -	}
                        -};
                        -......
                        -

                        2. Set title is 'remove the parent node' about the parent node, and is 'remove the leaf node' about the leaf node

                        -
                        function setRemoveTitle(treeId, treeNode) {
                        -	return treeNode.isParent ? "remove the parent node":"remove the leaf node";
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: true,
                        -		removeTitle: setRemoveTitle
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.renameTitle.html b/lib/zTree_v3/api/en/setting.edit.renameTitle.html deleted file mode 100755 index aa2d719..0000000 --- a/lib/zTree_v3/api/en/setting.edit.renameTitle.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        String / Function(treeId, treeNode)setting.edit.renameTitle

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        the title of the rename button DOM. It is valid when [setting.edit.enable = true & setting.edit.showRenameBtn = true]

                        -

                        Default: "rename"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        When the mouse over the rename button, the browser auto pop-up message content.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which show the rename button

                        -

                        Return String

                        -

                        return value is same as 'String Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Set title is 'rename the node' about all the rename button

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: true,
                        -		renameTitle: "rename the node"
                        -	}
                        -};
                        -......
                        -

                        2. Set title is 'rename the parent node' about the parent node, and is 'rename the leaf node' about the leaf node

                        -
                        function setRenameTitle(treeId, treeNode) {
                        -	return treeNode.isParent ? "rename the parent node":"rename the leaf node";
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: true,
                        -		renameTitle: setRenameTitle
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.showRemoveBtn.html b/lib/zTree_v3/api/en/setting.edit.showRemoveBtn.html deleted file mode 100755 index 2c64ac1..0000000 --- a/lib/zTree_v3/api/en/setting.edit.showRemoveBtn.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.edit.showRemoveBtn

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Set to show or hide the remove button. It is valid when [setting.edit.enable = true]

                        -

                        When you click the remove button:

                        -

                        1. zTree will trigger the setting.callback.beforeRemove callback, and you can decide whether to allow delete.

                        -

                        2. If you don't set the 'beforeRemove' or the 'beforeRemove' callback return true, so zTree will trigger the setting.callback.onRemove callback after remove the node.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: show the remove button

                        -

                        false means: hide the remove button

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which show the remove button

                        -

                        Return Boolean

                        -

                        Return value is same as 'Boolean Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Hide the remove button

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: false
                        -	}
                        -};
                        -......
                        -

                        2. Hide the remove button of parent node

                        -
                        function setRemoveBtn(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRemoveBtn: setRemoveBtn
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.edit.showRenameBtn.html b/lib/zTree_v3/api/en/setting.edit.showRenameBtn.html deleted file mode 100755 index 390f0a1..0000000 --- a/lib/zTree_v3/api/en/setting.edit.showRenameBtn.html +++ /dev/null @@ -1,52 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.edit.showRenameBtn

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Set to show or hide the rename button. It is valid when [setting.edit.enable = true]

                        -

                        When you click the rename button:

                        -

                        1. Click the rename button, you can rename the node.

                        -

                        2. After rename operation (the input DOM blur or press the Enter Key), zTree will trigger the setting.callback.beforeRename callback, and you can decide whether to allow rename.

                        -

                        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.

                        -

                        4. If you don't set the 'beforeRename' or the 'beforeRename' callback return true, so zTree will trigger the setting.callback.onRename callback after rename the node.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: show the rename button

                        -

                        false means: hide the rename button

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which show the rename button

                        -

                        Return Boolean

                        -

                        Return value is same as 'Boolean Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Hide the rename button

                        -
                        var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: false
                        -	}
                        -};
                        -......
                        -

                        2. Hide the rename button of parent node

                        -
                        function setRenameBtn(treeId, treeNode) {
                        -	return !treeNode.isParent;
                        -}
                        -var setting = {
                        -	edit: {
                        -		enable: true,
                        -		showRenameBtn: setRenameBtn
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.treeId.html b/lib/zTree_v3/api/en/setting.treeId.html deleted file mode 100755 index e4b04b3..0000000 --- a/lib/zTree_v3/api/en/setting.treeId.html +++ /dev/null @@ -1,14 +0,0 @@ -
                        -
                        -

                        Stringsetting.treeId

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        zTree unique identifier. After the initialization, it equals to the id attribute value of the user-defined zTree container.

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -
                        -
                        - -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.treeObj.html b/lib/zTree_v3/api/en/setting.treeObj.html deleted file mode 100755 index 30eb66c..0000000 --- a/lib/zTree_v3/api/en/setting.treeObj.html +++ /dev/null @@ -1,14 +0,0 @@ -
                        -
                        -

                        Objectsetting.treeObj

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        zTree DOM's jQuery object, the main function: easy to internal operations.

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -
                        -
                        - -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.addDiyDom.html b/lib/zTree_v3/api/en/setting.view.addDiyDom.html deleted file mode 100755 index efcc8d4..0000000 --- a/lib/zTree_v3/api/en/setting.view.addDiyDom.html +++ /dev/null @@ -1,40 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.addDiyDom

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        This function used to display the custom control on the node.

                        -

                        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.

                        -

                        2. This function is an advanced application, please make sure that a better understanding of zTree before you use it.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which display the custom control.

                        -
                        -

                        Examples of setting & function

                        -

                        1. Display button in all nodes.

                        -
                        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);});
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.addHoverDom.html b/lib/zTree_v3/api/en/setting.view.addHoverDom.html deleted file mode 100755 index 9c6ccf6..0000000 --- a/lib/zTree_v3/api/en/setting.view.addHoverDom.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.addHoverDom

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to display custom control when mouse move over the node. (e.g. the rename and remove button)

                        -

                        If you use this function, so must set setting.view.removeHoverDom, please make sure that a better understanding of zTree before you use it.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to display the custom control.

                        -
                        -

                        Examples of setting & function

                        -

                        1. Display a button when mouse move over the node, and hide the button when mouse move out.

                        -
                        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();
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.autoCancelSelected.html b/lib/zTree_v3/api/en/setting.view.autoCancelSelected.html deleted file mode 100755 index 44ab90d..0000000 --- a/lib/zTree_v3/api/en/setting.view.autoCancelSelected.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.autoCancelSelected

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        When click the selected node while pressing the Ctrl-key or Cmd-key, allow to cancel selected the node.

                        -

                        If you don't need this function, please set to false.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: press the Ctrl-key or Cmd-key, can cancel selected node.

                        -

                        false means: press the Ctrl-key or Cmd-key, can't cancel selected node.

                        -
                        -

                        Examples of setting

                        -

                        1. Press the Ctrl-key or Cmd-key, can't cancel selected node.

                        -
                        var setting = {
                        -	view: {
                        -		autoCancelSelected: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.dblClickExpand.html b/lib/zTree_v3/api/en/setting.view.dblClickExpand.html deleted file mode 100755 index 210dfec..0000000 --- a/lib/zTree_v3/api/en/setting.view.dblClickExpand.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.dblClickExpand

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        When double-click the parent node, 'dblClickExpand' is used to decide whether to expand the parent node.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: When double-click the parent node, zTree will expand the parent node.

                        -

                        false means: When double-click the parent node, zTree will not expand the parent node.

                        -
                        -

                        Function Pamameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which be double-clicked.

                        -

                        Return Boolean

                        -

                        Return value is same as 'Boolean Format'

                        -
                        -

                        Example of setting

                        -

                        1. When double-click the parent node, zTree will not expand the parent node.

                        -
                        var setting = {
                        -	view: {
                        -		dblClickExpand: false
                        -	}
                        -};
                        -......
                        -

                        2. When double-click the parent node, zTree will expand the parent node which level>0.

                        -
                        function dblClickExpand(treeId, treeNode) {
                        -	return treeNode.level > 0;
                        -};
                        -var setting = {
                        -	view: {
                        -		dblClickExpand: dblClickExpand
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.expandSpeed.html b/lib/zTree_v3/api/en/setting.view.expandSpeed.html deleted file mode 100755 index 1911e74..0000000 --- a/lib/zTree_v3/api/en/setting.view.expandSpeed.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        String / Numbersetting.view.expandSpeed

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The animation speed of expand or collapse node. As same as 'speed' parameter in jQuery

                        -

                        In order to ensure zTree operating speed, if use the IE6, zTree will not use animation.

                        -

                        Default: "fast"

                        -
                        -
                        -

                        String Format

                        -
                        -

                        e.g. "slow", "normal", or "fast"

                        -

                        If set to "", zTree will not use animation.

                        -
                        -

                        Number Format

                        -
                        -

                        How long the animation will run. [Unit: ms] (e.g. 1000)

                        -
                        -

                        Examples of setting

                        -

                        1. Set the animation speed to slow

                        -
                        var setting = {
                        -	view: {
                        -		expandSpeed: "slow"
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.fontCss.html b/lib/zTree_v3/api/en/setting.view.fontCss.html deleted file mode 100755 index 02bddea..0000000 --- a/lib/zTree_v3/api/en/setting.view.fontCss.html +++ /dev/null @@ -1,42 +0,0 @@ -
                        -
                        -

                        JSON / Function(treeId, treeNode)setting.view.fontCss

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Personalized text style, only applies to <A> object in the node DOM

                        -

                        Default: {}

                        -
                        -
                        -

                        JSON Format

                        -
                        -

                        As same as .css() method in jQuery. e.g. {color:"#ff0011", background:"blue"}

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which use the personalized text style

                        -

                        Return JSON

                        -

                        Return value is same as 'JSON Format'. e.g. {color:"#ff0011", background:"blue"}

                        -
                        -

                        Examples of setting & function

                        -

                        1. Don't modify css file, and set the node name's color to red

                        -
                        var setting = {
                        -	view: {
                        -		fontCss : {color:"red"}
                        -	}
                        -};
                        -

                        2. Don't modify css file, and set the root node name's color to red

                        -
                        function setFontCss(treeId, treeNode) {
                        -	return treeNode.level == 0 ? {color:"red"} : {};
                        -};
                        -var setting = {
                        -	view: {
                        -		fontCss: setFontCss
                        -	}
                        -};
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.nameIsHTML.html b/lib/zTree_v3/api/en/setting.view.nameIsHTML.html deleted file mode 100755 index 4fe19ad..0000000 --- a/lib/zTree_v3/api/en/setting.view.nameIsHTML.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.nameIsHTML

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set to use HTML in 'name' attribute.

                        -

                        If allow HTML, please do check to avoid security issues, e.g. JavaScript Injection...

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: 'name' attribute can be HTML.

                        -

                        false means: 'name' attribute is only TEXT.

                        -
                        -

                        Examples of setting

                        -

                        1. Set to allow HTML

                        -
                        var setting = {
                        -	view: {
                        -		nameIsHTML: true
                        -	}
                        -};
                        -var node = {"name":"<font color='red'>test</font>"};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.removeHoverDom.html b/lib/zTree_v3/api/en/setting.view.removeHoverDom.html deleted file mode 100755 index 83f8047..0000000 --- a/lib/zTree_v3/api/en/setting.view.removeHoverDom.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Function(treeId, treeNode)setting.view.removeHoverDom

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to hide custom control when mouse move out the node. (e.g. the rename and remove button)

                        -

                        If you use this function, so must set setting.view.addHoverDom, please make sure that a better understanding of zTree before you use it.

                        -

                        Default: null

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to hide the custom control.

                        -
                        -

                        Examples of setting & function

                        -

                        1. Display a button when mouse move over the node, and hide the button when mouse move out.

                        -
                        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();
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.selectedMulti.html b/lib/zTree_v3/api/en/setting.view.selectedMulti.html deleted file mode 100755 index 074fb68..0000000 --- a/lib/zTree_v3/api/en/setting.view.selectedMulti.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.selectedMulti

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set whether to allow select multiple nodes.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true mean: you can select multiple nodes.

                        -

                        false mean: you can only select one node.

                        -

                        1. Press Ctrl-key or Cmd-key, you can select multiple nodes.

                        -

                        2、This attribute don't affect the feature of cancel select node. ( please see setting.view.autoCancelSelected )

                        -
                        -

                        Examples of setting

                        -

                        1. Only select one node.

                        -
                        var setting = {
                        -	view: {
                        -		selectedMulti: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.showIcon.html b/lib/zTree_v3/api/en/setting.view.showIcon.html deleted file mode 100755 index 69f1b05..0000000 --- a/lib/zTree_v3/api/en/setting.view.showIcon.html +++ /dev/null @@ -1,45 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.showIcon

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set to show or hide node icon.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: show node icon.

                        -

                        false means: hide node icon.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to show icon.

                        -

                        Return Boolean

                        -

                        Return value is same as 'Boolean Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Hide node icon

                        -
                        var setting = {
                        -	view: {
                        -		showIcon: false
                        -	}
                        -};
                        -......
                        -

                        2. Hide node icon which level=2

                        -
                        function showIconForTree(treeId, treeNode) {
                        -	return treeNode.level != 2;
                        -};
                        -var setting = {
                        -	view: {
                        -		showIcon: showIconForTree
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.showLine.html b/lib/zTree_v3/api/en/setting.view.showLine.html deleted file mode 100755 index a554014..0000000 --- a/lib/zTree_v3/api/en/setting.view.showLine.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.showLine

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set to show or hide line.

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: show line.

                        -

                        false means: hide line.

                        -
                        -

                        Examples of setting

                        -

                        1. Hide line

                        -
                        var setting = {
                        -	view: {
                        -		showLine: false
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.showTitle.html b/lib/zTree_v3/api/en/setting.view.showTitle.html deleted file mode 100755 index 8af6984..0000000 --- a/lib/zTree_v3/api/en/setting.view.showTitle.html +++ /dev/null @@ -1,47 +0,0 @@ -
                        -
                        -

                        Boolean / Function(treeId, treeNode)setting.view.showTitle

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set to show or hide the 'title' attribute of node DOM.

                        -

                        Please see the setting.data.key.title attribute

                        -

                        Default: true

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: show the 'title' attribute of node DOM.

                        -

                        false means: hide the 'title' attribute of node DOM.

                        -

                        When setting.view.showTitle = true & setting.data.key.title = '', zTree will set the 'setting.data.key.name' attribute to the 'setting.data.key.title'.

                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeIdString

                        -

                        zTree unique identifier: treeId.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to show title.

                        -

                        Return Boolean

                        -

                        Return value is same as 'Boolean Format'

                        -
                        -

                        Examples of setting & function

                        -

                        1. Hide the 'title' attribute of node DOM.

                        -
                        var setting = {
                        -	view: {
                        -		showTitle: false
                        -	}
                        -};
                        -......
                        -

                        2. Hide the 'title' attribute of node DOM which level=2.

                        -
                        function showTitleForTree(treeId, treeNode) {
                        -	return treeNode.level != 2;
                        -};
                        -var setting = {
                        -	view: {
                        -		showTitle: showTitleForTree
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/setting.view.txtSelectedEnable.html b/lib/zTree_v3/api/en/setting.view.txtSelectedEnable.html deleted file mode 100755 index a380930..0000000 --- a/lib/zTree_v3/api/en/setting.view.txtSelectedEnable.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Booleansetting.view.txtSelectedEnable

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Set to allow or don't allow to select the text which in zTree's DOM.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: Allow to select the txt which in zTree's DOM.

                        -

                        false means: Don't allow to select the txt which in zTree's DOM.

                        -
                        -

                        Examples of setting & function

                        -

                        1. Allow to select the txt which in zTree's DOM.

                        -
                        var setting = {
                        -	view: {
                        -		txtSelectedEnable: true
                        -	}
                        -};
                        -......
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.check_Child_State.html b/lib/zTree_v3/api/en/treeNode.check_Child_State.html deleted file mode 100755 index 48efb79..0000000 --- a/lib/zTree_v3/api/en/treeNode.check_Child_State.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        NumbertreeNode.check_Child_State

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Used to record the node's half-checked state about its all child nodes's checkbox or radio. It is valid when [setting.check.enable = true]

                        -

                        zTree v3.x provides treeNode.getCheckStatus () method to get an accurate the half-checked status.

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -

                        Default: true

                        -
                        -
                        -

                        Number Format

                        -
                        -

                        Rules:

                        - - - - - - - - - - - -
                        setting.check.checkType = "checkbox"
                        treeNode.check_Child_StateChecked Status Description
                        -1Has no child nodes or all child nodes's 'nocheck' attribute is true.
                        0All of the child nodes has not been checked.
                        1Some of the child nodes has been checked.
                        2All of the child nodes has been checked.
                        -
                        - - - - - - - - - - -
                        setting.check.checkType = "radio"
                        treeNode.check_Child_StateChecked Status Description
                        -1Has no child nodes or all child nodes's 'nocheck' attribute is true.
                        0All of the child nodes has not been checked.
                        2Some of the child nodes has been checked.
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.check_Focus.html b/lib/zTree_v3/api/en/treeNode.check_Focus.html deleted file mode 100755 index 77b7359..0000000 --- a/lib/zTree_v3/api/en/treeNode.check_Focus.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.check_Focus

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Used to record the status which the checkbox or radio get focus. It is valid when [setting.check.enable = true]

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: mouse move over the checkbox

                        -

                        false means: mouse move out the checkbox

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.checked.html b/lib/zTree_v3/api/en/treeNode.checked.html deleted file mode 100755 index 8a55f3d..0000000 --- a/lib/zTree_v3/api/en/treeNode.checked.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.checked

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        The checked status about node's checkbox or radio. It is valid when [setting.check.enable = true & treeNode.nocheck = false]

                        -

                        1. If change the 'checked' to other attribute, please set the 'setting.data.key.checked' attribute.

                        -

                        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.

                        -

                        3. Use the treeObj.checkNode or checkAllNodes or updateNode method, you can check or uncheck the node. Please see the API about these methods.

                        -

                        4. zTree support identification string 'true' & 'false'.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: check the checkbox or radio when zTree is initialized.

                        -

                        false means: uncheck the checkbox or radio when zTree is initialized.

                        -
                        -

                        Examples of treeNode

                        -

                        1. check the checkbox when zTree is initialized

                        -
                        var nodes = [
                        -{ "id":1, "name":"test1", checked:true },
                        -{ "id":2, "name":"test2", checked:true }
                        -]
                        -

                        2. Get the checked status of the first root node

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var checked = treeObj.getNodes()[0].checked;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.checkedOld.html b/lib/zTree_v3/api/en/treeNode.checkedOld.html deleted file mode 100755 index ee51626..0000000 --- a/lib/zTree_v3/api/en/treeNode.checkedOld.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.checkedOld

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        The checked status about node's checkbox or radio when zTree was initialized. It is valid when [setting.check.enable = true & treeNode.nocheck = false]

                        -

                        1. Do not initialize it, it will be initialized when the node is initialized.

                        -

                        2. If you need to achieve special features, you can use the zTreeObj.getChangeCheckedNodes method and modify the value of 'checkedOld' attribute.

                        -

                        Default: the value of 'checked' attribute when zTree is initialized

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the checkbox or radio is checked when zTree is initialized.

                        -

                        false means: the checkbox or radio is not checked when zTree is initialized.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the original checked status of the first root node

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var checkedOld = treeObj.getNodes()[0].checkedOld;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.children.html b/lib/zTree_v3/api/en/treeNode.children.html deleted file mode 100755 index d765bb9..0000000 --- a/lib/zTree_v3/api/en/treeNode.children.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Array(JSON)treeNode.children

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The data collections of node's child nodes.

                        -

                        1. If change the 'children' to other attribute, please set the 'setting.data.key.children' attribute.

                        -

                        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.

                        -

                        Default: undefined

                        -
                        -
                        -

                        Array(JSON) Format

                        -
                        -

                        Standard JSON Data object

                        -
                        -

                        Examples of treeNode

                        -

                        1. Use the standard JSON data object.

                        -
                        var nodes = [
                        -{ "id":1, "name":"test1",
                        -	children: [
                        -	{ "id":3, "name":"test3"},
                        -	{ "id":4, "name":"test4"},
                        -	{ "id":5, "name":"test5"}
                        -	]
                        -},
                        -{ "id":2, "name":"test2"  }
                        -]
                        -

                        2. Get the first root node's child nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes()[0].children;
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.chkDisabled.html b/lib/zTree_v3/api/en/treeNode.chkDisabled.html deleted file mode 100755 index 7a5fcf3..0000000 --- a/lib/zTree_v3/api/en/treeNode.chkDisabled.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.chkDisabled

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        1. Set node's checkbox / radio to disabled. It is valid when [setting.check.enable = true]

                        -

                        2. zTree support identification string 'true' & 'false'.

                        -

                        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.

                        -

                        4. When zTree initialize the nodes, if you need to the child nodes automatically inherit the 'chkDisabled' attribute, please see 'setting.check.chkDisabledInherit'.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: this node's checkbox / radio is disabled.

                        -

                        false means: this node's checkbox / radio is able.

                        -
                        -

                        Examples of treeNode

                        -

                        1. disable some node's checkbox / radio

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "checked":true, "chkDisabled":true},
                        -	{ "id":2, "name":"test2", "chkDisabled":true},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.click.html b/lib/zTree_v3/api/en/treeNode.click.html deleted file mode 100755 index 1f9db62..0000000 --- a/lib/zTree_v3/api/en/treeNode.click.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        StringtreeNode.click

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Simple click event operations. As same as : (onclick ="...") the code. If the operation is more complex, please use the onClick callback.

                        -

                        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.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        Standard javascript syntax, for example: alert ("test"); etc.

                        -
                        -

                        Examples of treeNode

                        -

                        1. When click this node, will alert msg.

                        -
                        var nodes = [
                        -	{ "id":1, "name":"Google CN", "url":"http://g.cn", "click":"alert('test');"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.diy.html b/lib/zTree_v3/api/en/treeNode.diy.html deleted file mode 100755 index 68c39ba..0000000 --- a/lib/zTree_v3/api/en/treeNode.diy.html +++ /dev/null @@ -1,15 +0,0 @@ -
                        -
                        -

                        ?treeNode.* DIY *

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to save other custom data of node, do not use the same attribute name with ztree used, the user can freely set.

                        -
                        -
                        -

                        Examples of treeNode

                        -

                        1. Use 'ename' attribute to save more info

                        -
                        var node = { "id":1, "name":"test1", "ename":"test eName"};
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.editNameFlag.html b/lib/zTree_v3/api/en/treeNode.editNameFlag.html deleted file mode 100755 index f60ef2a..0000000 --- a/lib/zTree_v3/api/en/treeNode.editNameFlag.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.editNameFlag

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to save the node editing name status. It is valid when [setting.edit.enable = true]

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: node is being edited.

                        -

                        false means: node is not being edited.

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getCheckStatus.html b/lib/zTree_v3/api/en/treeNode.getCheckStatus.html deleted file mode 100755 index 3c9a2e6..0000000 --- a/lib/zTree_v3/api/en/treeNode.getCheckStatus.html +++ /dev/null @@ -1,63 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getCheckStatus

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Get the node's half-checked status of checkbox or radio. It is valid when [setting.check.enable = true]

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnJSON

                        -
                        {
                        -	checked: true, //As same as 'treeNode.checked'
                        -	half: true  //Rule the table below
                        -}
                        - - - - - - - - - - - - - - - - - - -
                        setting.check.checkType = "checkbox"
                        treeNode.checkedtreeNode.check_Child_StatetreeNode.halfCheck half
                        --truetrue
                         
                        true-1falsefalse
                        true0falsetrue
                        true1falsetrue
                        true2falsefalse
                         
                        false-1falsefalse
                        false0falsefalse
                        false1falsetrue
                        false2falsetrue
                        -
                        - - - - - - - - - - - - - - - - -
                        setting.check.checkType = "radio"
                        treeNode.checkedtreeNode.check_Child_StatetreeNode.halfCheck half
                        --truetrue
                         
                        true-1falsefalse
                        true0falsefalse
                        true2falsetrue
                         
                        false-1falsefalse
                        false0falsefalse
                        false2falsetrue
                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first root node's half-checked status

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var halfCheck = treeObj.getNodes()[0].getCheckStatus();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getIndex.html b/lib/zTree_v3/api/en/treeNode.getIndex.html deleted file mode 100755 index 2c31cfe..0000000 --- a/lib/zTree_v3/api/en/treeNode.getIndex.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getIndex

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the treeNode's index in its parent node's children.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnNumber

                        -

                        the treeNode's index in its parent node's children. ( start at 0 )

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's index.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getIndex();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getNextNode.html b/lib/zTree_v3/api/en/treeNode.getNextNode.html deleted file mode 100755 index 755aa6e..0000000 --- a/lib/zTree_v3/api/en/treeNode.getNextNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getNextNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the treeNode's next sibling node.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnJSON

                        -

                        JSON data object of the treeNode's next sibling node

                        -

                        If have not the next node, return null.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's next sibling node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getNextNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getParentNode.html b/lib/zTree_v3/api/en/treeNode.getParentNode.html deleted file mode 100755 index 16bab30..0000000 --- a/lib/zTree_v3/api/en/treeNode.getParentNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getParentNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the treeNode's parent node.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnJSON

                        -

                        JSON data object of treeNode's parent node.

                        -

                        If treeNode is root, return null.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's parent node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getParentNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getPath.html b/lib/zTree_v3/api/en/treeNode.getPath.html deleted file mode 100755 index 5f81676..0000000 --- a/lib/zTree_v3/api/en/treeNode.getPath.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getPath

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the treeNode's all parent nodes. (Include itself)

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnArray (JSON)

                        -

                        Array of treeNode's all parent nodes. (Include itself)

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's all parent nodes.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getPath();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.getPreNode.html b/lib/zTree_v3/api/en/treeNode.getPreNode.html deleted file mode 100755 index f6745b1..0000000 --- a/lib/zTree_v3/api/en/treeNode.getPreNode.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function()treeNode.getPreNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the treeNode's previous sibling node.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        ReturnJSON

                        -

                        JSON data object of the treeNode's previous sibling node

                        -

                        If have not the previous node, return null.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's previous sibling node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var node = sNodes[0].getPreNode();
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.halfCheck.html b/lib/zTree_v3/api/en/treeNode.halfCheck.html deleted file mode 100755 index 8375326..0000000 --- a/lib/zTree_v3/api/en/treeNode.halfCheck.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.halfCheck

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Force node checkBox / radio to the half-checked status. It is valid when [setting.check.enable = true & treeNode.nocheck = false]

                        -

                        1. If you force to the half-checked status, zTree will not automatically calculated the half-checked status about this node.

                        -

                        2. Until you set treeNode.halfCheck to false or null, zTree will automatically calculated the half-checked status about this node.

                        -

                        3. zTree support identification string 'true' & 'false'.

                        -

                        Defaul: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the checkbox or radio is half-checked when zTree is initialized.

                        -

                        false means: the half-checked status will be automatically calculated

                        -
                        -

                        Examples of treeNode

                        -

                        1. set the half-checked status when zTree is initialized

                        -
                        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 }
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.icon.html b/lib/zTree_v3/api/en/treeNode.icon.html deleted file mode 100755 index 4e1c99f..0000000 --- a/lib/zTree_v3/api/en/treeNode.icon.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.icon

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        URL path of node's custom icon.

                        -

                        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.

                        -

                        2. If you need to show two icons when it is expanded or collapsed, please set the 'treeNode.iconOpen' and 'treeNode.iconClose' attribute.

                        -

                        3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        Icon image url can be a relative path or absolute path.

                        -

                        If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Set the custom icon

                        -
                        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"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.iconClose.html b/lib/zTree_v3/api/en/treeNode.iconClose.html deleted file mode 100755 index 2259e8f..0000000 --- a/lib/zTree_v3/api/en/treeNode.iconClose.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconClose

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        URL path of parent node's custom icon when it is collapsed.

                        -

                        1. Only parent node support this attribute.

                        -

                        2. This attribute must be used simultaneously with 'iconOpen' attribute.

                        -

                        3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        Icon image url can be a relative path or absolute path.

                        -

                        If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Set the custom icon

                        -
                        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"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.iconOpen.html b/lib/zTree_v3/api/en/treeNode.iconOpen.html deleted file mode 100755 index 3203615..0000000 --- a/lib/zTree_v3/api/en/treeNode.iconOpen.html +++ /dev/null @@ -1,33 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconOpen

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        URL path of parent node's custom icon when it is expanded.

                        -

                        1. Only parent node support this attribute.

                        -

                        2. This attribute must be used simultaneously with 'iconClose' attribute.

                        -

                        3. If you need to use css to set the custom icon, please set the 'treeNode.iconSkin' attribute.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        Icon image url can be a relative path or absolute path.

                        -

                        If use a relative path, please note the relationship between icon image and the page, ensure the correct image path.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Set the custom icon

                        -
                        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"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.iconSkin.html b/lib/zTree_v3/api/en/treeNode.iconSkin.html deleted file mode 100755 index fca7fbf..0000000 --- a/lib/zTree_v3/api/en/treeNode.iconSkin.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        StringtreeNode.iconSkin

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The className of node's custom icon.

                        -

                        1. You need to modify the css, add the definition of className.

                        -

                        2. The css is simple, convenient, and support the parent node to switch icons when it is expanded or collapsed.

                        -

                        3. Recommend the use of CSS Sprites, can reduce repeating load the image, to avoid image flicker.

                        -

                        4. The 'iconSkin' support IE6 in zTree v3.x.

                        -

                        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.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        The string about custom icon's className.

                        -
                        -

                        Examples of css & treeNode

                        -

                        1. Set the custom icon

                        -
                        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"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isAjaxing.html b/lib/zTree_v3/api/en/treeNode.isAjaxing.html deleted file mode 100755 index ddadf41..0000000 --- a/lib/zTree_v3/api/en/treeNode.isAjaxing.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isAjaxing

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Judge whether the node's child nodes being loaded asynchronously.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node's child nodes is being loaded asynchronously

                        -

                        false means: the node's child nodes is not being loaded asynchronously

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first selected node's child nodes being loaded asynchronously

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isAjaxing = sNodes[0].isAjaxing;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isFirstNode.html b/lib/zTree_v3/api/en/treeNode.isFirstNode.html deleted file mode 100755 index a8ee61c..0000000 --- a/lib/zTree_v3/api/en/treeNode.isFirstNode.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isFirstNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Judge whether the node is the sibling nodes's first node.

                        -

                        If you use the 'exhide' pack, so this attribute will only support the node which be shown.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node is first node.

                        -

                        false means: the node is not first node.

                        -

                        If the node has been hidden, isFirstNode = false

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first selected node is the sibling nodes's first node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isFirstNode = sNodes[0].isFirstNode;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isHidden.html b/lib/zTree_v3/api/en/treeNode.isHidden.html deleted file mode 100755 index 3a07b94..0000000 --- a/lib/zTree_v3/api/en/treeNode.isHidden.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isHidden

                        -

                        Overview[ depends on jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        Judge whether the node has been hidden.

                        -

                        1. When initialize zTree, the nodes which be set 'isHidden = true' will be hidden.

                        -

                        -

                        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.

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: this node is hidden.

                        -

                        false means: this node is shown.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first root node has been hidden.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getNodes();
                        -if (sNodes.length > 0) {
                        -	var isHidden = sNodes[0].isHidden;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isHover.html b/lib/zTree_v3/api/en/treeNode.isHover.html deleted file mode 100755 index e18ed0c..0000000 --- a/lib/zTree_v3/api/en/treeNode.isHover.html +++ /dev/null @@ -1,19 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isHover

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Used to record the hover status of node's DOM. For 'setting.view.addHoverDom / removeHoverDom'.

                        -

                        Do not initialize or modify it, it is an internal argument.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node's DOM is in hover.

                        -

                        false means: the node's DOM is not in hover.

                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isLastNode.html b/lib/zTree_v3/api/en/treeNode.isLastNode.html deleted file mode 100755 index cd2ca26..0000000 --- a/lib/zTree_v3/api/en/treeNode.isLastNode.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isLastNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Judge whether the node is the sibling nodes's last node.

                        -

                        If you use the 'exhide' pack, so this attribute will only support the node which be shown.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node is last node.

                        -

                        false means: the node is not last node.

                        -

                        If the node has been hidden, isLastNode = false

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first selected node is the sibling nodes's last node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isLastNode = sNodes[0].isLastNode;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.isParent.html b/lib/zTree_v3/api/en/treeNode.isParent.html deleted file mode 100755 index dad4b81..0000000 --- a/lib/zTree_v3/api/en/treeNode.isParent.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.isParent

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Judge whether the node is the parent node.

                        -

                        1. When zTree initialize the node data, the node which has children is set to true, otherwise false.

                        -

                        2. When zTree initialize the node data, if set treeNode.isParent to true, the node will be set to be parent node.

                        -

                        3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node is parent node.

                        -

                        false means: the node is not parent node.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first selected node is the parent node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isParent = sNodes[0].isParent;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.level.html b/lib/zTree_v3/api/en/treeNode.level.html deleted file mode 100755 index d151162..0000000 --- a/lib/zTree_v3/api/en/treeNode.level.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        NumbertreeNode.level

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The level of node

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        Number Format

                        -
                        -

                        The root node's level = 0, and next level = 1, ...

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's level

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var level = sNodes[0].level;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.name.html b/lib/zTree_v3/api/en/treeNode.name.html deleted file mode 100755 index fa508cc..0000000 --- a/lib/zTree_v3/api/en/treeNode.name.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.name

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The node's name

                        -

                        1. If you want to change 'name' attribute, please modify the 'setting.data.key.name' attribute.

                        -

                        Default: undenfined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        String object. The HTML special characters are escaped

                        -
                        -

                        Examples of treeNode

                        -

                        1. Set node's name to 'test1', 'test2', 'test3'

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1"},
                        -	{ "id":2, "name":"test2"},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.nocheck.html b/lib/zTree_v3/api/en/treeNode.nocheck.html deleted file mode 100755 index 6c4880c..0000000 --- a/lib/zTree_v3/api/en/treeNode.nocheck.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.nocheck

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        1. Set node to hide the checkbox or radio. It is valid when [setting.check.enable = true]

                        -

                        2. zTree support identification string 'true' & 'false'.

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        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.

                        -

                        false means: the node show the checkbox or radio.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Hide some node's checkbox / radio

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "nocheck":true},
                        -	{ "id":2, "name":"test2"},
                        -	{ "id":3, "name":"test3"}
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.open.html b/lib/zTree_v3/api/en/treeNode.open.html deleted file mode 100755 index bc910de..0000000 --- a/lib/zTree_v3/api/en/treeNode.open.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.open

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to record the parent node's expand status.

                        -

                        1. When zTree initialize the node data, if you set treeNode.open = true, zTree will default expand this parent node.

                        -

                        2. Leaf node's 'open' attribute is false.

                        -

                        3. In order to solve the problem of someone make json data, supporting "false", "true" format of the data string.

                        -

                        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+)

                        -

                        Default: false

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the parent node is expanded.

                        -

                        false means: the parent node is collapsed.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's expand status.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var isOpen = sNodes[0].open;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.parentTId.html b/lib/zTree_v3/api/en/treeNode.parentTId.html deleted file mode 100755 index 0bc2a6d..0000000 --- a/lib/zTree_v3/api/en/treeNode.parentTId.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        StringtreeNode.parentTId

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The unique identifier of node's parent node.

                        -

                        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.

                        -

                        2. Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        String Format

                        -
                        -

                        String object of node's parent node's tId. please see API about 'treeNode.tId'

                        -

                        If treeNode is root node, parentTId is null.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's parent node's tId

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var parentTId = sNodes[0].parentTId;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.tId.html b/lib/zTree_v3/api/en/treeNode.tId.html deleted file mode 100755 index 18c2855..0000000 --- a/lib/zTree_v3/api/en/treeNode.tId.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.tId

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The unique identifier of node.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -
                        -
                        -

                        String Format

                        -
                        -

                        tId rules: setting.treeId + "_" + zTree counter

                        -
                        -

                        Examples of treeNode

                        -

                        1. Get the first selected node's tId

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var tId = sNodes[0].tId;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.target.html b/lib/zTree_v3/api/en/treeNode.target.html deleted file mode 100755 index 176a7a3..0000000 --- a/lib/zTree_v3/api/en/treeNode.target.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        StringtreeNode.target

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Used to set the target where the node is clicked to open url. It is valid when [treeNode.url exists]

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        As same as <a> tag's 'target' attribute. e.g. '_blank', '_self' or other window name.

                        -

                        if this attribute is omitted, zTree default set it to '_blank'

                        -
                        -

                        Exmaples of treeNode

                        -

                        1. Set target is '_blank'

                        -
                        var nodes = [
                        -	{ "id":1, "name":"test1", "url":"http://myTest.com", "target":"_blank"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.url.html b/lib/zTree_v3/api/en/treeNode.url.html deleted file mode 100755 index 5552445..0000000 --- a/lib/zTree_v3/api/en/treeNode.url.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        StringtreeNode.url

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The URL of node link

                        -

                        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.

                        -

                        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.

                        -

                        Default: undefined

                        -
                        -
                        -

                        String Format

                        -
                        -

                        As same as <a> tag's 'href' attribute.

                        -
                        -

                        Examples of treeNode

                        -

                        1. Set the URL is 'g.cn'

                        -
                        var nodes = [
                        -	{ "id":1, "name":"Google CN", "url":"http://g.cn"},
                        -	......
                        -]
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/treeNode.zAsync.html b/lib/zTree_v3/api/en/treeNode.zAsync.html deleted file mode 100755 index b3ff414..0000000 --- a/lib/zTree_v3/api/en/treeNode.zAsync.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        BooleantreeNode.zAsync

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Judge whether the parent node's child nodes will be loaded asynchronously when the parent node is expanded.

                        -

                        Do not initialize or modify it, it is created by the zTree.

                        -

                        Default:false (the parent node which have no child nodes); true (the parent node which have child nodes or the leaf node)

                        -
                        -
                        -

                        Boolean Format

                        -
                        -

                        true means: the node's child nodes will not be loaded asynchronously when the parent node is expanded.

                        -

                        false means: the node's child nodes will be loaded asynchronously when the parent node is expanded.

                        -

                        This attribute will not effect to 'reAsyncChildNodes()' method

                        -
                        -

                        Examples of treeNode

                        -

                        1. Judge whether the first selected node's child nodes has been loaded asynchronously

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var sNodes = treeObj.getSelectedNodes();
                        -if (sNodes.length > 0) {
                        -	var zAsync = sNodes[0].zAsync;
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.addNodes.html b/lib/zTree_v3/api/en/zTreeObj.addNodes.html deleted file mode 100755 index c40caaf..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.addNodes.html +++ /dev/null @@ -1,47 +0,0 @@ -
                        -
                        -

                        Function(parentNode, [index], newNodes, isSilent)zTreeObj.addNodes

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Add nodes

                        -

                        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.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        parentNodeJSON

                        -

                        The additional node's parent node. If additional node is root node, please the parentNode is null.

                        -

                        Please ensure this node data object is a data object within zTree.

                        -

                        [index]Number

                        -

                        The index of the parentNode's children where the newnodes will be added (the value start from 0)

                        -

                        When index = -1, the newnodes will be added to the last

                        -

                        This parameter can be ignore.

                        -

                        v3.5.19+

                        -

                        newNodesJSON / Array(JSON)

                        -

                        The node data's JSON object collection which need to increase, refer to 'treeNode treeNode data details'

                        -

                        1. zTree v3.x support to add single node, that is, if you only add a node, you can don't use the array.

                        -

                        2. If you use simple data model, please refer to the attributes within the 'setting.data.simpleData'.

                        -

                        isSilentBoolean

                        -

                        Set whether to automatically expand the parent node, after add nodes.

                        -

                        isSilent = true means: don't auto expand the parent node. Otherwise auto expand.

                        -

                        Return Array(JSON)

                        -

                        return the new nodes in zTree

                        -

                        If the newNodes is single data object, the return value is a array with length is 1.

                        -

                        Note: the node data JSON object in the return value is not equal to the JSON object in the 'newNodes'.

                        -
                        -

                        Examples of function

                        -

                        1. Add one root node to zTree which id is 'tree'

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var newNode = {name:"newNode1"};
                        -newNode = treeObj.addNodes(null, newNode);
                        -
                        -

                        2. Add three root nodes to zTree which id is 'tree'

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var newNodes = [{name:"newNode1"}, {name:"newNode2"}, {name:"newNode3"}];
                        -newNodes = treeObj.addNodes(null, newNodes);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.cancelEditName.html b/lib/zTree_v3/api/en/zTreeObj.cancelEditName.html deleted file mode 100755 index 8afdae0..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.cancelEditName.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(newName)zTreeObj.cancelEditName

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Cancel the edit name status. Can restore the original name, and can also force assigned to a new name.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        newNameString

                        -

                        Re given a new name

                        -

                        If this parameter is omitted, then restore the original name.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Cancel edit name, and restore the original name.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelEditName();
                        -
                        -

                        2. Cancel edit name , and set the new name.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelEditName("test_new_name");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.cancelSelectedNode.html b/lib/zTree_v3/api/en/zTreeObj.cancelSelectedNode.html deleted file mode 100755 index 84c6c80..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.cancelSelectedNode.html +++ /dev/null @@ -1,35 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.cancelSelectedNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        To cancel the selected node.

                        -

                        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.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to cancel selected.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        If you omit this parameter, zTree will cancel all of the selected nodes.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Cancel all of the selected nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.cancelSelectedNode();
                        -
                        -

                        2. Cancel the first node of the selected nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) { 
                        -	treeObj.cancelSelectedNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.checkAllNodes.html b/lib/zTree_v3/api/en/zTreeObj.checkAllNodes.html deleted file mode 100755 index de00e11..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.checkAllNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(checked)zTreeObj.checkAllNodes

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Check or unCheck all nodes which have been initialized. It is valid when [setting.check.enable = true & setting.check.chkStyle = "checkbox"]

                        -

                        This method does not trigger 'beforeCheck' or 'onCheck' callback function.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        checkedBoolean

                        -

                        checked = true means: check all nodes.

                        -

                        checked = false means: uncheck all nodes.

                        -

                        Don't affect the node which 'nocheck' attribute is true.

                        -

                        Don't affect the node is not loaded.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. check all nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.checkAllNodes(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.checkNode.html b/lib/zTree_v3/api/en/zTreeObj.checkNode.html deleted file mode 100755 index 741eb3b..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.checkNode.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(treeNode, checked, checkTypeFlag, callbackFlag)zTreeObj.checkNode

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Check or unCheck a single node. It is valid when [setting.check.enable = true]

                        -

                        Use checkNode() method of zTree v3.x can trigger 'beforeCheck' or 'onCheck' callback function. for reduce redundant code.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to be checked or unchecked.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        checkedBoolean

                        -

                        checked = true means: check node.

                        -

                        checked = false means: uncheck node.

                        -

                        If this parameter is omitted, then toggle check or uncheck depend this node's expanded state.

                        -

                        Don't affect the node which 'nocheck' attribute is true.

                        -

                        checkTypeFlagBoolean

                        -

                        checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.

                        -

                        checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.

                        -

                        When checkTypeFlag = false and treeNode.checked = checked, will not trigger callback function.

                        -

                        Don't affect the parent and child nodes which 'nocheck' attribute is true.

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true means: call this method, will trigger 'beforeCheck' & 'onCheck' callback.

                        -

                        callbackFlag = false means: call this method, will not trigger callback.

                        -

                        If this parameter is omitted, it is same as 'callbackFlag = false'

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. check the selected nodes

                        -
                        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);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.copyNode.html b/lib/zTree_v3/api/en/zTreeObj.copyNode.html deleted file mode 100755 index ff7b5b5..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.copyNode.html +++ /dev/null @@ -1,47 +0,0 @@ -
                        -
                        -

                        Function(targetNode, treeNode, moveType, isSilent)zTreeObj.copyNode

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Copy the node

                        -

                        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.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        targetNodeJSON

                        -

                        JSON data object of the node to be target.

                        -

                        If copy the node to root node, please set the 'targetNode' to null.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be copied.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        moveTypeString

                        -

                        Copied to the target node's relative position.

                        -

                        "inner" means: to be taregetNode's child node.

                        -

                        "prev" means: to be taregetNode's previous sibling node.

                        -

                        "next" means: to be taregetNode's next sibling node.

                        -

                        isSilentBoolean

                        -

                        After copy the node, whether to automatically expand its parent node.

                        -

                        isSilent = true means: don't expand its parent node.

                        -

                        isSilent = false or omit this parameter means: expand its parent node.

                        -

                        Return JSON

                        -

                        return the new node in zTree

                        -

                        Note: the node data JSON object in the return value is not equal to the treeNode.

                        -
                        -

                        Examples of function

                        -

                        1. Copy the second root node to the first root node's child node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.copyNode(nodes[0], nodes[1], "inner");
                        -
                        -

                        2. Copy the second root node to the first root node's previous sibling node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.copyNode(nodes[0], nodes[1], "before");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.destroy.html b/lib/zTree_v3/api/en/zTreeObj.destroy.html deleted file mode 100755 index 80c5281..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.destroy.html +++ /dev/null @@ -1,25 +0,0 @@ -
                        -
                        -

                        Function(treeId)zTreeObj.destroy

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        From zTree v3.4, zTree support the method for destruction.

                        -

                        1. This method can destroy the zTreeObj's zTree.

                        -

                        2. If you want to destory all of the zTrees, you can use the '$.fn.zTree.destroy()' method.

                        -

                        3. If you want to use the tree which has been destroyed, you must use the 'init()' method at first.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. destroy the zTree which its id is 'treeDemo'

                        -
                        var zTreeObj = $.fn.zTree.getZTreeObj("treeDemo");
                        -zTreeObj.destroy();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.editName.html b/lib/zTree_v3/api/en/zTreeObj.editName.html deleted file mode 100755 index f8df264..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.editName.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.editName

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Start editing the node's name.

                        -

                        1. If need to cancel editing the node's name, please use cancelEditName(newName) method.

                        -

                        2. This method can be used to set the editing node‘s input box to get focus.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be editing name

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Retrun none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Start editing the first selected node's name.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.editName(nodes[0]);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.expandAll.html b/lib/zTree_v3/api/en/zTreeObj.expandAll.html deleted file mode 100755 index ef28a31..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.expandAll.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(expandFlag)zTreeObj.expandAll

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Expand or collapse all nodes.

                        -

                        This method does not trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        expandFlagBoolean

                        -

                        expandFlag = true means: expand all nodes.

                        -

                        expandFlag = false means: collapse all nodes.

                        -

                        Return Boolean

                        -

                        return the result of expand or collapse.

                        -

                        true means: expand all nodes

                        -

                        false means: collapse all nodes

                        -

                        null means: have no parent node to expand or collapse.

                        -
                        -

                        Examples of function

                        -

                        1. Expand all nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.expandAll(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.expandNode.html b/lib/zTree_v3/api/en/zTreeObj.expandNode.html deleted file mode 100755 index 01e7442..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.expandNode.html +++ /dev/null @@ -1,50 +0,0 @@ -
                        -
                        -

                        Function(treeNode, expandFlag, sonSign, focus, callbackFlag)zTreeObj.expandNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Expand or collapse single node.

                        -

                        Use expandNode() method of zTree v3.x can trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback function. for reduce redundant code.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be expanded or collapsed

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        expandFlagBoolean

                        -

                        expandFlag = true means: expand the node.

                        -

                        expandFlag = false means: collapse the node.

                        -

                        If this parameter is omitted, then toggle expand or collapse depend this node's expanded state.

                        -

                        sonSignBoolean

                        -

                        sonSign = true means: expand or collapse all of the child nodes depend the 'expandFlag' parameter.

                        -

                        sonSign = false means: only expand or collapse this node.

                        -

                        When sonSign = false and treeNode.open = expandFlag, will not trigger the callback.

                        -

                        If this parameter is omitted, it is same as 'sonSign = false'.

                        -

                        focusBoolean

                        -

                        focus = true means: after expand or collapse, set the focus of this node for view.

                        -

                        focus = false means: after expand or coolapse, don't set the focus of this node.

                        -

                        If this parameter is omitted, it is same as 'focus = true'.

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true means: call this method, will trigger 'beforeExpand / onExpand' or 'beforeCollapse / onCollapse' callback.

                        -

                        callbackFlag = false means: call this method, will not trigger callback.

                        -

                        If this parameter is omitted, it is same as 'callbackFlag = false'

                        -

                        Return Boolean

                        -

                        return the result of expand or collapse.

                        -

                        true means: expand node

                        -

                        false means: collapse node

                        -

                        null means: the node is not parent node.

                        -
                        -

                        Examples of function

                        -

                        1. Expand the first selected node. (and expand this node's child nodes)

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.expandNode(nodes[0], true, true, true);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getChangeCheckedNodes.html b/lib/zTree_v3/api/en/zTreeObj.getChangeCheckedNodes.html deleted file mode 100755 index d0f9cf3..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getChangeCheckedNodes.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getChangeCheckedNodes

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Get the collection of nodes which be changed checked status. (Compared with the original data checkedOld) It is valid when [setting.check.enable = true]

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        Return Array(JSON)

                        -

                        return the collection of nodes which be changed checked status (Array)

                        -

                        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 ).

                        -
                        -

                        Examples of function

                        -

                        1. Get the collection of nodes which be changed checked status

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getChangeCheckedNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getCheckedNodes.html b/lib/zTree_v3/api/en/zTreeObj.getCheckedNodes.html deleted file mode 100755 index 9e59b21..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getCheckedNodes.html +++ /dev/null @@ -1,28 +0,0 @@ -
                        -
                        -

                        Function(checked)zTreeObj.getCheckedNodes

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Get the collection of nodes which be checked or unchecked. It is valid when [setting.check.enable = true]

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        checkedBoolean

                        -

                        checked = true means: get the collection of nodes which be checked

                        -

                        checked = false means: get the collection of nodes which be unchecked

                        -

                        If this parameter is omitted, it is same as 'checked = true'

                        -

                        Don't get the nodes which 'nocheck' attribute is true.

                        -

                        Return Array(JSON)

                        -

                        return the collection of nodes which be checked or unchecked. (Array)

                        -
                        -

                        Examples of function

                        -

                        1. Get the collection of nodes which be checked.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getCheckedNodes(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodeByParam.html b/lib/zTree_v3/api/en/zTreeObj.getNodeByParam.html deleted file mode 100755 index 05572e7..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodeByParam.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodeByParam

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        According to the node data attribute, search the node which exactly matches, and get the JSON object of node.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        keyString

                        -

                        The name of attribute which need to exactly match

                        -

                        value?

                        -

                        The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.

                        -

                        parentNodeJSON

                        -

                        The search range, you can search node from a parent node's child nodes.

                        -

                        If this parameter is omitted, zTree will search node from all nodes.

                        -

                        Return JSON

                        -

                        JSON data object of the node which be searched.

                        -

                        1. If search none node, return null.

                        -

                        2. If there are many nodes can be searched, return the first node.

                        -
                        -

                        Examples of function

                        -

                        1. Search the node which its 'id' attribute is 1.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByParam("id", 1, null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodeByTId.html b/lib/zTree_v3/api/en/zTreeObj.getNodeByTId.html deleted file mode 100755 index 8fd26ea..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodeByTId.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(tId)zTreeObj.getNodeByTId

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        According the unique identifier tId of zTree, quick get the node's JSON data object.

                        -

                        Get the node from the cache, don't need to search from all nodes.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        tIdString

                        -

                        The unique identifier of node.

                        -

                        Return JSON

                        -

                        JSON data object of the node which be searched.

                        -

                        If no result, return null.

                        -
                        -

                        Examples of function

                        -

                        1. 1. Search the node which its 'tId' attribute is 'tree_10'

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByTId("tree_10");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodeIndex.html b/lib/zTree_v3/api/en/zTreeObj.getNodeIndex.html deleted file mode 100755 index ad828e7..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodeIndex.html +++ /dev/null @@ -1,30 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.getNodeIndex

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the node's index in the same level nodes. (start from 0)

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to get index.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Return Number

                        -

                        return the index. (start from 0)

                        -

                        If there is no this node, return -1.

                        -
                        -

                        Examples of function

                        -

                        1. Get the first selected node's index in the same level nodes.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	var index = treeObj.getNodeIndex(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodes.html b/lib/zTree_v3/api/en/zTreeObj.getNodes.html deleted file mode 100755 index 5906a43..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodes.html +++ /dev/null @@ -1,26 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getNodes

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get all of the nodes in zTree

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        Return Array(JSON)

                        -

                        return all of the nodes

                        -

                        1. This array is a collection of the root nodes (the default child nodes are in the 'children' attributes);

                        -

                        2. Traverse all the nodes need to use recursion, or the use of transformToArray() method make the nodes to be a simple array.

                        -

                        3. For the asynchronous loading mode, can't get the nodes which are yet loaded.

                        -
                        -

                        Examples of function

                        -

                        1. Get all of the nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodesByFilter.html b/lib/zTree_v3/api/en/zTreeObj.getNodesByFilter.html deleted file mode 100755 index 2cd6baa..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodesByFilter.html +++ /dev/null @@ -1,43 +0,0 @@ -
                        -
                        -

                        Function(filter, isSingle, parentNode, invokeParam)zTreeObj.getNodesByFilter

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Search the single node's data or collection of nodes's data by custom rules.

                        -

                        Can be customized complex search rules.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        filterFunction

                        -

                        Custom search function. e.g. function filter(node) {...}

                        -

                        filter's parameter: node (node's data -- JSON)

                        -

                        filter's return: boolean (true means: match the rules; false means: don't match the rules)

                        -

                        isSingleBoolean

                        -

                        isSingle = true means: search only one node

                        -

                        isSingle = false means: search the array of the nodes

                        -

                        If this parameter is omitted, as same as false

                        -

                        parentNodeJSON

                        -

                        The search range, you can search node from a parent node's child nodes.

                        -

                        If this parameter is omitted, zTree will search node from all nodes.

                        -

                        invokeParamanything

                        -

                        Custom data object by user, used to calculate in the filter function.

                        -

                        Return Array(JSON) / JSON

                        -

                        If isSingle = true, will return the first node's data (JSON) what be matched. If no match, return null.

                        -

                        If isSingle = false, will return the array of all nodes's data what be matched. if no match, return [ ].

                        -
                        -

                        Examples of function

                        -

                        1. Search the nodes which their 'name' contains 'test' and 'level' is 2.

                        -
                        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
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodesByParam.html b/lib/zTree_v3/api/en/zTreeObj.getNodesByParam.html deleted file mode 100755 index 3173af4..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodesByParam.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodesByParam

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        According to the node data attribute, search the nodes which exactly matches, and get the JSON objects collection of nodes.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        keyString

                        -

                        The name of attribute which need to exactly match

                        -

                        value?

                        -

                        The value which need to exactly match, can be any type, please ensure its type consistent with the attribute values.

                        -

                        parentNodeJSON

                        -

                        The search range, you can search node from a parent node's child nodes.

                        -

                        If this parameter is omitted, zTree will search node from all nodes.

                        -

                        Return Array(JSON)

                        -

                        The JSON data objects collection of the nodes which be searched.

                        -

                        If search none node, return [ ].

                        -
                        -

                        Examples of function

                        -

                        1. Search the nodes which their 'name' attribute is 'test'.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParam("name", "test", null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getNodesByParamFuzzy.html b/lib/zTree_v3/api/en/zTreeObj.getNodesByParamFuzzy.html deleted file mode 100755 index 14b6c29..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getNodesByParamFuzzy.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(key, value, parentNode)zTreeObj.getNodesByParamFuzzy

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        According to the node data attribute, search the nodes which fuzzy matches, and get the JSON objects collection of nodes.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        keyString

                        -

                        The name of attribute which need to fuzzy match

                        -

                        valueString

                        -

                        The value which need to fuzzy match.

                        -

                        The type of value can only be String

                        -

                        parentNodeJSON

                        -

                        The search range, you can search node from a parent node's child nodes.

                        -

                        If this parameter is omitted, zTree will search node from all nodes.

                        -

                        Return Array(JSON)

                        -

                        The JSON data objects collection of the nodes which be searched.

                        -

                        If search none node, return [ ].

                        -
                        -

                        Examples of function

                        -

                        1. Search the nodes which their 'name' attribute contains the string 'test'.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParamFuzzy("name", "test", null);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.getSelectedNodes.html b/lib/zTree_v3/api/en/zTreeObj.getSelectedNodes.html deleted file mode 100755 index 4a0f060..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.getSelectedNodes.html +++ /dev/null @@ -1,23 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.getSelectedNodes

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Get the JSON data objects collection of the selected nodes in zTree.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        Return Array(JSON)

                        -

                        The JSON data objects collection of the selected nodes.

                        -
                        -

                        Examples of function

                        -

                        1. get the selected nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.hideNode.html b/lib/zTree_v3/api/en/zTreeObj.hideNode.html deleted file mode 100755 index 8ddb684..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.hideNode.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.hideNode

                        -

                        Overview[ depends on jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        To hide any node.

                        -

                        1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.

                        -

                        2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be hidden

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Retrun none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. hide the first root node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.hideNode(nodes[0]);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.hideNodes.html b/lib/zTree_v3/api/en/zTreeObj.hideNodes.html deleted file mode 100755 index 9bf8e6b..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.hideNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.hideNodes

                        -

                        Overview[ depends on jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        To hide a group of nodes.

                        -

                        1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.

                        -

                        2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodesArray(JSON)

                        -

                        the array of the nodes which will be hidden

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Retrun none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. hide the first root node's children.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.hideNodes(nodes[0].children);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.moveNode.html b/lib/zTree_v3/api/en/zTreeObj.moveNode.html deleted file mode 100755 index 1f3b88c..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.moveNode.html +++ /dev/null @@ -1,49 +0,0 @@ -
                        -
                        -

                        Function(targetNode, treeNode, moveType, isSilent)zTreeObj.moveNode

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Move the node

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        targetNodeJSON

                        -

                        JSON data object of the node to be target.

                        -

                        If move the node to root node, please set the 'targetNode' to null.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be moved.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        moveTypeString

                        -

                        Moved to the target node's relative position.

                        -

                        "inner" means: to be taregetNode's child node.

                        -

                        "prev" means: to be taregetNode's previous sibling node.

                        -

                        "next" means: to be taregetNode's next sibling node.

                        -

                        isSilentBoolean

                        -

                        After move the node, whether to automatically expand its parent node.

                        -

                        isSilent = true means: don't expand its parent node.

                        -

                        isSilent = false or omit this parameter means: expand its parent node.

                        -

                        Return JSON

                        -

                        return the node which be moved, it is same as the 'treeNode' parameter.

                        -

                        Return null means: move node has failed. The cause:
                        -  1. the targetNode is the treeNode's parent node, and moveType = "inner"
                        -  2. the targetNode is the treeNode's child node. -

                        -
                        -

                        Examples of function

                        -

                        1. Move the second root node to the first root node's child node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.moveNode(nodes[0], nodes[1], "inner");
                        -
                        -

                        2. Move the second root node to the first root node's previous sibling node.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -treeObj.moveNode(nodes[0], nodes[1], "prev");
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodes.html b/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodes.html deleted file mode 100755 index 9b9a930..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodes.html +++ /dev/null @@ -1,48 +0,0 @@ -
                        -
                        -

                        Function(parentNode, reloadType, isSilent, callback)zTreeObj.reAsyncChildNodes -

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Forced asynchronous loading child nodes of parent node. It is valid when [setting.async.enable = true] -

                        -

                        You can use this method to reload child nodes.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        parentNodeJSON

                        -

                        The parent node which will asynchronous loading child nodes.

                        -

                        1. If parentNode = null, it is same as reload root nodes.

                        -

                        2. If parentNode.isParent = false, don't load nodes.

                        -

                        3. Please ensure that this data object is an internal node data object in - zTree.

                        -

                        reloadTypeString

                        -

                        reloadType = "refresh" means: reload child nodes.

                        -

                        reloadType != "refresh" means: append to load child nodes.

                        -

                        isSilentBoolean

                        -

                        Set whether to automatically expand the parent node, after load nodes.

                        -

                        isSilent = true means: don't auto expand the parent node. Otherwise auto expand.

                        -

                        callbackfunction

                        -

                        zTree will trigger this callback() function after reAsyncChildNodes()

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. reload root nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.reAsyncChildNodes(null, "refresh");
                        -
                        -

                        2. reload the first selected node's child nodes.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.reAsyncChildNodes(nodes[0], "refresh");
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodesPromise.html b/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodesPromise.html deleted file mode 100755 index 599e2af..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.reAsyncChildNodesPromise.html +++ /dev/null @@ -1,47 +0,0 @@ -
                        -
                        -

                        Function(parentNode, reloadType, isSilent)zTreeObj.reAsyncChildNodesPromise -

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Forced asynchronous loading child nodes of parent node ( for ES6 Promise ). It is valid when [setting.async.enable = true] -

                        -

                        You can use this method to reload child nodes.

                        -

                        Please use zTree object to executing the method.

                        -

                        v3.5.29+

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        parentNodeJSON

                        -

                        The parent node which will asynchronous loading child nodes.

                        -

                        1. If parentNode = null, it is same as reload root nodes.

                        -

                        2. If parentNode.isParent = false, don't load nodes.

                        -

                        3. Please ensure that this data object is an internal node data object in - zTree.

                        -

                        reloadTypeString

                        -

                        reloadType = "refresh" means: reload child nodes.

                        -

                        reloadType != "refresh" means: append to load child nodes.

                        -

                        isSilentBoolean

                        -

                        Set whether to automatically expand the parent node, after load nodes.

                        -

                        isSilent = true means: don't auto expand the parent node. Otherwise auto expand.

                        -

                        Return ES6 Promise

                        -

                        Promise Object of ES6

                        -
                        -

                        Examples of function

                        -

                        1. reload root nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.reAsyncChildNodes(null, "refresh");
                        -
                        -

                        2. reload the first selected node's child nodes.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes.length>0) {
                        -	treeObj.reAsyncChildNodes(nodes[0], "refresh");
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.refresh.html b/lib/zTree_v3/api/en/zTreeObj.refresh.html deleted file mode 100755 index 8316192..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.refresh.html +++ /dev/null @@ -1,24 +0,0 @@ -
                        -
                        -

                        Function()zTreeObj.refresh

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Refresh zTree

                        -

                        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.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. refresh zTree

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.refresh();
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.removeChildNodes.html b/lib/zTree_v3/api/en/zTreeObj.removeChildNodes.html deleted file mode 100755 index c249e17..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.removeChildNodes.html +++ /dev/null @@ -1,32 +0,0 @@ -
                        -
                        -

                        Function(parentNode)zTreeObj.removeChildNodes

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Remove a parent node's child nodes

                        -

                        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.

                        -

                        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.

                        -

                        3. This method does not trigger any callback function.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        parentNodeJSON

                        -

                        The parent node which need to clear its child nodes.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Return Array(JSON)

                        -

                        Return the parent node's child nodes which have been removed. If has no child nodes, return null.

                        -
                        -

                        Examples of function

                        -

                        1. Remove the first selected node's child nodes

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -if (nodes && nodes.length>0) {
                        -	treeObj.removeChildNodes(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.removeNode.html b/lib/zTree_v3/api/en/zTreeObj.removeNode.html deleted file mode 100755 index 67ad7e2..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.removeNode.html +++ /dev/null @@ -1,34 +0,0 @@ -
                        -
                        -

                        Function(treeNode, callbackFlag)zTreeObj.removeNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Remove a node

                        -

                        Use removeNode() method of zTree v3.x can trigger 'beforeRemove / onRemove' callback function. for reduce redundant code.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be removed.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        callbackFlagBoolean

                        -

                        callbackFlag = true means: call this method, will trigger 'beforeRemove' & 'onRemove' callback.

                        -

                        callbackFlag = false means: call this method, will not trigger callback.

                        -

                        If this parameter is omitted, it is same as 'callbackFlag = false'

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Remove all of the selected nodes.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getSelectedNodes();
                        -for (var i=0, l=nodes.length; i < l; i++) {
                        -	treeObj.removeNode(nodes[i]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.selectNode.html b/lib/zTree_v3/api/en/zTreeObj.selectNode.html deleted file mode 100755 index 45c4c10..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.selectNode.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeNode, addFlag, isSilent)zTreeObj.selectNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Select a node

                        -

                        zTree v3.x supports select multiple nodes.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node to be selected.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        addFlagBoolean

                        -

                        addFlag = true means: append to select node, don't affect the previously selected node, can select multiple nodes.

                        -

                        addFlag = false (default) means: select single node, prior the selected node is deselected.

                        -

                        If setting.view.selectedMulti = false, this para, this parameter is not valid, always select single node

                        -

                        isSilent = true means: when you select node, zTree will not scroll the node into view.

                        -

                        isSilent = false (default) means: when you select node, zTree will scroll the node into view.

                        -

                        (v3.5.23+)

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Exampleso of function

                        -

                        1. Select single node which be first selected.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -if (nodes.length>0) {
                        -	treeObj.selectNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.setChkDisabled.html b/lib/zTree_v3/api/en/zTreeObj.setChkDisabled.html deleted file mode 100755 index 30b5342..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.setChkDisabled.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(node, disabled, inheritParent, inheritChildren)zTreeObj.setChkDisabled

                        -

                        Overview[ depends on jquery.ztree.excheck js ]

                        -
                        -

                        -
                        -

                        Set the node's checkbox or radio is disabled or remove disabled. It is valid when [setting.check.enable = true]

                        -

                        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.

                        -

                        2. Please do not directly modify the 'chkDisabled' attribute of the loaded node.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to be checked or unchecked.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        disabledBoolean

                        -

                        disabled = true means: the node's checkbox / radio is disabled.

                        -

                        disabled = false means: the node's checkbox / radio is removed disabled.

                        -

                        If this parameter is omitted, it is same as disabled = false

                        -

                        Don't affect the node which 'nocheck' attribute is true.

                        -

                        inheritParentBoolean

                        -

                        inheritParent = true means: all parent nodes's disabled status will be same as this node.

                        -

                        inheritParent = false means: all parent nodes's disabled status will be not affected.

                        -

                        If this parameter is omitted, it is same as 'inheritParent = false'

                        -

                        inheritChildrenBoolean

                        -

                        inheritChildren = true means: all child nodes's disabled status will be same as this node.

                        -

                        inheritChildren = false means: all child nodes's disabled status will be not affected.

                        -

                        If this parameter is omitted, it is same as 'inheritChildren = false'

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Set the selected nodes's checkbox / radio to disable.

                        -
                        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);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.setEditable.html b/lib/zTree_v3/api/en/zTreeObj.setEditable.html deleted file mode 100755 index a44b0ff..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.setEditable.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(editable)zTreeObj.setEditable

                        -

                        Overview[ depends on jquery.ztree.exedit js ]

                        -
                        -

                        -
                        -

                        Edit mode and normal mode switch.

                        -

                        To use edit mode, please set the attributes in 'setting.edit'

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        editableBoolean

                        -

                        true means: set zTree to edit mode.

                        -

                        false means: set zTree to normal mode.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. set zTree to edit mode

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -treeObj.setEditable(true);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.setting.html b/lib/zTree_v3/api/en/zTreeObj.setting.html deleted file mode 100755 index d80c139..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.setting.html +++ /dev/null @@ -1,14 +0,0 @@ -
                        -
                        -

                        JSONzTreeObj.setting

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        The configuration data of zTree, refer to "setting details"

                        -

                        zTree v3.x to cancel the original operation setting method, so users can modify.

                        -

                        Note: Modify the parameters which affect zTree initialization will not work, please first understand the different attributes.

                        -
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.showNode.html b/lib/zTree_v3/api/en/zTreeObj.showNode.html deleted file mode 100755 index 08b2a06..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.showNode.html +++ /dev/null @@ -1,31 +0,0 @@ -
                        -
                        -

                        Function(treeNode)zTreeObj.showNode

                        -

                        Overview[ depends on jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        To hide any node which be hidden.

                        -

                        1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.

                        -

                        2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodesArray(JSON)

                        -

                        JSON data object of the node to be shown

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Retrun none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. show someone node which be hidden.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var node = treeObj.getNodeByParam("isHidden", true);
                        -if (node) {
                        -  treeObj.showNode(node);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.showNodes.html b/lib/zTree_v3/api/en/zTreeObj.showNodes.html deleted file mode 100755 index c0c926c..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.showNodes.html +++ /dev/null @@ -1,29 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.showNodes

                        -

                        Overview[ depends on jquery.ztree.exhide js ]

                        -
                        -

                        -
                        -

                        To show a group of nodes which be hidden.

                        -

                        1. This feature can't support the 'exedit' feature, so please don't use this feature in edit mode.

                        -

                        2. If you hide or show the nodes, it will effect the 'isFirstNode' and 'isLastNode' attribute.

                        -

                        3. Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodesArray(JSON)

                        -

                        the array of the nodes which will be shown

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        Retrun none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. show all of the nodes which be hidden.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodesByParam("isHidden", true);
                        -treeObj.showNodes(nodes);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.transformToArray.html b/lib/zTree_v3/api/en/zTreeObj.transformToArray.html deleted file mode 100755 index 4b2296d..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.transformToArray.html +++ /dev/null @@ -1,27 +0,0 @@ -
                        -
                        -

                        Function(treeNodes)zTreeObj.transformToArray

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        -

                        Transform the zTree nodes data into simple array. (To avoid the user to write code to traverse all nodes)

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodesArray(JSON) / JSON

                        -

                        JSON data object of the node which need to be transformed.

                        -

                        or JSON data objects collection of the nodes which need to be transformed.

                        -

                        Return Array(JSON)

                        -

                        The JSON data objects array of the nodes which be transformed.

                        -
                        -

                        Examples of function

                        -

                        1. Transform the zTree nodes data into simple array.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.transformToArray(treeObj.getNodes());
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.transformTozTreeNodes.html b/lib/zTree_v3/api/en/zTreeObj.transformTozTreeNodes.html deleted file mode 100755 index 7015016..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.transformTozTreeNodes.html +++ /dev/null @@ -1,44 +0,0 @@ -
                        -
                        -

                        Function(simpleNodes)zTreeObj.transformTozTreeNodes

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Transform the simple array into zTree nodes data.

                        -

                        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.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        simpleNodesArray(JSON) / JSON

                        -

                        JSON data object of the node which need to be transformed.

                        -

                        or JSON data objects array of the nodes which need to be transformed.

                        -

                        Return Array(JSON)

                        -

                        Standard data which zTree use. The child nodes are stored in the parent node's 'children' attribute.

                        -

                        If simpleNodes is a single JSON, so the return array's length is 1.

                        -
                        -

                        Examples of function

                        -

                        1. Transform the simple array data into zTree nodes format.

                        -
                        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);
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/api/en/zTreeObj.updateNode.html b/lib/zTree_v3/api/en/zTreeObj.updateNode.html deleted file mode 100755 index a914b12..0000000 --- a/lib/zTree_v3/api/en/zTreeObj.updateNode.html +++ /dev/null @@ -1,37 +0,0 @@ -
                        -
                        -

                        Function(treeNode, checkTypeFlag)zTreeObj.updateNode

                        -

                        Overview[ depends on jquery.ztree.core js ]

                        -
                        -

                        -
                        -

                        Update node data. Primarily used to update the node's DOM.

                        -

                        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.

                        -

                        2. Use updateNode() method of zTree can't trigger 'beforeCheck' or 'onCheck' callback function.

                        -

                        Please use zTree object to executing the method.

                        -
                        -
                        -

                        Function Parameter Descriptions

                        -
                        -

                        treeNodeJSON

                        -

                        JSON data object of the node which need to update.

                        -

                        Please ensure that this data object is an internal node data object in zTree.

                        -

                        checkTypeFlagBoolean

                        -

                        checkTypeFlag = true means: According to 'setting.check.chkboxType' attribute automatically check or uncheck the parent and child nodes.

                        -

                        checkTypeFlag = false means: only check or uncheck this node, don't affect its parent and child nodes.

                        -

                        This parameter is valid when 'setting.check.enable = true' and 'setting.check.chkStyle = "checkbox"'

                        -

                        Don't affect the parent and child nodes which 'nocheck' attribute is true.

                        -

                        Return none

                        -

                        no return value

                        -
                        -

                        Examples of function

                        -

                        1. Modify the first selected node's name, and update it.

                        -
                        var treeObj = $.fn.zTree.getZTreeObj("tree");
                        -var nodes = treeObj.getNodes();
                        -if (nodes.length>0) {
                        -	nodes[0].name = "test";
                        -	treeObj.updateNode(nodes[0]);
                        -}
                        -
                        -
                        -
                        \ No newline at end of file diff --git a/lib/zTree_v3/css/awesomeStyle/awesome.css b/lib/zTree_v3/css/awesomeStyle/awesome.css deleted file mode 100755 index c1fcf3a..0000000 --- a/lib/zTree_v3/css/awesomeStyle/awesome.css +++ /dev/null @@ -1,386 +0,0 @@ -/*------------------------------------- -zTree Style using fontawesome instead of images - -version: 1.1 -author: Mike King -email: mikkelking @ hotmail . com -website: http://code.google.com/p/jquerytree/ - --------------------------------------*/ -/* Definitions ----------------------*/ -/* End of Definitions ---------------*/ -/* Imports -------------------------*/ -/* End of Imports ------------------*/ -.ztree * { - padding: 0; - margin: 0; - font-size: 12px; - font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif; - background-color: #af0000; -} -.ztree { - margin: 0; - padding: 5px; - color: #ffffff; - background-color: #af0000; -} -.ztree li { - padding: 0; - margin: 0; - list-style: none; - line-height: 17px; - text-align: left; - white-space: nowrap; - outline: 0; -} -.ztree li ul { - margin: 0px; - padding: 0 0 0 18px; -} -.ztree li a { - padding-right: 3px; - margin: 0; - cursor: pointer; - height: 17px; - color: #ffffff; - background-color: transparent; - text-decoration: none; - vertical-align: top; - display: inline-block; -} -.ztree li a input.rename { - height: 14px; - width: 80px; - padding: 0; - margin: 0; - color: #af0000; - background-color: #ffffff; - font-size: 12px; - border: 1px #585956 solid; - *border: 0px; -} -.ztree li a:hover { - text-decoration: underline; -} -.ztree li a.curSelectedNode { - padding-top: 0px; - background-color: #af4040; - color: #ffff00; - height: 17px; - opacity: 0.8; -} -.ztree li a.curSelectedNode_Edit { - padding-top: 0px; - background-color: transparent; - color: #ffff00; - height: 17px; - border: 1px #666 solid; - opacity: 0.8; -} -.ztree li a.tmpTargetNode_inner { - padding-top: 0px; - background-color: #aaa; - color: #ffff00; - height: 17px; - border: 1px #666 solid; - opacity: 0.8; - filter: alpha(opacity=80); -} -.ztree li span { - line-height: 17px; - margin-right: 2px; - background-color: transparent; -} -.ztree li span.button { - line-height: 0; - margin: 0; - padding: 0; - width: 15px; - height: 17px; - display: inline-block; - vertical-align: top; - border: 0px solid; - cursor: pointer; - outline: none; - background-color: transparent; - background-repeat: no-repeat; - background-attachment: scroll; -} -.ztree li span.button::before { - color: #ffffff; - font-family: FontAwesome; - padding-top: 10px; -} -.ztree li span.button.chk { - margin: 0px; - cursor: auto; - width: 12px; - display: inline-block; - padding-top: 10px; - padding-left: 2px; -} -.ztree li span.button.chk.checkbox_false_full::before { - content: "\f096"; -} -.ztree li span.button.chk.checkbox_false_full_focus::before { - content: "\f096"; - color: #ffff00; -} -.ztree li span.button.chk.checkbox_false_part::before { - content: "\f096"; - color: #aaaaaa; -} -.ztree li span.button.chk.checkbox_false_part_focus::before { - content: "\f096"; - color: #cad96c; -} -.ztree li span.button.chk.checkbox_false_disable::before { - content: "\f096"; - color: #808080; -} -.ztree li span.button.chk.checkbox_true_full::before { - content: "\f046"; -} -.ztree li span.button.chk.checkbox_true_full_focus::before { - content: "\f046"; -} -.ztree li span.button.chk.checkbox_true_part::before { - content: "\f14a"; -} -.ztree li span.button.chk.checkbox_true_part_focus::before { - content: "\f14a"; - color: #ffff00; -} -.ztree li span.button.chk.checkbox_true_full_focus::before { - content: "\f046"; - color: #ffff00; -} -.ztree li span.button.chk.checkbox_true_part::before { - content: "\f046"; - color: #aaaaaa; -} -.ztree li span.button.chk.checkbox_true_part_focus::before { - content: "\f046"; - color: #cad96c; -} -.ztree li span.button.chk.checkbox_true_disable::before { - content: "\f046"; - color: #808080; -} -.ztree li span.button.chk.radio_false_full::before { - content: "\f10c"; -} -.ztree li span.button.chk.radio_false_full_focus::before { - content: "\f10c"; - color: #ffff00; -} -.ztree li span.button.chk.radio_false_part::before { - content: "\f10c"; - color: #aaaaaa; -} -.ztree li span.button.chk.radio_false_part_focus::before { - content: "\f10c"; - color: #ffff00; -} -.ztree li span.button.chk.radio_false_disable::before { - content: "\f1db"; - color: #808080; -} -.ztree li span.button.chk.radio_true_full::before { - content: "\f192"; -} -.ztree li span.button.chk.radio_true_full_focus::before { - content: "\f192"; - color: #ffff00; -} -.ztree li span.button.chk.radio_true_part::before { - content: "\f192"; - color: #aaaaaa; -} -.ztree li span.button.chk.radio_true_part_focus::before { - content: "\f192"; - color: #aaaaaa; -} -.ztree li span.button.chk.radio_true_disable::before { - content: "\f1db"; - color: #808080; -} -.ztree li span.button.switch { - width: 15px; - height: 17px; -} -.ztree li span.button.root_open::before { - content: "\f078"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.root_close::before { - content: "\f115"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.roots_open::before { - content: "\f078"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.roots_close::before { - content: "\f054"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.center_open::before { - content: "\f078"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.center_close::before { - content: "\f054"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.bottom_open::before { - content: "\f078"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.bottom_close::before { - content: "\f054"; - padding-top: 10px; - padding-left: 2px; - display: inline-block; -} -.ztree li span.button.root_docu { - background: none; -} -.ztree li span.button.roots_docu::before { - content: "\f022"; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.center_docu::before { - padding-top: 10px; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.bottom_docu::before { - padding-top: 10px; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.noline_docu { - background: none; -} -.ztree li span.button.ico_open::before { - content: "\f115"; - font-family: FontAwesome; - padding-top: 10px; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.ico_close::before { - content: "\f114"; - font-family: FontAwesome; - padding-top: 10px; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.ico_docu::before { - content: "\f022"; - font-family: FontAwesome; - padding-top: 10px; - padding-left: 2px; - display: inline-block; - color: #ffffff; -} -.ztree li span.button.edit { - margin-left: 4px; - margin-right: -1px; - vertical-align: top; - *vertical-align: middle; - padding-top: 10px; -} -.ztree li span.button.edit::before { - content: "\f044"; - font-family: FontAwesome; -} -.ztree li span.button.remove { - margin-left: 4px; - margin-right: -1px; - vertical-align: top; - *vertical-align: middle; - padding-top: 10px; -} -.ztree li span.button.remove::before { - content: "\f1f8"; - font-family: FontAwesome; -} -.ztree li span.button.add { - margin-left: 4px; - margin-right: -1px; - vertical-align: top; - *vertical-align: middle; - padding-top: 10px; -} -.ztree li span.button.add::before { - content: "\f067"; - font-family: FontAwesome; -} -.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: 17px; - display: inline-block; - padding: 0; - margin: 2px 0 0 1px; - border: 0 none; - position: absolute; - background-color: transparent; - background-attachment: scroll; -} -span.tmpzTreeMove_arrow::before { - content: "\f04b"; - font-family: FontAwesome; - color: #ffff00; -} -ul.ztree.zTreeDragUL { - margin: 0; - padding: 0; - position: absolute; - width: auto; - height: auto; - overflow: hidden; - background-color: #cfcfcf; - border: 1px #ffff00 dotted; - opacity: 0.8; - filter: alpha(opacity=80); -} -.ztreeMask { - z-index: 10000; - background-color: #cfcfcf; - opacity: 0.0; - filter: alpha(opacity=0); - position: absolute; -} diff --git a/lib/zTree_v3/css/awesomeStyle/awesome.less b/lib/zTree_v3/css/awesomeStyle/awesome.less deleted file mode 100755 index b282d81..0000000 --- a/lib/zTree_v3/css/awesomeStyle/awesome.less +++ /dev/null @@ -1,146 +0,0 @@ -/*------------------------------------- -zTree Style using fontawesome instead of images - -version: 1.1 -author: Mike King -email: mikkelking @ hotmail . com -website: http://code.google.com/p/jquerytree/ - --------------------------------------*/ - -/* Definitions ----------------------*/ -@font-size: 12px; -// Regular icon and text color is white, which suits any medium -> dark background -@color-normal: white; -// Background color -@color-bg: #af0000; -// Highlight color -@color-highlight: yellow; -// Partially selected (checkboxes, radio buttons) -@color-partial: #aaaaaa; -// Partially selected and focused (checkboxes, radio buttons) -@color-partfocus: #cad96c; -// Disabled altogether -@color-disabled: #808080; -// Editing color -@color-edit: yellow; -@w: 15px; -@h: 17px; -@pad-left: 2px; -@pad-top: 10px; -/* End of Definitions ---------------*/ - -/* Imports -------------------------*/ -@import "fa.less"; -/* End of Imports ------------------*/ - -.ztree * {padding:0; margin:0; font-size:@font-size; font-family: Verdana, Arial, Helvetica, AppleGothic, sans-serif; background-color: @color-bg;} -.ztree { - margin:0; padding:5px; color:@color-normal; background-color: @color-bg; - li { - padding:0; margin:0; list-style:none; line-height:17px; text-align:left; white-space:nowrap; outline:0; - ul { - margin: 0px; padding:0 0 0 18px; - } - ul.line { } - a {padding-right:3px; margin:0; cursor:pointer; height:@h; color:@color-normal; background-color: transparent; - text-decoration:none; vertical-align:top; display: inline-block; - input.rename {height:14px; width:80px; padding:0; margin:0; - color: @color-bg; background-color: @color-normal; - font-size:@font-size; border:1px #585956 solid; *border:0px} - } - a:hover {text-decoration:underline} - a.curSelectedNode {padding-top:0px; background-color:#af4040; color:@color-highlight; height:@h; opacity:0.8;} - a.curSelectedNode_Edit {padding-top:0px; background-color:transparent; color:@color-highlight; height:@h; border:1px #666 solid; opacity:0.8;} - a.tmpTargetNode_inner {padding-top:0px; background-color:#aaa; color:@color-highlight; height:@h; border:1px #666 solid; - opacity:0.8; filter:alpha(opacity=80)} - a.tmpTargetNode_prev {} - a.tmpTargetNode_next {} - span {line-height:@h; margin-right:2px; background-color:transparent;} - span.button {line-height:0; margin:0; padding: 0; width:@w; height:@h; display: inline-block; vertical-align:top; - border:0px solid; cursor: pointer;outline:none; - background-color:transparent; background-repeat:no-repeat; background-attachment: scroll; - - &::before{color: @color-normal; font-family: FontAwesome; padding-top:@pad-top;} - &.chk { margin:0px; cursor: auto; width: 12px; - display: inline-block;padding-top:@pad-top;padding-left:@pad-left; - - &.checkbox_false_full::before {content: @fa-square-o;} - &.checkbox_false_full_focus::before {content: @fa-square-o; color:@color-highlight;} - &.checkbox_false_part::before {content: @fa-square-o;color: @color-partial;} - &.checkbox_false_part_focus::before {content: @fa-square-o; color:@color-partfocus;} - &.checkbox_false_disable::before {content: @fa-square-o; color:@color-disabled;} - &.checkbox_true_full::before {content: @fa-check-square-o;} - &.checkbox_true_full_focus::before {content: @fa-check-square-o;} - &.checkbox_true_part::before {content: @fa-check-square;} - &.checkbox_true_part_focus::before {content: @fa-check-square; color: @color-highlight} - &.checkbox_true_full_focus::before {content: @fa-check-square-o; color: @color-highlight} - &.checkbox_true_part::before {content: @fa-check-square-o;color: @color-partial} - &.checkbox_true_part_focus::before {content: @fa-check-square-o;color: @color-partfocus;} - &.checkbox_true_disable::before {content: @fa-check-square-o;color: @color-disabled} - - &.radio_false_full::before {content: @fa-circle-o;} - &.radio_false_full_focus::before {content: @fa-circle-o;color: @color-highlight} - &.radio_false_part::before {content: @fa-circle-o;color: @color-partial} - &.radio_false_part_focus::before {content: @fa-circle-o;color: @color-highlight} - &.radio_false_disable::before {content: @fa-circle-thin;color: @color-disabled} - &.radio_true_full::before {content: @fa-dot-circle-o;} - &.radio_true_full_focus::before {content: @fa-dot-circle-o;color: @color-highlight} - &.radio_true_part::before {content: @fa-dot-circle-o;color: @color-partial} - &.radio_true_part_focus::before {content: @fa-dot-circle-o;color: @color-partial;} - &.radio_true_disable::before {content: @fa-circle-thin;color: @color-disabled} - - } - &.switch {width:@w; height:@h} - &.root_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.root_close::before{content: @fa-folder-open-o;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.roots_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.roots_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.center_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.center_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.bottom_open::before{content: @fa-chevron-down;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.bottom_close::before{content: @fa-chevron-right;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;} - &.noline_open{} - &.noline_close{} - &.root_docu{ background:none;} - &.roots_docu::before{content: @fa-list-alt;padding-left:@pad-left;display: inline-block;color:@color-normal;} - &.center_docu::before{padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;} - &.bottom_docu::before{padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;} - &.noline_docu{ background:none;} - - &.ico_open::before {content: @fa-folder-open-o;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;} - &.ico_close::before {content: @fa-folder-o;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;} - &.ico_docu::before{content: @fa-list-alt;font-family: FontAwesome;padding-top:@pad-top;padding-left:@pad-left;display: inline-block;color:@color-normal;} - - &.edit {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;} - &.edit::before{content: @fa-pencil-square-o;font-family: FontAwesome;} - - &.remove {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;} - &.remove::before{content: @fa-trash;font-family: FontAwesome;} - - - &.add {margin-left:4px; margin-right: -1px; vertical-align:top; *vertical-align:middle;padding-top:@pad-top;} - &.add::before{content: @fa-plus;font-family: FontAwesome;} - - &.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)} - -// this is the arrow that moves -span.tmpzTreeMove_arrow{width:16px; height:@h; display: inline-block; - padding:0; margin:2px 0 0 1px; border:0 none; position:absolute; - background-color:transparent; background-attachment: scroll; - } -span.tmpzTreeMove_arrow::before{content: @fa-play;font-family: FontAwesome;color: @color-highlight; - } -// outline - -ul.ztree.zTreeDragUL {margin:0; padding:0; position:absolute; width:auto; height:auto;overflow:hidden; - background-color:#cfcfcf; border:1px @color-highlight dotted; opacity:0.8; filter:alpha(opacity=80)} -.ztreeMask {z-index:10000; background-color:#cfcfcf; opacity:0.0; filter:alpha(opacity=0); position:absolute} - diff --git a/lib/zTree_v3/css/awesomeStyle/fa.less b/lib/zTree_v3/css/awesomeStyle/fa.less deleted file mode 100755 index 3714884..0000000 --- a/lib/zTree_v3/css/awesomeStyle/fa.less +++ /dev/null @@ -1,480 +0,0 @@ -@fa-glass: "\f000"; -@fa-music: "\f001"; -@fa-search: "\f002"; -@fa-envelope-o: "\f003"; -@fa-heart: "\f004"; -@fa-star: "\f005"; -@fa-star-o: "\f006"; -@fa-user: "\f007"; -@fa-film: "\f008"; -@fa-th-large: "\f009"; -@fa-th: "\f00a"; -@fa-th-list: "\f00b"; -@fa-check: "\f00c"; -@fa-times: "\f00d"; -@fa-search-plus: "\f00e"; -@fa-search-minus: "\f010"; -@fa-power-off: "\f011"; -@fa-signal: "\f012"; -@fa-cog: "\f013"; -@fa-trash-o: "\f014"; -@fa-home: "\f015"; -@fa-file-o: "\f016"; -@fa-clock-o: "\f017"; -@fa-road: "\f018"; -@fa-download: "\f019"; -@fa-arrow-circle-o-down: "\f01a"; -@fa-arrow-circle-o-up: "\f01b"; -@fa-inbox: "\f01c"; -@fa-play-circle-o: "\f01d"; -@fa-repeat: "\f01e"; -@fa-refresh: "\f021"; -@fa-list-alt: "\f022"; -@fa-lock: "\f023"; -@fa-flag: "\f024"; -@fa-headphones: "\f025"; -@fa-volume-off: "\f026"; -@fa-volume-down: "\f027"; -@fa-volume-up: "\f028"; -@fa-qrcode: "\f029"; -@fa-barcode: "\f02a"; -@fa-tag: "\f02b"; -@fa-tags: "\f02c"; -@fa-book: "\f02d"; -@fa-bookmark: "\f02e"; -@fa-print: "\f02f"; -@fa-camera: "\f030"; -@fa-font: "\f031"; -@fa-bold: "\f032"; -@fa-italic: "\f033"; -@fa-text-height: "\f034"; -@fa-text-width: "\f035"; -@fa-align-left: "\f036"; -@fa-align-center: "\f037"; -@fa-align-right: "\f038"; -@fa-align-justify: "\f039"; -@fa-list: "\f03a"; -@fa-outdent: "\f03b"; -@fa-indent: "\f03c"; -@fa-video-camera: "\f03d"; -@fa-picture-o: "\f03e"; -@fa-pencil: "\f040"; -@fa-map-marker: "\f041"; -@fa-adjust: "\f042"; -@fa-tint: "\f043"; -@fa-pencil-square-o: "\f044"; -@fa-share-square-o: "\f045"; -@fa-check-square-o: "\f046"; -@fa-arrows: "\f047"; -@fa-step-backward: "\f048"; -@fa-fast-backward: "\f049"; -@fa-backward: "\f04a"; -@fa-play: "\f04b"; -@fa-pause: "\f04c"; -@fa-stop: "\f04d"; -@fa-forward: "\f04e"; -@fa-fast-forward: "\f050"; -@fa-step-forward: "\f051"; -@fa-eject: "\f052"; -@fa-chevron-left: "\f053"; -@fa-chevron-right: "\f054"; -@fa-plus-circle: "\f055"; -@fa-minus-circle: "\f056"; -@fa-times-circle: "\f057"; -@fa-check-circle: "\f058"; -@fa-question-circle: "\f059"; -@fa-info-circle: "\f05a"; -@fa-crosshairs: "\f05b"; -@fa-times-circle-o: "\f05c"; -@fa-check-circle-o: "\f05d"; -@fa-ban: "\f05e"; -@fa-arrow-left: "\f060"; -@fa-arrow-right: "\f061"; -@fa-arrow-up: "\f062"; -@fa-arrow-down: "\f063"; -@fa-share: "\f064"; -@fa-expand: "\f065"; -@fa-compress: "\f066"; -@fa-plus: "\f067"; -@fa-minus: "\f068"; -@fa-asterisk: "\f069"; -@fa-exclamation-circle: "\f06a"; -@fa-gift: "\f06b"; -@fa-leaf: "\f06c"; -@fa-fire: "\f06d"; -@fa-eye: "\f06e"; -@fa-eye-slash: "\f070"; -@fa-exclamation-triangle: "\f071"; -@fa-plane: "\f072"; -@fa-calendar: "\f073"; -@fa-random: "\f074"; -@fa-comment: "\f075"; -@fa-magnet: "\f076"; -@fa-chevron-up: "\f077"; -@fa-chevron-down: "\f078"; -@fa-retweet: "\f079"; -@fa-shopping-cart: "\f07a"; -@fa-folder: "\f07b"; -@fa-folder-open: "\f07c"; -@fa-arrows-v: "\f07d"; -@fa-arrows-h: "\f07e"; -@fa-bar-chart: "\f080"; -@fa-twitter-square: "\f081"; -@fa-facebook-square: "\f082"; -@fa-camera-retro: "\f083"; -@fa-key: "\f084"; -@fa-cogs: "\f085"; -@fa-comments: "\f086"; -@fa-thumbs-o-up: "\f087"; -@fa-thumbs-o-down: "\f088"; -@fa-star-half: "\f089"; -@fa-heart-o: "\f08a"; -@fa-sign-out: "\f08b"; -@fa-linkedin-square: "\f08c"; -@fa-thumb-tack: "\f08d"; -@fa-external-link: "\f08e"; -@fa-sign-in: "\f090"; -@fa-trophy: "\f091"; -@fa-github-square: "\f092"; -@fa-upload: "\f093"; -@fa-lemon-o: "\f094"; -@fa-phone: "\f095"; -@fa-square-o: "\f096"; -@fa-bookmark-o: "\f097"; -@fa-phone-square: "\f098"; -@fa-twitter: "\f099"; -@fa-facebook: "\f09a"; -@fa-github: "\f09b"; -@fa-unlock: "\f09c"; -@fa-credit-card: "\f09d"; -@fa-rss: "\f09e"; -@fa-hdd-o: "\f0a0"; -@fa-bullhorn: "\f0a1"; -@fa-bell: "\f0f3"; -@fa-certificate: "\f0a3"; -@fa-hand-o-right: "\f0a4"; -@fa-hand-o-left: "\f0a5"; -@fa-hand-o-up: "\f0a6"; -@fa-hand-o-down: "\f0a7"; -@fa-arrow-circle-left: "\f0a8"; -@fa-arrow-circle-right: "\f0a9"; -@fa-arrow-circle-up: "\f0aa"; -@fa-arrow-circle-down: "\f0ab"; -@fa-globe: "\f0ac"; -@fa-wrench: "\f0ad"; -@fa-tasks: "\f0ae"; -@fa-filter: "\f0b0"; -@fa-briefcase: "\f0b1"; -@fa-arrows-alt: "\f0b2"; -@fa-users: "\f0c0"; -@fa-link: "\f0c1"; -@fa-cloud: "\f0c2"; -@fa-flask: "\f0c3"; -@fa-scissors: "\f0c4"; -@fa-files-o: "\f0c5"; -@fa-paperclip: "\f0c6"; -@fa-floppy-o: "\f0c7"; -@fa-square: "\f0c8"; -@fa-bars: "\f0c9"; -@fa-list-ul: "\f0ca"; -@fa-list-ol: "\f0cb"; -@fa-strikethrough: "\f0cc"; -@fa-underline: "\f0cd"; -@fa-table: "\f0ce"; -@fa-magic: "\f0d0"; -@fa-truck: "\f0d1"; -@fa-pinterest: "\f0d2"; -@fa-pinterest-square: "\f0d3"; -@fa-google-plus-square: "\f0d4"; -@fa-google-plus: "\f0d5"; -@fa-money: "\f0d6"; -@fa-caret-down: "\f0d7"; -@fa-caret-up: "\f0d8"; -@fa-caret-left: "\f0d9"; -@fa-caret-right: "\f0da"; -@fa-columns: "\f0db"; -@fa-sort: "\f0dc"; -@fa-sort-desc: "\f0dd"; -@fa-sort-asc: "\f0de"; -@fa-envelope: "\f0e0"; -@fa-linkedin: "\f0e1"; -@fa-undo: "\f0e2"; -@fa-gavel: "\f0e3"; -@fa-tachometer: "\f0e4"; -@fa-comment-o: "\f0e5"; -@fa-comments-o: "\f0e6"; -@fa-bolt: "\f0e7"; -@fa-sitemap: "\f0e8"; -@fa-umbrella: "\f0e9"; -@fa-clipboard: "\f0ea"; -@fa-lightbulb-o: "\f0eb"; -@fa-exchange: "\f0ec"; -@fa-cloud-download: "\f0ed"; -@fa-cloud-upload: "\f0ee"; -@fa-user-md: "\f0f0"; -@fa-stethoscope: "\f0f1"; -@fa-suitcase: "\f0f2"; -@fa-bell-o: "\f0a2"; -@fa-coffee: "\f0f4"; -@fa-cutlery: "\f0f5"; -@fa-file-text-o: "\f0f6"; -@fa-building-o: "\f0f7"; -@fa-hospital-o: "\f0f8"; -@fa-ambulance: "\f0f9"; -@fa-medkit: "\f0fa"; -@fa-fighter-jet: "\f0fb"; -@fa-beer: "\f0fc"; -@fa-h-square: "\f0fd"; -@fa-plus-square: "\f0fe"; -@fa-angle-double-left: "\f100"; -@fa-angle-double-right: "\f101"; -@fa-angle-double-up: "\f102"; -@fa-angle-double-down: "\f103"; -@fa-angle-left: "\f104"; -@fa-angle-right: "\f105"; -@fa-angle-up: "\f106"; -@fa-angle-down: "\f107"; -@fa-desktop: "\f108"; -@fa-laptop: "\f109"; -@fa-tablet: "\f10a"; -@fa-mobile: "\f10b"; -@fa-circle-o: "\f10c"; -@fa-quote-left: "\f10d"; -@fa-quote-right: "\f10e"; -@fa-spinner: "\f110"; -@fa-circle: "\f111"; -@fa-reply: "\f112"; -@fa-github-alt: "\f113"; -@fa-folder-o: "\f114"; -@fa-folder-open-o: "\f115"; -@fa-smile-o: "\f118"; -@fa-frown-o: "\f119"; -@fa-meh-o: "\f11a"; -@fa-gamepad: "\f11b"; -@fa-keyboard-o: "\f11c"; -@fa-flag-o: "\f11d"; -@fa-flag-checkered: "\f11e"; -@fa-terminal: "\f120"; -@fa-code: "\f121"; -@fa-reply-all: "\f122"; -@fa-star-half-o: "\f123"; -@fa-location-arrow: "\f124"; -@fa-crop: "\f125"; -@fa-code-fork: "\f126"; -@fa-chain-broken: "\f127"; -@fa-question: "\f128"; -@fa-info: "\f129"; -@fa-exclamation: "\f12a"; -@fa-superscript: "\f12b"; -@fa-subscript: "\f12c"; -@fa-eraser: "\f12d"; -@fa-puzzle-piece: "\f12e"; -@fa-microphone: "\f130"; -@fa-microphone-slash: "\f131"; -@fa-shield: "\f132"; -@fa-calendar-o: "\f133"; -@fa-fire-extinguisher: "\f134"; -@fa-rocket: "\f135"; -@fa-maxcdn: "\f136"; -@fa-chevron-circle-left: "\f137"; -@fa-chevron-circle-right: "\f138"; -@fa-chevron-circle-up: "\f139"; -@fa-chevron-circle-down: "\f13a"; -@fa-html5: "\f13b"; -@fa-css3: "\f13c"; -@fa-anchor: "\f13d"; -@fa-unlock-alt: "\f13e"; -@fa-bullseye: "\f140"; -@fa-ellipsis-h: "\f141"; -@fa-ellipsis-v: "\f142"; -@fa-rss-square: "\f143"; -@fa-play-circle: "\f144"; -@fa-ticket: "\f145"; -@fa-minus-square: "\f146"; -@fa-minus-square-o: "\f147"; -@fa-level-up: "\f148"; -@fa-level-down: "\f149"; -@fa-check-square: "\f14a"; -@fa-pencil-square: "\f14b"; -@fa-external-link-square: "\f14c"; -@fa-share-square: "\f14d"; -@fa-compass: "\f14e"; -@fa-caret-square-o-down: "\f150"; -@fa-caret-square-o-up: "\f151"; -@fa-caret-square-o-right: "\f152"; -@fa-eur: "\f153"; -@fa-gbp: "\f154"; -@fa-usd: "\f155"; -@fa-inr: "\f156"; -@fa-jpy: "\f157"; -@fa-rub: "\f158"; -@fa-krw: "\f159"; -@fa-btc: "\f15a"; -@fa-file: "\f15b"; -@fa-file-text: "\f15c"; -@fa-sort-alpha-asc: "\f15d"; -@fa-sort-alpha-desc: "\f15e"; -@fa-sort-amount-asc: "\f160"; -@fa-sort-amount-desc: "\f161"; -@fa-sort-numeric-asc: "\f162"; -@fa-sort-numeric-desc: "\f163"; -@fa-thumbs-up: "\f164"; -@fa-thumbs-down: "\f165"; -@fa-youtube-square: "\f166"; -@fa-youtube: "\f167"; -@fa-xing: "\f168"; -@fa-xing-square: "\f169"; -@fa-youtube-play: "\f16a"; -@fa-dropbox: "\f16b"; -@fa-stack-overflow: "\f16c"; -@fa-instagram: "\f16d"; -@fa-flickr: "\f16e"; -@fa-adn: "\f170"; -@fa-bitbucket: "\f171"; -@fa-bitbucket-square: "\f172"; -@fa-tumblr: "\f173"; -@fa-tumblr-square: "\f174"; -@fa-long-arrow-down: "\f175"; -@fa-long-arrow-up: "\f176"; -@fa-long-arrow-left: "\f177"; -@fa-long-arrow-right: "\f178"; -@fa-apple: "\f179"; -@fa-windows: "\f17a"; -@fa-android: "\f17b"; -@fa-linux: "\f17c"; -@fa-dribbble: "\f17d"; -@fa-skype: "\f17e"; -@fa-foursquare: "\f180"; -@fa-trello: "\f181"; -@fa-female: "\f182"; -@fa-male: "\f183"; -@fa-gittip: "\f184"; -@fa-sun-o: "\f185"; -@fa-moon-o: "\f186"; -@fa-archive: "\f187"; -@fa-bug: "\f188"; -@fa-vk: "\f189"; -@fa-weibo: "\f18a"; -@fa-renren: "\f18b"; -@fa-pagelines: "\f18c"; -@fa-stack-exchange: "\f18d"; -@fa-arrow-circle-o-right: "\f18e"; -@fa-arrow-circle-o-left: "\f190"; -@fa-caret-square-o-left: "\f191"; -@fa-dot-circle-o: "\f192"; -@fa-wheelchair: "\f193"; -@fa-vimeo-square: "\f194"; -@fa-try: "\f195"; -@fa-plus-square-o: "\f196"; -@fa-space-shuttle: "\f197"; -@fa-slack: "\f198"; -@fa-envelope-square: "\f199"; -@fa-wordpress: "\f19a"; -@fa-openid: "\f19b"; -@fa-university: "\f19c"; -@fa-graduation-cap: "\f19d"; -@fa-yahoo: "\f19e"; -@fa-google: "\f1a0"; -@fa-reddit: "\f1a1"; -@fa-reddit-square: "\f1a2"; -@fa-stumbleupon-circle: "\f1a3"; -@fa-stumbleupon: "\f1a4"; -@fa-delicious: "\f1a5"; -@fa-digg: "\f1a6"; -@fa-pied-piper: "\f1a7"; -@fa-pied-piper-alt: "\f1a8"; -@fa-drupal: "\f1a9"; -@fa-joomla: "\f1aa"; -@fa-language: "\f1ab"; -@fa-fax: "\f1ac"; -@fa-building: "\f1ad"; -@fa-child: "\f1ae"; -@fa-paw: "\f1b0"; -@fa-spoon: "\f1b1"; -@fa-cube: "\f1b2"; -@fa-cubes: "\f1b3"; -@fa-behance: "\f1b4"; -@fa-behance-square: "\f1b5"; -@fa-steam: "\f1b6"; -@fa-steam-square: "\f1b7"; -@fa-recycle: "\f1b8"; -@fa-car: "\f1b9"; -@fa-taxi: "\f1ba"; -@fa-tree: "\f1bb"; -@fa-spotify: "\f1bc"; -@fa-deviantart: "\f1bd"; -@fa-soundcloud: "\f1be"; -@fa-database: "\f1c0"; -@fa-file-pdf-o: "\f1c1"; -@fa-file-word-o: "\f1c2"; -@fa-file-excel-o: "\f1c3"; -@fa-file-powerpoint-o: "\f1c4"; -@fa-file-image-o: "\f1c5"; -@fa-file-archive-o: "\f1c6"; -@fa-file-audio-o: "\f1c7"; -@fa-file-video-o: "\f1c8"; -@fa-file-code-o: "\f1c9"; -@fa-vine: "\f1ca"; -@fa-codepen: "\f1cb"; -@fa-jsfiddle: "\f1cc"; -@fa-life-ring: "\f1cd"; -@fa-circle-o-notch: "\f1ce"; -@fa-rebel: "\f1d0"; -@fa-empire: "\f1d1"; -@fa-git-square: "\f1d2"; -@fa-git: "\f1d3"; -@fa-hacker-news: "\f1d4"; -@fa-tencent-weibo: "\f1d5"; -@fa-qq: "\f1d6"; -@fa-weixin: "\f1d7"; -@fa-paper-plane: "\f1d8"; -@fa-paper-plane-o: "\f1d9"; -@fa-history: "\f1da"; -@fa-circle-thin: "\f1db"; -@fa-header: "\f1dc"; -@fa-paragraph: "\f1dd"; -@fa-sliders: "\f1de"; -@fa-share-alt: "\f1e0"; -@fa-share-alt-square: "\f1e1"; -@fa-bomb: "\f1e2"; -@fa-futbol-o: "\f1e3"; -@fa-tty: "\f1e4"; -@fa-binoculars: "\f1e5"; -@fa-plug: "\f1e6"; -@fa-slideshare: "\f1e7"; -@fa-twitch: "\f1e8"; -@fa-yelp: "\f1e9"; -@fa-newspaper-o: "\f1ea"; -@fa-wifi: "\f1eb"; -@fa-calculator: "\f1ec"; -@fa-paypal: "\f1ed"; -@fa-google-wallet: "\f1ee"; -@fa-cc-visa: "\f1f0"; -@fa-cc-mastercard: "\f1f1"; -@fa-cc-discover: "\f1f2"; -@fa-cc-amex: "\f1f3"; -@fa-cc-paypal: "\f1f4"; -@fa-cc-stripe: "\f1f5"; -@fa-bell-slash: "\f1f6"; -@fa-bell-slash-o: "\f1f7"; -@fa-trash: "\f1f8"; -@fa-copyright: "\f1f9"; -@fa-at: "\f1fa"; -@fa-eyedropper: "\f1fb"; -@fa-paint-brush: "\f1fc"; -@fa-birthday-cake: "\f1fd"; -@fa-area-chart: "\f1fe"; -@fa-pie-chart: "\f200"; -@fa-line-chart: "\f201"; -@fa-lastfm: "\f202"; -@fa-lastfm-square: "\f203"; -@fa-toggle-off: "\f204"; -@fa-toggle-on: "\f205"; -@fa-bicycle: "\f206"; -@fa-bus: "\f207"; -@fa-ioxhost: "\f208"; -@fa-angellist: "\f209"; -@fa-cc: "\f20a"; -@fa-ils: "\f20b"; -@fa-meanpath: "\f20c"; - diff --git a/lib/zTree_v3/css/awesomeStyle/img/loading.gif b/lib/zTree_v3/css/awesomeStyle/img/loading.gif deleted file mode 100755 index e8c2892..0000000 Binary files a/lib/zTree_v3/css/awesomeStyle/img/loading.gif and /dev/null differ diff --git a/lib/zTree_v3/css/demo.css b/lib/zTree_v3/css/demo.css deleted file mode 100755 index f6dba0d..0000000 --- a/lib/zTree_v3/css/demo.css +++ /dev/null @@ -1,33 +0,0 @@ -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 #617775;background: #f0f6e4;width:220px;height:360px;overflow-y:scroll;overflow-x:auto;} -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/lib/zTree_v3/css/metroStyle/img/line_conn.png b/lib/zTree_v3/css/metroStyle/img/line_conn.png deleted file mode 100755 index b211da2..0000000 Binary files a/lib/zTree_v3/css/metroStyle/img/line_conn.png and /dev/null differ diff --git a/lib/zTree_v3/css/metroStyle/img/loading.gif b/lib/zTree_v3/css/metroStyle/img/loading.gif deleted file mode 100755 index e8c2892..0000000 Binary files a/lib/zTree_v3/css/metroStyle/img/loading.gif and /dev/null differ diff --git a/lib/zTree_v3/css/metroStyle/img/metro.gif b/lib/zTree_v3/css/metroStyle/img/metro.gif deleted file mode 100755 index 664b969..0000000 Binary files a/lib/zTree_v3/css/metroStyle/img/metro.gif and /dev/null differ diff --git a/lib/zTree_v3/css/metroStyle/img/metro.png b/lib/zTree_v3/css/metroStyle/img/metro.png deleted file mode 100755 index e9e58a3..0000000 Binary files a/lib/zTree_v3/css/metroStyle/img/metro.png and /dev/null differ diff --git a/lib/zTree_v3/css/metroStyle/metroStyle.css b/lib/zTree_v3/css/metroStyle/metroStyle.css deleted file mode 100755 index af81f42..0000000 --- a/lib/zTree_v3/css/metroStyle/metroStyle.css +++ /dev/null @@ -1,96 +0,0 @@ -/*------------------------------------- -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: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:17px; 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.png) 0 0 repeat-y;} - -.ztree li a {padding-right:3px; margin:0; cursor:pointer; height:21px; color:#333; background-color: transparent; text-decoration:none; vertical-align:top; display: inline-block} -.ztree li a:hover {text-decoration:underline} -.ztree li a.curSelectedNode {padding-top:0px; background-color:#e5e5e5; color:black; height:21px; opacity:0.8;} -.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#e5e5e5; color:black; height:21px; border:1px #666 solid; opacity:0.8;} -.ztree li a.tmpTargetNode_inner {padding-top:0px; background-color:#aaa; color:white; height:21px; border:1px #666 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 #585956 solid; *border:0px} -.ztree li span {line-height:21px; margin-right:2px} -.ztree li span.button {line-height:0; margin:0; padding: 0; width:21px; height:21px; 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/metro.png"); *background-image:url("./img/metro.gif")} - -.ztree li span.button.chk {width:13px; height:13px; margin:0 2px; cursor: auto} -.ztree li span.button.chk.checkbox_false_full {background-position: -5px -5px;} -.ztree li span.button.chk.checkbox_false_full_focus {background-position: -5px -26px;} -.ztree li span.button.chk.checkbox_false_part {background-position: -5px -48px;} -.ztree li span.button.chk.checkbox_false_part_focus {background-position: -5px -68px;} -.ztree li span.button.chk.checkbox_false_disable {background-position: -5px -89px;} -.ztree li span.button.chk.checkbox_true_full {background-position: -26px -5px;} -.ztree li span.button.chk.checkbox_true_full_focus {background-position: -26px -26px;} -.ztree li span.button.chk.checkbox_true_part {background-position: -26px -48px;} -.ztree li span.button.chk.checkbox_true_part_focus {background-position: -26px -68px;} -.ztree li span.button.chk.checkbox_true_disable {background-position: -26px -89px;} -.ztree li span.button.chk.radio_false_full {background-position: -47px -5px;} -.ztree li span.button.chk.radio_false_full_focus {background-position: -47px -26px;} -.ztree li span.button.chk.radio_false_part {background-position: -47px -47px;} -.ztree li span.button.chk.radio_false_part_focus {background-position: -47px -68px;} -.ztree li span.button.chk.radio_false_disable {background-position: -47px -89px;} -.ztree li span.button.chk.radio_true_full {background-position: -68px -5px;} -.ztree li span.button.chk.radio_true_full_focus {background-position: -68px -26px;} -.ztree li span.button.chk.radio_true_part {background-position: -68px -47px;} -.ztree li span.button.chk.radio_true_part_focus {background-position: -68px -68px;} -.ztree li span.button.chk.radio_true_disable {background-position: -68px -89px;} - -.ztree li span.button.switch {width:21px; height:21px} -.ztree li span.button.root_open{background-position:-105px -63px} -.ztree li span.button.root_close{background-position:-126px -63px} -.ztree li span.button.roots_open{background-position: -105px 0;} -.ztree li span.button.roots_close{background-position: -126px 0;} -.ztree li span.button.center_open{background-position: -105px -21px;} -.ztree li span.button.center_close{background-position: -126px -21px;} -.ztree li span.button.bottom_open{background-position: -105px -42px;} -.ztree li span.button.bottom_close{background-position: -126px -42px;} -.ztree li span.button.noline_open{background-position: -105px -84px;} -.ztree li span.button.noline_close{background-position: -126px -84px;} -.ztree li span.button.root_docu{ background:none;} -.ztree li span.button.roots_docu{background-position: -84px 0;} -.ztree li span.button.center_docu{background-position: -84px -21px;} -.ztree li span.button.bottom_docu{background-position: -84px -42px;} -.ztree li span.button.noline_docu{ background:none;} - -.ztree li span.button.ico_open{margin-right:2px; background-position: -147px -21px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.ico_close{margin-right:2px; margin-right:2px; background-position: -147px 0; vertical-align:top; *vertical-align:middle} -.ztree li span.button.ico_docu{margin-right:2px; background-position: -147px -42px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.edit {margin-left:2px; margin-right: -1px; background-position: -189px -21px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.edit:hover { - background-position: -168px -21px; -} -.ztree li span.button.remove {margin-left:2px; margin-right: -1px; background-position: -189px -42px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.remove:hover { - background-position: -168px -42px; -} -.ztree li span.button.add {margin-left:2px; margin-right: -1px; background-position: -189px 0; vertical-align:top; *vertical-align:middle} -.ztree li span.button.add:hover { - background-position: -168px 0; -} -.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:21px; 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:-168px -84px; background-image:url("./img/metro.png"); *background-image:url("./img/metro.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} diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/1_close.png b/lib/zTree_v3/css/zTreeStyle/img/diy/1_close.png deleted file mode 100755 index 68ccb3c..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/1_close.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/1_open.png b/lib/zTree_v3/css/zTreeStyle/img/diy/1_open.png deleted file mode 100755 index d6ff36d..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/1_open.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/2.png b/lib/zTree_v3/css/zTreeStyle/img/diy/2.png deleted file mode 100755 index 9eff506..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/2.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/3.png b/lib/zTree_v3/css/zTreeStyle/img/diy/3.png deleted file mode 100755 index d7ba6d0..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/3.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/4.png b/lib/zTree_v3/css/zTreeStyle/img/diy/4.png deleted file mode 100755 index 753e2bf..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/4.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/5.png b/lib/zTree_v3/css/zTreeStyle/img/diy/5.png deleted file mode 100755 index 0c5eccd..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/5.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/6.png b/lib/zTree_v3/css/zTreeStyle/img/diy/6.png deleted file mode 100755 index 070b835..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/6.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/7.png b/lib/zTree_v3/css/zTreeStyle/img/diy/7.png deleted file mode 100755 index 532b037..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/7.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/8.png b/lib/zTree_v3/css/zTreeStyle/img/diy/8.png deleted file mode 100755 index a8f3a86..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/8.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/diy/9.png b/lib/zTree_v3/css/zTreeStyle/img/diy/9.png deleted file mode 100755 index 4db73cd..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/diy/9.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/line_conn.gif b/lib/zTree_v3/css/zTreeStyle/img/line_conn.gif deleted file mode 100755 index d561d36..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/line_conn.gif and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/loading.gif b/lib/zTree_v3/css/zTreeStyle/img/loading.gif deleted file mode 100755 index e8c2892..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/loading.gif and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.gif b/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.gif deleted file mode 100755 index 50c94fd..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.gif and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.png b/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.png deleted file mode 100755 index ffda01e..0000000 Binary files a/lib/zTree_v3/css/zTreeStyle/img/zTreeStandard.png and /dev/null differ diff --git a/lib/zTree_v3/css/zTreeStyle/zTreeStyle.css b/lib/zTree_v3/css/zTreeStyle/zTreeStyle.css deleted file mode 100755 index 4a1705b..0000000 --- a/lib/zTree_v3/css/zTreeStyle/zTreeStyle.css +++ /dev/null @@ -1,97 +0,0 @@ -/*------------------------------------- -zTree Style - -version: 3.5.19 -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; 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:17px; color:#333; background-color: transparent; - text-decoration:none; vertical-align:top; display: inline-block} -.ztree li a:hover {text-decoration:underline} -.ztree li a.curSelectedNode {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;} -.ztree li a.curSelectedNode_Edit {padding-top:0px; background-color:#FFE6B0; color:black; height:16px; border:1px #FFB951 solid; opacity:0.8;} -.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;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} -.ztree li span.button.edit {margin-right:2px; background-position:-110px -48px; vertical-align:top; *vertical-align:middle} -.ztree li span.button.remove {margin-right:2px; background-position:-110px -64px; vertical-align:top; *vertical-align:middle} - -.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/lib/zTree_v3/demo/cn/asyncData/getNodes.php b/lib/zTree_v3/demo/cn/asyncData/getNodes.php deleted file mode 100755 index 6d22b5e..0000000 --- a/lib/zTree_v3/demo/cn/asyncData/getNodes.php +++ /dev/null @@ -1,42 +0,0 @@ - -[] diff --git a/lib/zTree_v3/demo/cn/asyncData/getNodesForBigData.php b/lib/zTree_v3/demo/cn/asyncData/getNodesForBigData.php deleted file mode 100755 index 588c14c..0000000 --- a/lib/zTree_v3/demo/cn/asyncData/getNodesForBigData.php +++ /dev/null @@ -1,26 +0,0 @@ - -[] diff --git a/lib/zTree_v3/demo/cn/bigdata/common.html b/lib/zTree_v3/demo/cn/bigdata/common.html deleted file mode 100755 index 1f602f1..0000000 --- a/lib/zTree_v3/demo/cn/bigdata/common.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - ZTREE DEMO - big data common - - - - - - - - - - - -

                        一次性加载大数据量

                        -
                        [ 文件路径: bigdata/common.html ]
                        -
                        - -
                        -
                          -
                        • 1、大数据量加载说明

                          -
                            -
                          • 1)、zTree v3.x 针对大数据量一次性加载进行了更深入的优化,实现了延迟加载功能,即不展开的节点不创建子节点的 DOM。
                          • -
                          • 2)、对于每级节点最多一百左右,但总节点数几千甚至几万,且不是全部展开的数据,一次性加载的效果最明显,速度非常快。
                          • -
                          • 3)、对于某一级节点数就多达几千的情况 延迟加载无效,这种情况建议考虑分页异步加载。
                          • -
                          • 4)、对于全部节点都展开显示的情况,延迟加载无效,这种情况建议不要全部展开。
                          • -
                          • 5)、显示 checkbox / radio 会造成一定程度的性能下降。
                          • -
                          • 6)、利用 addDiyDom 功能增加自定义控件会影响速度,影响程度受节点数量而定。
                          • -
                          • 7)、利用 onNodeCreated 事件回调函数对节点 DOM 进行操作会影响速度,影响程度受节点数量而定。
                          • -
                          -
                        • -
                        • 2、setting 配置信息说明

                          -
                            -
                          • 不需要进行特殊的配置
                          • -
                          -
                        • -
                        • 3、treeNode 节点数据说明

                          -
                            -
                          • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                          • -
                          -
                        • -
                        -
                        -
                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/bigdata/diy_async.html b/lib/zTree_v3/demo/cn/bigdata/diy_async.html deleted file mode 100755 index 3a2ec02..0000000 --- a/lib/zTree_v3/demo/cn/bigdata/diy_async.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - ZTREE DEMO - big data async - - - - - - - - - - - -

                        分批异步加载大数据量

                        -
                        [ 文件路径: bigdata/diy_async.html ]
                        -
                        -
                        -
                          -
                        •     此 Demo 专门用于测试分批异步加载,每次展开节点都要重新进行异步加载。
                        • -
                        -
                          -
                          -
                          -
                            -
                          • 1、大数据量加载说明

                            -
                              -
                            • 1)、对于某一级节点数多达几千个的时候,zTree 默认的延迟加载是无效的,此 Demo 演示了一种原先 zTree v2.6 时的分批加载节点的方法。
                            • -
                            • 2)、此方法适用于1、2千个节点必须全部显示的需求。
                            • -
                            • 3)、此方法并不能解决加载慢的问题,相反只会让最终结果出现的更慢,只是可以有限度的避免浏览器假死,而且显示的节点越多就越慢。
                            • -
                            • 4)、对于某一级节点数至少几千个的情况,另一个解决方案是:分页异步加载。
                              - async load log:
                              -
                              • -
                              -
                            • -
                            • 2、setting 配置信息说明

                              -
                                -
                              • 需要设置 setting.async 异步加载部分的参数
                              • -
                              • 建议关闭动画效果 setting.view.expandSpeed = "";
                              • -
                              • 其他不需要进行特殊的配置,根据自己的需求自行设置
                              • -
                              -
                            • -
                            • 3、treeNode 节点数据说明

                              -
                                -
                              • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                              • -
                              -
                            • -
                            -
                            -
                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/bigdata/page.html b/lib/zTree_v3/demo/cn/bigdata/page.html deleted file mode 100755 index f629823..0000000 --- a/lib/zTree_v3/demo/cn/bigdata/page.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - ZTREE DEMO - big data page - - - - - - - - - - - - -

                            分页加载大数据量

                            -
                            [ 文件路径: bigdata/page.html ]
                            -
                            -
                            -
                              -
                              -
                              -
                                -
                              • 1、大数据量加载说明

                                -
                                  -
                                • 1)、分页方案可以有效解决某一级节点数据超大的情况。
                                • -
                                • 2)、分页按钮通过自定义控件的方法实现。
                                • -
                                • 3)、分页方案对于 checkbox 的关联关系无能为力,只能每次翻页后进行修正。由于时间关系,Demo 中不对 checkbox 的关联进行任何修正处理。
                                • -
                                • 4)、分页方案中,从 zTree 得到的节点数据只有当前页的节点数据,可以在每次翻页后自行保存每页的数据,作为缓存,具体情况要根据实际需求来决定。
                                • - -
                                • 2、setting 配置信息说明

                                  -
                                    -
                                  • 需要设置 setting.async 异步加载部分的参数
                                  • -
                                  • 其他不需要进行特殊的配置,根据自己的需求自行设置
                                  • -
                                  -
                                • -
                                • 3、treeNode 节点数据说明

                                  -
                                    -
                                  • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                  • -
                                  -
                                • -
                                -
                              -
                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/async.html b/lib/zTree_v3/demo/cn/core/async.html deleted file mode 100755 index 7723b3c..0000000 --- a/lib/zTree_v3/demo/cn/core/async.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - ZTREE DEMO - Async - - - - - - - - - - -

                              异步加载节点数据的树

                              -
                              [ 文件路径: core/async.html ]
                              -
                              -
                              -
                                -
                                -
                                -
                                  -
                                • 1、setting 配置信息说明

                                  -
                                    -
                                  • 使用异步加载,必须设置 setting.async 中的各个属性,详细请参见 API 文档中的相关内容
                                  • -
                                  -
                                • -
                                • 2、treeNode 节点数据说明

                                  -
                                    -
                                  • 异步加载功能对于 treeNode 节点数据没有特别要求,如果采用简单 JSON 数据,请设置 setting.data.simple 中的属性
                                  • -
                                  • 如果异步加载每次都只返回单层的节点数据,那么可以不设置简单 JSON 数据模式
                                  • -
                                  -
                                • -
                                • 3、其他说明

                                  -
                                    -
                                  • 观察 autoParam 和 otherParam 请使用 firebug 或 浏览器的开发人员工具
                                  • -
                                  • 此 Demo 只能加载到第 4 级节点(level=3)
                                  • -
                                  • 此 Demo 利用 dataFilter 对节点的 name 进行了修改
                                  • -
                                  -
                                • -
                                -
                                -
                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/async_fun.html b/lib/zTree_v3/demo/cn/core/async_fun.html deleted file mode 100755 index 081a840..0000000 --- a/lib/zTree_v3/demo/cn/core/async_fun.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - ZTREE DEMO - reAsyncChildNodes - - - - - - - - - - - -

                                用 zTree 方法异步加载节点数据

                                -
                                [ 文件路径: core/async_fun.html ]
                                -
                                -
                                -
                                  -
                                  -
                                  -
                                    -
                                  • 1、reAsyncChildNodes 方法操作说明

                                    -
                                      -
                                    • 使用 zTreeObj.reAsyncChildNodes 方法,详细请参见 API 文档中的相关内容
                                    • -
                                    • 此 Demo 只能同时选中一个父节点
                                      - 试试看:[ 重新加载 ]    [ 追加 ]

                                      -
                                    • -
                                    • “悄悄地”操作只能针对 折叠状态 的父节点
                                      - 试试看:[ 悄悄地 重新加载 ]    [ 悄悄地 追加 ]
                                      - async log:
                                      -

                                        -
                                      • -
                                      -
                                    • -
                                    • 2、setting 配置信息说明

                                      -
                                        -
                                      • 使用 zTree 提供的 reAsyncChildNodes 方法也必须设置 setting.async 中的各个属性,详细请参见 API 文档中的相关内容
                                      • -
                                      -
                                    • -
                                    • 3、treeNode 节点数据说明

                                      -
                                        -
                                      • 同 "异步加载 节点数据" 中的说明
                                      • -
                                      -
                                    • -
                                    • 4、其他说明

                                      -
                                        -
                                      • 同 "异步加载 节点数据" 中的说明
                                      • -
                                      -
                                    • -
                                    -
                                    -
                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/click.html b/lib/zTree_v3/demo/cn/core/click.html deleted file mode 100755 index 4d97475..0000000 --- a/lib/zTree_v3/demo/cn/core/click.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - ZTREE DEMO - beforeClick / onClick - - - - - - - - - - -

                                    单击节点控制

                                    -
                                    [ 文件路径: core/click.html ]
                                    -
                                    -
                                    -
                                      -
                                      -
                                      -
                                        -
                                      • 1、beforeClick / onClick 事件回调函数控制

                                        -
                                          -
                                        • 利用 click 事件回调函数 可以进行各种其他的附加操作,这里简单演示如何监控此事件
                                        • -
                                        • 请尝试按下 CtrlCmd 键进行 多节点选择 和 取消选择
                                          - click log:
                                          -

                                            -
                                          • -
                                          -
                                        • -
                                        • 2、setting 配置信息说明

                                          -
                                            -
                                          • 需要设置 setting.callback.beforeClick 和 setting.callback.onClick 属性, 详细请参见 API 文档中的相关内容
                                          • -
                                          -
                                        • -
                                        • 3、treeNode 节点数据说明

                                          -
                                            -
                                          • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                          • -
                                          -
                                        • -
                                        -
                                        -
                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/custom_font.html b/lib/zTree_v3/demo/cn/core/custom_font.html deleted file mode 100755 index b94abec..0000000 --- a/lib/zTree_v3/demo/cn/core/custom_font.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - ZTREE DEMO - Custom Font - - - - - - - - - - -

                                        显示自定义字体的树

                                        -
                                        [ 文件路径: core/custom_font.html ]
                                        -
                                        -
                                        -
                                          -
                                          -
                                          -
                                            -
                                          • 1、setting 配置信息说明

                                            -
                                              -
                                            • 1、节点自定义字体请设置 setting.view.fontCss 属性,详细请参见 API 文档中的相关内容
                                            • -
                                            • 2、setting.view.nameIsHTML 属性可以允许节点名称支持 HTML 内容,详细请参见 API 文档中的相关内容
                                            • -
                                            -
                                          • -
                                          • 2、treeNode 节点数据说明

                                            -
                                              -
                                            • 设置字体不需要 treeNode 设置特殊数据,但如果用于为了区别不同类型的节点,设置不同的样式,可以对相应的数据设置自定义属性
                                            • -
                                            • 此 Demo 利用 treeNode 保存样式定义
                                            • -
                                            -
                                          • -
                                          -
                                          -
                                          - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/custom_icon.html b/lib/zTree_v3/demo/cn/core/custom_icon.html deleted file mode 100755 index 23ba105..0000000 --- a/lib/zTree_v3/demo/cn/core/custom_icon.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - ZTREE DEMO - Custom Icon - - - - - - - - - - -

                                          自定义图标 -- icon 属性

                                          -
                                          [ 文件路径: core/custom_icon.html ]
                                          -
                                          -
                                          -
                                            -
                                            -
                                            -
                                              -
                                            • 1、setting 配置信息说明

                                              -
                                                -
                                              • 自定义图标不需要对 setting 进行特殊配置
                                              • -
                                              -
                                            • -
                                            • 2、treeNode 节点数据说明

                                              -
                                                -
                                              • 利用 节点数据的 icon / iconOpen / iconClose 属性实现自定义图标
                                              • -
                                              • 详细请参见 API 文档中的相关内容
                                              • -
                                              -
                                            • -
                                            • 3、其他说明

                                              -
                                                -
                                              • 由于时间关系,例子直接采用 png 图片,如果需要解决 ie6 下 png 图片的透明问题,请针对 ie6 制作特殊的 gif 图片或者利用 css filter 解决
                                              • -
                                              -
                                            • -
                                            -
                                            -
                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/custom_iconSkin.html b/lib/zTree_v3/demo/cn/core/custom_iconSkin.html deleted file mode 100755 index 9b28e75..0000000 --- a/lib/zTree_v3/demo/cn/core/custom_iconSkin.html +++ /dev/null @@ -1,84 +0,0 @@ - - - - ZTREE DEMO - Custom Icon Skin - - - - - - - - - - - -

                                            自定义图标 -- iconSkin 属性

                                            -
                                            [ 文件路径: core/custom_iconSkin.html ]
                                            -
                                            -
                                            -
                                              -
                                              -
                                              -
                                                -
                                              • 1、setting 配置信息说明

                                                -
                                                  -
                                                • 自定义图标不需要对 setting 进行特殊配置
                                                • -
                                                -
                                              • -
                                              • 2、treeNode 节点数据说明

                                                -
                                                  -
                                                • 利用 节点数据的 iconSkin 属性 配合 css 实现自定义图标
                                                • -
                                                • 详细请参见 API 文档中的相关内容
                                                • -
                                                -
                                              • -
                                              • 3、其他说明

                                                -
                                                  -
                                                • 由于时间关系,例子直接采用 png 图片,如果需要解决 ie6 下 png 图片的透明问题,请针对 ie6 制作特殊的 gif 图片或者利用 css filter 解决
                                                • -
                                                -
                                              • -
                                              -
                                              -
                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/expand.html b/lib/zTree_v3/demo/cn/core/expand.html deleted file mode 100755 index 41f8e4f..0000000 --- a/lib/zTree_v3/demo/cn/core/expand.html +++ /dev/null @@ -1,185 +0,0 @@ - - - - ZTREE DEMO - beforeExpand / onExpand && beforeCollapse / onCollapse - - - - - - - - - - -

                                              展开 / 折叠父节点控制

                                              -
                                              [ 文件路径: core/expand.html ]
                                              -
                                              -
                                              -
                                                -
                                                -
                                                -
                                                  -
                                                • 1、beforeCollapse / onCollapse
                                                    beforeExpand / onExpand 事件回调函数控制

                                                  -
                                                    -
                                                  • 利用 collapse / expand 事件回调函数 可以控制父节点是否允许 展开 / 折叠,这里简单演示如何监控此事件
                                                  • -
                                                  • 试试看:
                                                    -      expandNode 方法是否触发 callback
                                                    -     单个节点--[ 展开 ] -     [ 折叠 ] -     [ 展开 / 折叠 切换 ]
                                                    -     单个节点(包括子节点)--[ 展开 ] -     [ 折叠 ]
                                                    -     全部节点--[ 展开 ] -     [ 折叠 ]

                                                    -
                                                  • 使用 zTreeObj.expandNode 方法,详细请参见 API 文档中的相关内容
                                                    - collapse / expand log:
                                                    -

                                                      -
                                                    • -
                                                    -
                                                  • -
                                                  • 2、setting 配置信息说明

                                                    -
                                                      -
                                                    • 事件回调函数的使用,详细请参见 API 文档中 setting.callback 的相关内容
                                                    • -
                                                    • 如果需要调整 展开 / 折叠 的动画效果, 详细请参见 API 文档中 setting.view.expandSpeed 的相关内容
                                                    • -
                                                    -
                                                  • -
                                                  • 3、treeNode 节点数据说明

                                                    -
                                                      -
                                                    • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                    • -
                                                    -
                                                  • -
                                                  -
                                                  -
                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/noicon.html b/lib/zTree_v3/demo/cn/core/noicon.html deleted file mode 100755 index e59c0b2..0000000 --- a/lib/zTree_v3/demo/cn/core/noicon.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - ZTREE DEMO - noIcon - - - - - - - - - - - -

                                                  不显示节点图标的树

                                                  -
                                                  [ 文件路径: core/noicon.html ]
                                                  -
                                                  -
                                                  -
                                                    -
                                                    -
                                                    -
                                                      -
                                                    • 1、setting 配置信息说明

                                                      -
                                                        -
                                                      • 此 Demo 利用 Function 设置了使父节点不显示图标的规则
                                                      • -
                                                      • 是否显示节点图标请设置 setting.view.showIcon 属性,详细请参见 API 文档中的相关内容
                                                      • -
                                                      -
                                                    • -
                                                    • 2、treeNode 节点数据说明

                                                      -
                                                        -
                                                      • 是否显示图标,不需要 treeNode 节点数据提供特殊设置,但如果用户需要根据不同节点动态设置,可以对节点数据增加特殊属性,用于判别
                                                      • -
                                                      -
                                                    • -
                                                    -
                                                    -
                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/noline.html b/lib/zTree_v3/demo/cn/core/noline.html deleted file mode 100755 index 8322c55..0000000 --- a/lib/zTree_v3/demo/cn/core/noline.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - ZTREE DEMO - noLine - - - - - - - - - - - -

                                                    不显示连接线的树

                                                    -
                                                    [ 文件路径: core/noline.html ]
                                                    -
                                                    -
                                                    -
                                                      -
                                                      -
                                                      -
                                                        -
                                                      • 1、setting 配置信息说明

                                                        -
                                                          -
                                                        • 是否显示连接线请设置 setting.view.showLine 属性,详细请参见 API 文档中的相关内容
                                                        • -
                                                        -
                                                      • -
                                                      • 2、treeNode 节点数据说明

                                                        -
                                                          -
                                                        • 是否显示连线,不需要 treeNode 节点数据提供特殊设置
                                                        • -
                                                        -
                                                      • -
                                                      -
                                                      -
                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/otherMouse.html b/lib/zTree_v3/demo/cn/core/otherMouse.html deleted file mode 100755 index 3381eab..0000000 --- a/lib/zTree_v3/demo/cn/core/otherMouse.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - ZTREE DEMO - Other Mouse Event - - - - - - - - - - -

                                                      其他鼠标事件监听

                                                      -
                                                      [ 文件路径: core/otherMouse.html ]
                                                      -
                                                      -
                                                      -
                                                        -
                                                        -
                                                        -
                                                          -
                                                        • 1、mousedown / mouseup / rightClick 事件回调函数控制

                                                          -
                                                            -
                                                          • zTree 提供 这几种鼠标事件响应,主要是为了便于用户针对一些特殊需求进行扩展开发,不会对 zTree 造成任何影响,这里简单演示如何监控此事件
                                                          • -
                                                          • 请尝试鼠标在 zTree 上胡乱点击(左键、右键)吧,顺便看看 log
                                                            - mousedown event log:
                                                            -

                                                              - mouseup event log:
                                                              -
                                                                - rightClick event log:
                                                                -

                                                                  -
                                                                • -
                                                                -
                                                              • -
                                                              • 2、setting 配置信息说明

                                                                -
                                                                  -
                                                                • 事件回调函数的使用,详细请参见 API 文档中 setting.callback 的相关内容
                                                                • -
                                                                -
                                                              • -
                                                              • 3、treeNode 节点数据说明

                                                                -
                                                                  -
                                                                • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                                • -
                                                                -
                                                              • -
                                                              -
                                                              -
                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/searchNodes.html b/lib/zTree_v3/demo/cn/core/searchNodes.html deleted file mode 100755 index 380d3e0..0000000 --- a/lib/zTree_v3/demo/cn/core/searchNodes.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - ZTREE DEMO - getNodeByParam / getNodesByParam / getNodesByParamFuzzy - - - - - - - - - - -

                                                              根据参数查找节点

                                                              -
                                                              [ 文件路径: core/searchNodes.html ]
                                                              -
                                                              -
                                                              -
                                                                -
                                                                -
                                                                -
                                                                  -
                                                                • 1、getNodeByParam / getNodesByParam / getNodesByParamFuzzy 方法操作说明

                                                                  -
                                                                    -
                                                                  • 使用 zTreeObj.getNodeByParam / getNodesByParam / getNodesByParamFuzzy / getNodeByTId 方法,详细请参见 API 文档中的相关内容
                                                                  • -
                                                                  • 搜索试试看:
                                                                    - 属性值( value ):
                                                                    - 属性( key ):name (string)
                                                                    - level (number) ... 根节点 level = 0
                                                                    - id (number)
                                                                    - 方法:getNodeByParam
                                                                    - getNodesByParam
                                                                    - getNodesByParamFuzzy (only string)
                                                                    - getNodesByFilter (参考本页源码中 function filter)
                                                                    -

                                                                    -
                                                                  • -
                                                                  -
                                                                • -
                                                                • 2、setting 配置信息说明

                                                                  -
                                                                    -
                                                                  • 不需要对 setting 进行特殊设置
                                                                  • -
                                                                  -
                                                                • -
                                                                • 3、treeNode 节点数据说明

                                                                  -
                                                                    -
                                                                  • 请注意各个方法使用时保证传入查找的参数类型与设定要查找的属性的类型一致
                                                                  • -
                                                                  -
                                                                • -
                                                                -
                                                                -
                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/simpleData.html b/lib/zTree_v3/demo/cn/core/simpleData.html deleted file mode 100755 index d3b19fc..0000000 --- a/lib/zTree_v3/demo/cn/core/simpleData.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - -

                                                                最简单的树 -- 简单 JSON 数据

                                                                -
                                                                [ 文件路径: core/simpleData.html ]
                                                                -
                                                                -
                                                                -
                                                                  -
                                                                  -
                                                                  -
                                                                    -
                                                                  • 1、setting 配置信息说明

                                                                    -
                                                                      -
                                                                    • 必须设置 setting.data.simple 内的属性,详细请参见 API 文档中的相关内容
                                                                    • -
                                                                    • 与显示相关的内容请参考 API 文档中 setting.view 内的配置信息
                                                                    • -
                                                                    • name、children、title 等属性定义更改请参考 API 文档中 setting.data.key 内的配置信息
                                                                    • -
                                                                    -
                                                                  • -
                                                                  • 2、treeNode 节点数据说明

                                                                    -
                                                                      -
                                                                    • 简单模式的 JSON 数据需要使用 id / pId 表示节点的父子包含关系,如使用其他属性设置父子关联关系请参考 setting.data.simple 内各项说明 -
                                                                      例如:
                                                                      -var nodes = [
                                                                      -	{id:1, pId:0, name: "父节点1"},
                                                                      -	{id:11, pId:1, name: "子节点1"},
                                                                      -	{id:12, pId:1, name: "子节点2"}
                                                                      -];
                                                                    • -
                                                                    • 默认展开的节点,请设置 treeNode.open 属性
                                                                    • -
                                                                    • 无子节点的父节点,请设置 treeNode.isParent 属性
                                                                    • -
                                                                    • 其他属性说明请参考 API 文档中 "treeNode 节点数据详解"
                                                                    • -
                                                                    -
                                                                  • -
                                                                  • 3、其他说明

                                                                    -
                                                                      -
                                                                    • Demo 中绝大部分都采用简单 JSON 数据模式,以便于大家学习
                                                                    • -
                                                                    -
                                                                  • -
                                                                  -
                                                                  -
                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/standardData.html b/lib/zTree_v3/demo/cn/core/standardData.html deleted file mode 100755 index 3a85e7e..0000000 --- a/lib/zTree_v3/demo/cn/core/standardData.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - ZTREE DEMO - Standard Data - - - - - - - - - - -

                                                                  最简单的树 -- 标准 JSON 数据

                                                                  -
                                                                  [ 文件路径: core/standardData.html ]
                                                                  -
                                                                  -
                                                                  -
                                                                    -
                                                                    -
                                                                    -
                                                                      -
                                                                    • 1、setting 配置信息说明

                                                                      -
                                                                        -
                                                                      • 普通使用,无必须设置的参数
                                                                      • -
                                                                      • 与显示相关的内容请参考 API 文档中 setting.view 内的配置信息
                                                                      • -
                                                                      • name、children、title 等属性定义更改请参考 API 文档中 setting.data.key 内的配置信息
                                                                      • -
                                                                      -
                                                                    • -
                                                                    • 2、treeNode 节点数据说明

                                                                      -
                                                                        -
                                                                      • 标准的 JSON 数据需要嵌套表示节点的父子包含关系 -
                                                                        例如:
                                                                        -var nodes = [
                                                                        -	{name: "父节点1", children: [
                                                                        -		{name: "子节点1"},
                                                                        -		{name: "子节点2"}
                                                                        -	]}
                                                                        -];
                                                                        -
                                                                      • -
                                                                      • 默认展开的节点,请设置 treeNode.open 属性
                                                                      • -
                                                                      • 无子节点的父节点,请设置 treeNode.isParent 属性
                                                                      • -
                                                                      • 其他属性说明请参考 API 文档中 "treeNode 节点数据详解"
                                                                      • -
                                                                      -
                                                                    • -
                                                                    -
                                                                    -
                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/update_fun.html b/lib/zTree_v3/demo/cn/core/update_fun.html deleted file mode 100755 index a783e5a..0000000 --- a/lib/zTree_v3/demo/cn/core/update_fun.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - ZTREE DEMO - updateNode - - - - - - - - - - - -

                                                                    用 zTree 方法 更新 节点数据

                                                                    -
                                                                    [ 文件路径: core/update_fun.html ]
                                                                    -
                                                                    -
                                                                    -
                                                                      -
                                                                      -
                                                                      -
                                                                        -
                                                                      • 1、updateNode 方法操作说明

                                                                        -
                                                                          -
                                                                        • 使用 zTreeObj.updateNode 方法,详细请参见 API 文档中的相关内容
                                                                        • -
                                                                        • 此 Demo 只能同时选中一个节点
                                                                          - 试试看:[ 换名字 ] -     [ 换图标 ] -     [ 换颜色 ] -     [ 斜体 ]

                                                                          -
                                                                        • -
                                                                        -
                                                                      • -
                                                                      • 2、setting 配置信息说明

                                                                        -
                                                                          -
                                                                        • 不需要对 setting 进行特殊设置
                                                                        • -
                                                                        • 配合 setting.view.fontCss 可以修改节点文字样式
                                                                        • -
                                                                        -
                                                                      • -
                                                                      • 3、treeNode 节点数据说明

                                                                        -
                                                                          -
                                                                        • zTreeObj.updateNode 方法的 API 文档中有详细说明
                                                                        • -
                                                                        -
                                                                      • -
                                                                      • 4、其他说明

                                                                        -
                                                                          -
                                                                        • 此 Demo 是针对 核心 js 包 core 制作的,因此不包括 checkbox 的更新操作
                                                                        • -
                                                                        -
                                                                      • -
                                                                      -
                                                                      -
                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/core/url.html b/lib/zTree_v3/demo/cn/core/url.html deleted file mode 100755 index e3f20b8..0000000 --- a/lib/zTree_v3/demo/cn/core/url.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - ZTREE DEMO - url - - - - - - - - - - -

                                                                      超链接演示

                                                                      -
                                                                      [ 文件路径: core/url.html ]
                                                                      -
                                                                      -
                                                                      -
                                                                        -
                                                                        -
                                                                        -
                                                                          -
                                                                        • 1、setting 配置信息说明

                                                                          -
                                                                            -
                                                                          • 普通使用,无必须设置的参数
                                                                          • -
                                                                          • 如果需要灵活控制超链接跳转,请利用 onClick 事件回调函数进行控制,详细请参见 API 文档中的相关内容
                                                                          • -
                                                                          -
                                                                        • -
                                                                        • 2、treeNode 节点数据说明

                                                                          -
                                                                            -
                                                                          • 1、url 属性用于设置 页面跳转的路径
                                                                          • -
                                                                          • 2、target 属性用于设置 页面跳转的窗口目标
                                                                          • -
                                                                          • 3、click 属性用于设置简单的 onClick 事件
                                                                          • -
                                                                          • 其他属性说明请参考 API 文档中 "treeNode 节点数据详解"
                                                                          • -
                                                                          -
                                                                        • -
                                                                        -
                                                                        -
                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox.html b/lib/zTree_v3/demo/cn/excheck/checkbox.html deleted file mode 100755 index 6fb6f01..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - ZTREE DEMO - checkbox - - - - - - - - - - - -

                                                                        Checkbox 勾选操作

                                                                        -
                                                                        [ 文件路径: excheck/checkbox.html ]
                                                                        -
                                                                        -
                                                                        -
                                                                          -
                                                                          -
                                                                          -
                                                                            -
                                                                          • 1、setting 配置信息说明

                                                                            -
                                                                              -
                                                                            • 使用 checkbox,必须设置 setting.check 中的各个属性,详细请参见 API 文档中的相关内容
                                                                            • -
                                                                            • 父子关联关系:
                                                                              - 被勾选时:关联父 - 关联子
                                                                              - 取消勾选时:关联父 - 关联子
                                                                              -

                                                                                -
                                                                              • -
                                                                              -
                                                                            • -
                                                                            • 2、treeNode 节点数据说明

                                                                              -
                                                                                -
                                                                              • 1)、如果需要初始化默认节点被勾选,请设置 treeNode.checked 属性,详细请参见 API 文档中的相关内容
                                                                              • -
                                                                              • 2)、如果某节点禁用 checkbox,请设置 treeNode.chkDisabled 属性,详细请参见 API 文档中的相关内容 和 'chkDisabled 演示'
                                                                              • -
                                                                              • 3)、如果某节点不显示 checkbox,请设置 treeNode.nocheck 属性,详细请参见 API 文档中的相关内容 和 'nocheck 演示'
                                                                              • -
                                                                              • 4)、如果更换 checked 属性,请参考 API 文档中 setting.data.key.checked 的详细说明
                                                                              • -
                                                                              • 5)、其他请参考 API 文档中 treeNode.checkedOld / getCheckStatus / check_Child_State / check_Focus 的详细说明
                                                                              • -
                                                                              -
                                                                            • -
                                                                            -
                                                                            -
                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox_chkDisabled.html b/lib/zTree_v3/demo/cn/excheck/checkbox_chkDisabled.html deleted file mode 100755 index 3be2467..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox_chkDisabled.html +++ /dev/null @@ -1,112 +0,0 @@ - - - - ZTREE DEMO - Checkbox chkDisabled - - - - - - - - - - - -

                                                                            Checkbox chkDisabled 演示

                                                                            -
                                                                            [ 文件路径: excheck/checkbox_chkDisabled.html ]
                                                                            -
                                                                            -
                                                                            -
                                                                              -
                                                                              -
                                                                              -
                                                                                -
                                                                              • 1、setChkDisabled 方法操作说明

                                                                                -
                                                                                  -
                                                                                • setChkDisabled 方法可以设置节点 checkbox / radio 禁用 或 取消禁用,详细请参见 API 文档中的相关内容
                                                                                • -
                                                                                • 试试看:
                                                                                  - 禁用时:关联父 - 关联子
                                                                                  - 取消禁用时:关联父 - 关联子
                                                                                  -     [ 禁用 ] -     [ 取消禁用 ] -

                                                                                • -
                                                                                -
                                                                              • -
                                                                              • 2、setting 配置信息说明

                                                                                -
                                                                                  -
                                                                                • 这个 Demo 只简单演示 chkDisabled 的使用方法,详细配置信息请参考 ‘Checkbox 勾选操作’
                                                                                • -
                                                                                -
                                                                              • -
                                                                              • 3、treeNode 节点数据说明

                                                                                -
                                                                                  -
                                                                                • 1)、如果某节点禁用 checkbox,请设置 treeNode.chkDisabled 属性,详细请参见 API 文档中的相关内容
                                                                                • -
                                                                                • 2)、其他请参考 ‘Checkbox 勾选操作’
                                                                                • -
                                                                                -
                                                                              • -
                                                                              -
                                                                              -
                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox_count.html b/lib/zTree_v3/demo/cn/excheck/checkbox_count.html deleted file mode 100755 index a721671..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox_count.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - ZTREE DEMO - getChangeCheckedNodes / getCheckedNodes - - - - - - - - - - - -

                                                                              checkbox 勾选统计

                                                                              -
                                                                              [ 文件路径: excheck/checkbox_count.html ]
                                                                              -
                                                                              -
                                                                              -
                                                                                -
                                                                                -
                                                                                -
                                                                                  -
                                                                                • 1、getChangeCheckedNodes / getCheckedNodes 方法操作说明

                                                                                  -
                                                                                    -
                                                                                  • 使用 zTreeObj.getChangeCheckedNodes / getCheckedNodes 方法,详细请参见 API 文档中的相关内容
                                                                                  • -
                                                                                  • 去勾选 checkbox 比较下面的数字变化:
                                                                                    -

                                                                                      -
                                                                                    • 当前被勾选的节点共
                                                                                    • -
                                                                                    • 当前未被勾选的节点共
                                                                                    • -
                                                                                    • 勾选状态对比规则:与 zTree 初始化时对比
                                                                                      - 与上一次勾选后对比
                                                                                    • -
                                                                                    • 当前被修改勾选状态的节点共
                                                                                    • -

                                                                                    -
                                                                                  • -
                                                                                  -
                                                                                • -
                                                                                • 2、setting 配置信息说明

                                                                                  -
                                                                                    -
                                                                                  • 同 "checkbox 勾选操作" 中的说明
                                                                                  • -
                                                                                  -
                                                                                • -
                                                                                • 3、treeNode 节点数据说明

                                                                                  -
                                                                                    -
                                                                                  • 同 "checkbox 勾选操作" 中的说明
                                                                                  • -
                                                                                  -
                                                                                • -
                                                                                -
                                                                                -
                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox_fun.html b/lib/zTree_v3/demo/cn/excheck/checkbox_fun.html deleted file mode 100755 index 2fb7960..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox_fun.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - ZTREE DEMO - beforeCheck / onCheck - - - - - - - - - - - -

                                                                                用 zTree 方法 勾选 checkbox

                                                                                -
                                                                                [ 文件路径: excheck/checkbox_fun.html ]
                                                                                -
                                                                                -
                                                                                -
                                                                                  -
                                                                                  -
                                                                                  -
                                                                                    -
                                                                                  • 1、beforeCheck / onCheck 事件回调函数控制

                                                                                    -
                                                                                      -
                                                                                    • 利用 beforeCheck / onCheck 事件回调函数 可以控制是否允许 更改 节点勾选状态,这里简单演示如何监控此事件
                                                                                    • -
                                                                                    • 这里还演示了 checkNode / checkAllNodes 方法触发 beforeCheck / onCheck 事件回调函数的情况,试试看:
                                                                                      -      setting.check.autoCheckTrigger: false
                                                                                      -      执行勾选方法是否触发 callback
                                                                                      -     单节点--[ 勾选 ] -     [ 取消勾选 ] -     [ 勾选 切换 ]
                                                                                      -     单节点 ( 影响父子 )--[ 勾选 ] -     [ 取消勾选 ] -     [ 勾选 切换 ]
                                                                                      -     全部节点--[ 勾选 ] -     [ 取消勾选 ]

                                                                                      -
                                                                                    • -
                                                                                    • 使用 zTreeObj.checkNode / checkAllNodes 方法,详细请参见 API 文档中的相关内容
                                                                                      - beforeCheck / onCheck log:
                                                                                      -

                                                                                        -
                                                                                      • -
                                                                                      -
                                                                                    • -
                                                                                    • 2、setting 配置信息说明

                                                                                      -
                                                                                        -
                                                                                      • 同 "checkbox 勾选操作" 中的说明
                                                                                      • -
                                                                                      -
                                                                                    • -
                                                                                    • 3、treeNode 节点数据说明

                                                                                      -
                                                                                        -
                                                                                      • 同 "checkbox 勾选操作" 中的说明
                                                                                      • -
                                                                                      -
                                                                                    • -
                                                                                    -
                                                                                    -
                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox_halfCheck.html b/lib/zTree_v3/demo/cn/excheck/checkbox_halfCheck.html deleted file mode 100755 index 34929d5..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox_halfCheck.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - ZTREE DEMO - Checkbox halfCheck - - - - - - - - - - - -

                                                                                    Checkbox halfCheck 演示

                                                                                    -
                                                                                    [ 文件路径: excheck/checkbox_halfCheck.html ]
                                                                                    -
                                                                                    -
                                                                                    -
                                                                                      -
                                                                                      -
                                                                                      -
                                                                                        -
                                                                                      • 1、演示说明

                                                                                        -
                                                                                          -
                                                                                        • 这个演示式实现了 异步加载模式 下简单的勾选操作
                                                                                        • -
                                                                                        • 1)、加载子节点后,父节点的 halfCheck 立刻失效
                                                                                        • -
                                                                                        • 2)、勾选父节点,可以影响之后加载的子节点的勾选状态
                                                                                        • -
                                                                                        • 3)、勾选父节点,可以让其子节点的 halfCheck 属性失效
                                                                                        • -
                                                                                        -
                                                                                      • -
                                                                                      • 2、setting 配置信息说明

                                                                                        -
                                                                                          -
                                                                                        • 实现半勾选功能,不需要配置任何参数。但半勾选功能属于辅助功能,无法单独使用,因此也需要根据自己的需求配置特定参数。
                                                                                        • -
                                                                                        -
                                                                                      • -
                                                                                      • 3、treeNode 节点数据说明

                                                                                        -
                                                                                          -
                                                                                        • 1)、请在节点初始化之前,设置 treeNode.halfCheck 属性,详细请参见 API 文档中的相关内容
                                                                                        • -
                                                                                        • 2)、其他请参考 ‘Checkbox 勾选操作’
                                                                                        • -
                                                                                        -
                                                                                      • -
                                                                                      -
                                                                                      -
                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/checkbox_nocheck.html b/lib/zTree_v3/demo/cn/excheck/checkbox_nocheck.html deleted file mode 100755 index 42547a3..0000000 --- a/lib/zTree_v3/demo/cn/excheck/checkbox_nocheck.html +++ /dev/null @@ -1,96 +0,0 @@ - - - - ZTREE DEMO - no checkbox - - - - - - - - - - - -

                                                                                      Checkbox nocheck 演示

                                                                                      -
                                                                                      [ 文件路径: excheck/checkbox_nocheck.html ]
                                                                                      -
                                                                                      -
                                                                                      -
                                                                                        -
                                                                                        -
                                                                                        -
                                                                                          -
                                                                                        • 1、setting 配置信息说明

                                                                                          -
                                                                                            -
                                                                                          • 这个 Demo 只简单演示 nocheck 的使用方法,详细配置信息请参考 ‘Checkbox 勾选操作’
                                                                                          • -
                                                                                          • setting.check.nocheckInherit 可以设置子节点自动继承父节点的 nocheck 属性,详细请参见 API 文档中的相关内容
                                                                                          • -
                                                                                          • 试试看:
                                                                                            -     [ 隐藏 ] -     [ 显示 ] -

                                                                                          • -
                                                                                          -
                                                                                        • -
                                                                                        • 2、treeNode 节点数据说明

                                                                                          -
                                                                                            -
                                                                                          • 1)、如果某节点不显示 checkbox,请设置 treeNode.nocheck 属性,详细请参见 API 文档中的相关内容
                                                                                          • -
                                                                                          • 2)、其他请参考 ‘Checkbox 勾选操作’
                                                                                          • -
                                                                                          -
                                                                                        • -
                                                                                        -
                                                                                        -
                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/radio.html b/lib/zTree_v3/demo/cn/excheck/radio.html deleted file mode 100755 index c89f5d8..0000000 --- a/lib/zTree_v3/demo/cn/excheck/radio.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - ZTREE DEMO - radio - - - - - - - - - - - -

                                                                                        Radio 勾选操作

                                                                                        -
                                                                                        [ 文件路径: excheck/radio.html ]
                                                                                        -
                                                                                        -
                                                                                        -
                                                                                          -
                                                                                          -
                                                                                          -
                                                                                            -
                                                                                          • 1、setting 配置信息说明

                                                                                            -
                                                                                              -
                                                                                            • 使用 radio,必须设置 setting.check 中的各个属性,详细请参见 API 文档中的相关内容
                                                                                            • -
                                                                                            • radio 分组范围:同一级内 - 整棵树内
                                                                                              -

                                                                                                -
                                                                                              • -
                                                                                              -
                                                                                            • -
                                                                                            • 2、treeNode 节点数据说明

                                                                                              -
                                                                                                -
                                                                                              • 1)、如果需要初始化默认节点被勾选,请设置 treeNode.checked 属性,详细请参见 API 文档中的相关内容
                                                                                              • -
                                                                                              • 2)、如果某节点不显示 radio,请设置 treeNode.nocheck 属性,详细请参见 API 文档中的相关内容
                                                                                              • -
                                                                                              • 3)、如果更换 checked 属性,请参考 API 文档中 setting.data.key.checked 的详细说明
                                                                                              • -
                                                                                              • 4)、其他请参考 API 文档中 treeNode.checkedOld / getCheckStatus / check_Child_State / check_Focus 的详细说明
                                                                                              • -
                                                                                              -
                                                                                            • -
                                                                                            -
                                                                                            -
                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/radio_chkDisabled.html b/lib/zTree_v3/demo/cn/excheck/radio_chkDisabled.html deleted file mode 100755 index 103b32b..0000000 --- a/lib/zTree_v3/demo/cn/excheck/radio_chkDisabled.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - ZTREE DEMO - Radio chkDisabled - - - - - - - - - - - -

                                                                                            Radio chkDisabled 演示

                                                                                            -
                                                                                            [ 文件路径: excheck/radio_chkDisabled.html ]
                                                                                            -
                                                                                            -
                                                                                            -
                                                                                              -
                                                                                              -
                                                                                              -
                                                                                                -
                                                                                              • 1、setChkDisabled 方法操作说明

                                                                                                -
                                                                                                  -
                                                                                                • setChkDisabled 方法可以设置节点 checkbox / radio 禁用 或 取消禁用,详细请参见 API 文档中的相关内容
                                                                                                • -
                                                                                                • 试试看:
                                                                                                  -     [ 禁用 ] -     [ 取消禁用 ]

                                                                                                  -
                                                                                                • -
                                                                                                -
                                                                                              • -
                                                                                              • 2、setting 配置信息说明

                                                                                                -
                                                                                                  -
                                                                                                • 这个 Demo 只简单演示 chkDisabled 的使用方法,详细配置信息请参考 ‘Radio 勾选操作’
                                                                                                • -
                                                                                                -
                                                                                              • -
                                                                                              • 3、treeNode 节点数据说明

                                                                                                -
                                                                                                  -
                                                                                                • 1)、如果某节点不显示 radio,请设置 treeNode.chkDisabled 属性,详细请参见 API 文档中的相关内容
                                                                                                • -
                                                                                                • 2)、其他请参考 ‘Radio 勾选操作’
                                                                                                • -
                                                                                                -
                                                                                              • -
                                                                                              -
                                                                                              -
                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/radio_fun.html b/lib/zTree_v3/demo/cn/excheck/radio_fun.html deleted file mode 100755 index c6c6303..0000000 --- a/lib/zTree_v3/demo/cn/excheck/radio_fun.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - ZTREE DEMO - beforeCheck / onCheck - - - - - - - - - - - -

                                                                                              用 zTree 方法 勾选 radio

                                                                                              -
                                                                                              [ 文件路径: excheck/radio_fun.html ]
                                                                                              -
                                                                                              -
                                                                                              -
                                                                                                -
                                                                                                -
                                                                                                -
                                                                                                  -
                                                                                                • 1、beforeCheck / onCheck 事件回调函数控制

                                                                                                  -
                                                                                                    -
                                                                                                  • 利用 beforeCheck / onCheck 事件回调函数 可以控制是否允许 更改 节点勾选状态,这里简单演示如何监控此事件
                                                                                                  • -
                                                                                                  • 试试看:
                                                                                                    -      checkNode 方法是否触发 callback
                                                                                                    -     [ 勾选 ] -     [ 取消勾选 ]

                                                                                                    -
                                                                                                  • 使用 zTreeObj.checkNode 方法,详细请参见 API 文档中的相关内容
                                                                                                    - beforeCheck / onCheck log:
                                                                                                    -

                                                                                                      -
                                                                                                    • -
                                                                                                    -
                                                                                                  • -
                                                                                                  • 2、setting 配置信息说明

                                                                                                    -
                                                                                                      -
                                                                                                    • 同 "radio 勾选操作" 中的说明
                                                                                                    • -
                                                                                                    -
                                                                                                  • -
                                                                                                  • 3、treeNode 节点数据说明

                                                                                                    -
                                                                                                      -
                                                                                                    • 同 "radio 勾选操作" 中的说明
                                                                                                    • -
                                                                                                    -
                                                                                                  • -
                                                                                                  -
                                                                                                  -
                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/radio_halfCheck.html b/lib/zTree_v3/demo/cn/excheck/radio_halfCheck.html deleted file mode 100755 index 1bbdff0..0000000 --- a/lib/zTree_v3/demo/cn/excheck/radio_halfCheck.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - ZTREE DEMO - Radio halfCheck - - - - - - - - - - - -

                                                                                                  Radio halfCheck 演示

                                                                                                  -
                                                                                                  [ 文件路径: excheck/radio_halfCheck.html ]
                                                                                                  -
                                                                                                  -
                                                                                                  -
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                      -
                                                                                                    • 1、演示说明

                                                                                                      -
                                                                                                        -
                                                                                                      • 这个演示式实现了 异步加载模式 下简单的勾选操作
                                                                                                      • -
                                                                                                      • 1)、加载子节点后,父节点的 halfCheck 立刻失效
                                                                                                      • -
                                                                                                      • 2)、勾选父节点,不会影响子节点的勾选状态
                                                                                                      • -
                                                                                                      • 3)、勾选父节点,不会让其子节点的 halfCheck 属性失效
                                                                                                      • -
                                                                                                      -
                                                                                                    • -
                                                                                                    • 2、setting 配置信息说明

                                                                                                      -
                                                                                                        -
                                                                                                      • 实现半勾选功能,不需要配置任何参数。但半勾选功能属于辅助功能,无法单独使用,因此也需要根据自己的需求配置特定参数。
                                                                                                      • -
                                                                                                      -
                                                                                                    • -
                                                                                                    • 3、treeNode 节点数据说明

                                                                                                      -
                                                                                                        -
                                                                                                      • 1)、请在节点初始化之前,设置 treeNode.halfCheck 属性,详细请参见 API 文档中的相关内容
                                                                                                      • -
                                                                                                      • 2)、其他请参考 ‘Radio 勾选操作’
                                                                                                      • -
                                                                                                      -
                                                                                                    • -
                                                                                                    -
                                                                                                    -
                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/excheck/radio_nocheck.html b/lib/zTree_v3/demo/cn/excheck/radio_nocheck.html deleted file mode 100755 index fc3ba8c..0000000 --- a/lib/zTree_v3/demo/cn/excheck/radio_nocheck.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - ZTREE DEMO - no radio - - - - - - - - - - - -

                                                                                                    Radio nocheck 演示

                                                                                                    -
                                                                                                    [ 文件路径: excheck/radio_nocheck.html ]
                                                                                                    -
                                                                                                    -
                                                                                                    -
                                                                                                      -
                                                                                                      -
                                                                                                      -
                                                                                                        -
                                                                                                      • 1、setting 配置信息说明

                                                                                                        -
                                                                                                          -
                                                                                                        • 这个 Demo 只简单演示 nocheck 的使用方法,详细配置信息请参考 ‘Radio 勾选操作’
                                                                                                        • -
                                                                                                        • setting.check.nocheckInherit 可以设置子节点自动继承父节点的 nocheck 属性,详细请参见 API 文档中的相关内容
                                                                                                        • -
                                                                                                        -
                                                                                                      • -
                                                                                                      • 2、treeNode 节点数据说明

                                                                                                        -
                                                                                                          -
                                                                                                        • 1)、如果某节点不显示 radio,请设置 treeNode.nocheck 属性,详细请参见 API 文档中的相关内容
                                                                                                        • -
                                                                                                        • 2)、其他请参考 ‘Radio 勾选操作’
                                                                                                        • -
                                                                                                        -
                                                                                                      • -
                                                                                                      -
                                                                                                      -
                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/async_edit.html b/lib/zTree_v3/demo/cn/exedit/async_edit.html deleted file mode 100755 index e519fdf..0000000 --- a/lib/zTree_v3/demo/cn/exedit/async_edit.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - ZTREE DEMO - async & edit - - - - - - - - - - - - -

                                                                                                      异步加载 & 编辑功能 共存

                                                                                                      -
                                                                                                      [ 文件路径: exedit/async_edit.html ]
                                                                                                      -
                                                                                                      -
                                                                                                      -
                                                                                                        -
                                                                                                        -
                                                                                                        -
                                                                                                          -
                                                                                                        • 1、异步加载 & 编辑功能 共存说明

                                                                                                          -
                                                                                                            -
                                                                                                          • 1)、此 Demo 是基于 "高级 增 / 删 / 改 节点" 修改的,并且开放了拖拽功能,可与其进行对比
                                                                                                          • -
                                                                                                          • 2)、只需要同时开启编辑模式和异步加载模式即可实现共存
                                                                                                          • -
                                                                                                          • 3)、zTree 完善了异步加载模式下的编辑功能,对于未加载子节点的父节点,增加子节点时,会首先进行异步加载。
                                                                                                          • -
                                                                                                          -
                                                                                                        • -
                                                                                                        • 2、setting 配置信息说明

                                                                                                          -
                                                                                                            -
                                                                                                          • 1)、使用 编辑功能,请参考 "拖拽节点基本控制" 和 "基本 增 / 删 / 改 节点" Demo 中关于 setting 的配置要求
                                                                                                          • -
                                                                                                          • 2)、使用 异步加载功能,请参考 "异步加载 节点数据" Demo 中关于 setting 的配置要求
                                                                                                          • -
                                                                                                          -
                                                                                                        • -
                                                                                                        • 3、treeNode 节点数据说明

                                                                                                          -
                                                                                                            -
                                                                                                          • 两种模式共存,对数据无特殊要求,请分别参考 "异步加载 节点数据" & "拖拽 节点 基本控制" & "基本 增 / 删 / 改 节点" 中的相关说明
                                                                                                          • -
                                                                                                          -
                                                                                                        • -
                                                                                                        -
                                                                                                        -
                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/drag.html b/lib/zTree_v3/demo/cn/exedit/drag.html deleted file mode 100755 index ccc474f..0000000 --- a/lib/zTree_v3/demo/cn/exedit/drag.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - ZTREE DEMO - drag & drop - - - - - - - - - - - -

                                                                                                        拖拽节点基本控制

                                                                                                        -
                                                                                                        [ 文件路径: exedit/drag.html ]
                                                                                                        -
                                                                                                        -
                                                                                                        -
                                                                                                          -
                                                                                                          -
                                                                                                          -
                                                                                                            -
                                                                                                          • 1、setting 配置信息说明

                                                                                                            -
                                                                                                              -
                                                                                                            • 此 Demo 仅从功能上演示实现拖拽的基本方法和配置参数
                                                                                                            • -
                                                                                                            • 1)、使用 拖拽功能,必须设置 setting.edit 中的各个属性,详细请参见 API 文档中的相关内容
                                                                                                            • -
                                                                                                            • 2)、使用 拖拽功能的事件回调函数,必须设置 setting.callback.beforeDrag / onDrag / beforeDrop / onDrop 等属性,详细请参见 API 文档中的相关内容
                                                                                                            • -
                                                                                                            • 基本拖拽设置:
                                                                                                              - 允许复制 - 允许移动
                                                                                                              -

                                                                                                                -
                                                                                                              • -
                                                                                                              • 拖拽相对位置设置:
                                                                                                                - prev - inner - next
                                                                                                                -

                                                                                                                  -
                                                                                                                • -
                                                                                                                -
                                                                                                              • -
                                                                                                              • 2、treeNode 节点数据说明

                                                                                                                -
                                                                                                                  -
                                                                                                                • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                                                                                • -
                                                                                                                -
                                                                                                              • -
                                                                                                              -
                                                                                                              -
                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/drag_fun.html b/lib/zTree_v3/demo/cn/exedit/drag_fun.html deleted file mode 100755 index 9462863..0000000 --- a/lib/zTree_v3/demo/cn/exedit/drag_fun.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - ZTREE DEMO - copyNode / moveNode - - - - - - - - - - - - -

                                                                                                              用 zTree 方法 移动 / 复制节点

                                                                                                              -
                                                                                                              [ 文件路径: exedit/drag_fun.html ]
                                                                                                              -
                                                                                                              -
                                                                                                              -
                                                                                                                -
                                                                                                                -
                                                                                                                -
                                                                                                                  -
                                                                                                                • 1、copyNode / moveNode 方法操作说明

                                                                                                                  -
                                                                                                                    -
                                                                                                                  • 利用 copyNode / moveNode 方法也可以实现 复制 / 移动 节点的目的,这里简单演示使用方法
                                                                                                                  • -
                                                                                                                  • 对节点进行 复制 / 剪切,试试看:
                                                                                                                    -     [ 复制 ] -     [ 剪切 ] -     [ 粘贴 ]

                                                                                                                    -
                                                                                                                  • 使用 zTreeObj.copyNode / moveNode 方法,详细请参见 API 文档中的相关内容
                                                                                                                  • -
                                                                                                                  -
                                                                                                                • -
                                                                                                                • 2、setting 配置信息说明

                                                                                                                  -
                                                                                                                    -
                                                                                                                  • 同 "拖拽 节点 基本控制"
                                                                                                                  • -
                                                                                                                  -
                                                                                                                • -
                                                                                                                • 3、treeNode 节点数据说明

                                                                                                                  -
                                                                                                                    -
                                                                                                                  • 同 "拖拽 节点 基本控制"
                                                                                                                  • -
                                                                                                                  -
                                                                                                                • -
                                                                                                                -
                                                                                                                -
                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/drag_super.html b/lib/zTree_v3/demo/cn/exedit/drag_super.html deleted file mode 100755 index 9cf713b..0000000 --- a/lib/zTree_v3/demo/cn/exedit/drag_super.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - ZTREE DEMO - beforeDrag / onDrag / beforeDrop / onDrop - - - - - - - - - - - -

                                                                                                                拖拽节点高级控制

                                                                                                                -
                                                                                                                [ 文件路径: exedit/drag_super.html ]
                                                                                                                -
                                                                                                                -
                                                                                                                -
                                                                                                                  -
                                                                                                                  -
                                                                                                                  -
                                                                                                                    -
                                                                                                                  • 1、beforeDrag / onDrag
                                                                                                                      beforeDrop / onDrop 事件回调函数控制

                                                                                                                    -
                                                                                                                      -
                                                                                                                    • 此 Demo 演示合理利用配置参数实现更加灵活、更加合理的拖拽规则,操作时可以对比"基本控制"的例子
                                                                                                                    • -
                                                                                                                    • 此 Demo 默认 允许复制 / 移动
                                                                                                                    • -
                                                                                                                    • 此 Demo 中拖拽相对位置设置为 function,可以根据节点动态设定,从而可以放弃使用 beforeDrop 回调函数,拖拽时的效果会更好
                                                                                                                    • -
                                                                                                                    • 在对这些灵活的配置熟悉以后,相信你能够做出更加合理的拖拽规则!
                                                                                                                      -      拖拽节点时自动展开父节点是否触发 callback
                                                                                                                      - drag / drop log:
                                                                                                                      -

                                                                                                                      • -
                                                                                                                      -
                                                                                                                    • -
                                                                                                                    • 2、setting 配置信息说明

                                                                                                                      -
                                                                                                                        -
                                                                                                                      • 同 "拖拽 节点 基本控制"
                                                                                                                      • -
                                                                                                                      -
                                                                                                                    • -
                                                                                                                    • 3、treeNode 节点数据说明

                                                                                                                      -
                                                                                                                        -
                                                                                                                      • 同 "拖拽 节点 基本控制"
                                                                                                                      • -
                                                                                                                      -
                                                                                                                    • -
                                                                                                                    -
                                                                                                                    -
                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/edit.html b/lib/zTree_v3/demo/cn/exedit/edit.html deleted file mode 100755 index 930b360..0000000 --- a/lib/zTree_v3/demo/cn/exedit/edit.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - ZTREE DEMO - edit - - - - - - - - - - - -

                                                                                                                    基本 增 / 删 / 改 节点

                                                                                                                    -
                                                                                                                    [ 文件路径: exedit/edit.html ]
                                                                                                                    -
                                                                                                                    -
                                                                                                                    -
                                                                                                                      -
                                                                                                                      -
                                                                                                                      -
                                                                                                                        -
                                                                                                                      • 1、setting 配置信息说明

                                                                                                                        -
                                                                                                                          -
                                                                                                                        • 此 Demo 仅从功能上演示编辑节点的基本方法和配置参数
                                                                                                                        • -
                                                                                                                        • 1)、使用 编辑功能,必须设置 setting.edit 中的各个属性,详细请参见 API 文档中的相关内容
                                                                                                                        • -
                                                                                                                        • 2)、使用 编辑功能的事件回调函数,必须设置 setting.callback.beforeRemove / onRemove / beforeRename / onRename 等属性,详细请参见 API 文档中的相关内容
                                                                                                                        • -
                                                                                                                        • 3)、zTree 不提供默认的增加按钮,如需实现请利用自定义控件的方法 addHoverDom / removeHoverDom ,详细请参见 API 文档中的相关内容;另外也可以参考 "高级 增 / 删 / 改 节点" 的 Demo
                                                                                                                        • -
                                                                                                                        • 基本编辑按钮设置:
                                                                                                                          - 显示删除按钮 - 显示编辑按钮
                                                                                                                          - remove 按钮的 title:
                                                                                                                          - rename 按钮的 title: -

                                                                                                                            -
                                                                                                                          • -
                                                                                                                          -
                                                                                                                        • -
                                                                                                                        • 2、treeNode 节点数据说明

                                                                                                                          -
                                                                                                                            -
                                                                                                                          • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                                                                                          • -
                                                                                                                          -
                                                                                                                        • -
                                                                                                                        -
                                                                                                                        -
                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/edit_fun.html b/lib/zTree_v3/demo/cn/exedit/edit_fun.html deleted file mode 100755 index c322b0c..0000000 --- a/lib/zTree_v3/demo/cn/exedit/edit_fun.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - ZTREE DEMO - addNodes / editName / removeNode / removeChildNodes - - - - - - - - - - - -

                                                                                                                        用 zTree 方法 增 / 删 / 改 节点

                                                                                                                        -
                                                                                                                        [ 文件路径: exedit/edit_fun.html ]
                                                                                                                        -
                                                                                                                        -
                                                                                                                        -
                                                                                                                          -
                                                                                                                          -
                                                                                                                          -
                                                                                                                            -
                                                                                                                          • 1、addNodes / editName / removeNode / removeChildNodes 方法操作说明

                                                                                                                            -
                                                                                                                              -
                                                                                                                            • 利用 addNodes / editName / removeNode / removeChildNodes 方法也可以实现 增 / 删 / 改 节点的目的,这里简单演示使用方法
                                                                                                                            • -
                                                                                                                            • cancelEditName 方法仅仅是在节点进入名称编辑状态时有效,请在必要时使用,Demo 不进行此方法的演示
                                                                                                                            • -
                                                                                                                            • 利用 setting.data.keep.parent / leaf 属性 实现了父节点、叶子节点的状态锁定
                                                                                                                            • -
                                                                                                                            • 对节点进行 增 / 删 / 改,试试看:
                                                                                                                              -      removeNode 方法是否触发 callback
                                                                                                                              -     [ 增加父节点 ] -     [ 增加叶子节点 ] -     [ 编辑名称 ]
                                                                                                                              -     [ 删除节点 ] -     [ 清空子节点 ]
                                                                                                                              - remove log:
                                                                                                                              -

                                                                                                                                -
                                                                                                                              • -
                                                                                                                              • 使用 zTreeObj.addNodes / cancelEditName / editName / removeNode / removeChildNodes 方法,详细请参见 API 文档中的相关内容
                                                                                                                              • -
                                                                                                                              -
                                                                                                                            • -
                                                                                                                            • 2、setting 配置信息说明

                                                                                                                              -
                                                                                                                                -
                                                                                                                              • 同 "基本 增 / 删 / 改 节点"
                                                                                                                              • -
                                                                                                                              • 保持 父 / 叶子 节点状态,需要设置 setting.data.keep.parent / leaf 属性,详细请参见 API 文档中的相关内容
                                                                                                                              • -
                                                                                                                              -
                                                                                                                            • -
                                                                                                                            • 3、treeNode 节点数据说明

                                                                                                                              -
                                                                                                                                -
                                                                                                                              • 同 "基本 增 / 删 / 改 节点"
                                                                                                                              • -
                                                                                                                              -
                                                                                                                            • -
                                                                                                                            -
                                                                                                                            -
                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/edit_super.html b/lib/zTree_v3/demo/cn/exedit/edit_super.html deleted file mode 100755 index cc70ecf..0000000 --- a/lib/zTree_v3/demo/cn/exedit/edit_super.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - ZTREE DEMO - beforeEditName / beforeRemove / onRemove / beforeRename / onRename - - - - - - - - - - - - -

                                                                                                                            高级 增 / 删 / 改 节点

                                                                                                                            -
                                                                                                                            [ 文件路径: exedit/edit_super.html ]
                                                                                                                            -
                                                                                                                            -
                                                                                                                            -
                                                                                                                              -
                                                                                                                              -
                                                                                                                              -
                                                                                                                                -
                                                                                                                              • 1、beforeEditName
                                                                                                                                  beforeRemove / onRemove
                                                                                                                                  beforeRename / onRename 事件回调函数控制

                                                                                                                                -
                                                                                                                                  -
                                                                                                                                • 此 Demo 演示合理利用自定义控件、事件回调函数配合以增强用户体验,操作时可以对比"基本 增 / 删 / 改 节点"的 Demo
                                                                                                                                • -
                                                                                                                                • 此 Demo 实现增加节点按钮
                                                                                                                                • -
                                                                                                                                • 此 Demo 实现删除节点时进行确认
                                                                                                                                • -
                                                                                                                                • 此 Demo 利用 showRenameBtn 对 isLastNode = true 的节点不显示编辑按钮
                                                                                                                                • -
                                                                                                                                • 此 Demo 利用 showRemoveBtn 对 isFirstNode = true 的节点不显示删除按钮
                                                                                                                                • -
                                                                                                                                • 可以利用 beforeEditName 触发自定义的编辑操作
                                                                                                                                • -
                                                                                                                                • 在对这些灵活的配置熟悉以后,相信你能够做出更加合理的编辑界面!
                                                                                                                                  -      编辑名称时是否全选 text
                                                                                                                                  - remove / rename log:  红色 表示取消编辑操作 (v3.5.13+)
                                                                                                                                  -

                                                                                                                                    -
                                                                                                                                  • -
                                                                                                                                  -
                                                                                                                                • -
                                                                                                                                • 2、setting 配置信息说明

                                                                                                                                  -
                                                                                                                                    -
                                                                                                                                  • 同 "基本 增 / 删 / 改 节点"
                                                                                                                                  • -
                                                                                                                                  -
                                                                                                                                • -
                                                                                                                                • 3、treeNode 节点数据说明

                                                                                                                                  -
                                                                                                                                    -
                                                                                                                                  • 同 "基本 增 / 删 / 改 节点"
                                                                                                                                  • -
                                                                                                                                  -
                                                                                                                                • -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exedit/multiTree.html b/lib/zTree_v3/demo/cn/exedit/multiTree.html deleted file mode 100755 index 970392a..0000000 --- a/lib/zTree_v3/demo/cn/exedit/multiTree.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - ZTREE DEMO - multiTree - - - - - - - - - - - -

                                                                                                                                多棵树之间 的 数据交互

                                                                                                                                -
                                                                                                                                [ 文件路径: exedit/multiTree.html ]
                                                                                                                                -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                  -
                                                                                                                                • 1、setting 配置信息说明

                                                                                                                                  -
                                                                                                                                    -
                                                                                                                                  • zTree 对于多棵树之间拖拽的操作非常简单,只需要创建两棵可拖拽的树即可,同时可根据 各种事件回调函数 以及 zTree 的方法配合实现较复杂的操作规则,这里只是基本演示。
                                                                                                                                  • -
                                                                                                                                  • 关于配置信息请参考拖拽、编辑等 Demo 的详细说明
                                                                                                                                  • -
                                                                                                                                  -
                                                                                                                                • -
                                                                                                                                • 2、treeNode 节点数据说明

                                                                                                                                  -
                                                                                                                                    -
                                                                                                                                  • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                                                                                                  • -
                                                                                                                                  -
                                                                                                                                • -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                -
                                                                                                                                  -
                                                                                                                                  -
                                                                                                                                  -
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exhide/checkbox.html b/lib/zTree_v3/demo/cn/exhide/checkbox.html deleted file mode 100755 index 47ba899..0000000 --- a/lib/zTree_v3/demo/cn/exhide/checkbox.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - ZTREE DEMO - Hide With Checkbox Mode - - - - - - - - - - - - -

                                                                                                                                    配合 checkbox 的隐藏

                                                                                                                                    -
                                                                                                                                    [ 文件路径: exhide/checkbox.html ]
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                    -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                      • 1、setting 配置信息说明

                                                                                                                                        -
                                                                                                                                          -
                                                                                                                                        • 使用隐藏功能,无需设置任何参数
                                                                                                                                        • -
                                                                                                                                        -
                                                                                                                                      • -
                                                                                                                                      • 2、treeNode 节点数据说明

                                                                                                                                        -
                                                                                                                                          -
                                                                                                                                        • 初始化时,设置 treeNode.isHidden = true; 可以让节点隐藏
                                                                                                                                        • -
                                                                                                                                        • 隐藏、显示节点,看看树的变化:

                                                                                                                                          - 试试看:[ 隐藏选中的节点 ] -     [ 显示全部被隐藏的节点 ]

                                                                                                                                          -

                                                                                                                                            -
                                                                                                                                          • isHidden = true 的节点共
                                                                                                                                          • -
                                                                                                                                          • 被隐藏的节点共
                                                                                                                                          • -
                                                                                                                                          • 当前被勾选的节点共
                                                                                                                                          • -
                                                                                                                                          • 当前未被勾选的节点共
                                                                                                                                          • -
                                                                                                                                          • 隐藏节点后,可以看看仍显示节点的 isFirstNode 和 isLastNode 属性
                                                                                                                                          • -

                                                                                                                                          -
                                                                                                                                        • -
                                                                                                                                        -
                                                                                                                                      • -
                                                                                                                                      • 3、其他说明

                                                                                                                                        -
                                                                                                                                          -
                                                                                                                                        • 隐藏节点操作,会影响 isFirstNode 和 isLastNode 属性,但是对于 getPreNode() 和 getNextNode() 方法无影响
                                                                                                                                        • -
                                                                                                                                        -
                                                                                                                                      • -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exhide/common.html b/lib/zTree_v3/demo/cn/exhide/common.html deleted file mode 100755 index 65ea64e..0000000 --- a/lib/zTree_v3/demo/cn/exhide/common.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - ZTREE DEMO - Hide Ordinary Node - - - - - - - - - - - -

                                                                                                                                      隐藏普通节点

                                                                                                                                      -
                                                                                                                                      [ 文件路径: exhide/common.html ]
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                      -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                          -
                                                                                                                                        • 1、setting 配置信息说明

                                                                                                                                          -
                                                                                                                                            -
                                                                                                                                          • 使用此功能,无需设置任何参数
                                                                                                                                          • -
                                                                                                                                          -
                                                                                                                                        • -
                                                                                                                                        • 2、treeNode 节点数据说明

                                                                                                                                          -
                                                                                                                                            -
                                                                                                                                          • 初始化时,设置 treeNode.isHidden = true; 可以让节点隐藏
                                                                                                                                          • -
                                                                                                                                          • 隐藏、显示节点,看看树的变化:

                                                                                                                                            - 试试看:[ 隐藏选中的节点 ] -     [ 显示全部被隐藏的节点 ]

                                                                                                                                            -

                                                                                                                                              -
                                                                                                                                            • isHidden = true 的节点共
                                                                                                                                            • -
                                                                                                                                            • 隐藏节点后,可以看看仍显示节点的 isFirstNode 和 isLastNode 属性
                                                                                                                                            • -

                                                                                                                                            -
                                                                                                                                          • -
                                                                                                                                          -
                                                                                                                                        • -
                                                                                                                                        • 3、其他说明

                                                                                                                                          -
                                                                                                                                            -
                                                                                                                                          • 隐藏节点操作,会影响 isFirstNode 和 isLastNode 属性,但是对于 getPreNode() 和 getNextNode() 方法无影响
                                                                                                                                          • -
                                                                                                                                          -
                                                                                                                                        • -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/exhide/radio.html b/lib/zTree_v3/demo/cn/exhide/radio.html deleted file mode 100755 index 481d029..0000000 --- a/lib/zTree_v3/demo/cn/exhide/radio.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - ZTREE DEMO - Hide With Radio Mode - - - - - - - - - - - - -

                                                                                                                                        配合 radio 的隐藏

                                                                                                                                        -
                                                                                                                                        [ 文件路径: exhide/radio.html ]
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                        -
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                            -
                                                                                                                                          • 1、setting 配置信息说明

                                                                                                                                            -
                                                                                                                                              -
                                                                                                                                            • 使用隐藏功能,无需设置任何参数
                                                                                                                                            • -
                                                                                                                                            -
                                                                                                                                          • -
                                                                                                                                          • 2、treeNode 节点数据说明

                                                                                                                                            -
                                                                                                                                              -
                                                                                                                                            • 初始化时,设置 treeNode.isHidden = true; 可以让节点隐藏
                                                                                                                                            • -
                                                                                                                                            • 隐藏、显示节点,看看树的变化:

                                                                                                                                              - 试试看:[ 隐藏选中的节点 ] -     [ 显示全部被隐藏的节点 ]

                                                                                                                                              -

                                                                                                                                                -
                                                                                                                                              • isHidden = true 的节点共
                                                                                                                                              • -
                                                                                                                                              • 被隐藏的节点共
                                                                                                                                              • -
                                                                                                                                              • 当前被勾选的节点共
                                                                                                                                              • -
                                                                                                                                              • 当前未被勾选的节点共
                                                                                                                                              • -
                                                                                                                                              • 隐藏节点后,可以看看仍显示节点的 isFirstNode 和 isLastNode 属性
                                                                                                                                              • -

                                                                                                                                              -
                                                                                                                                            • -
                                                                                                                                            -
                                                                                                                                          • -
                                                                                                                                          • 3、其他说明

                                                                                                                                            -
                                                                                                                                              -
                                                                                                                                            • 隐藏节点操作,会影响 isFirstNode 和 isLastNode 属性,但是对于 getPreNode() 和 getNextNode() 方法无影响
                                                                                                                                            • -
                                                                                                                                            -
                                                                                                                                          • -
                                                                                                                                          -
                                                                                                                                          -
                                                                                                                                          - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/index.html b/lib/zTree_v3/demo/cn/index.html deleted file mode 100755 index 98f39ec..0000000 --- a/lib/zTree_v3/demo/cn/index.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - ZTREE DEMO - - - - - - - - - - - - - - -
                                                                                                                                          -
                                                                                                                                            -
                                                                                                                                            - -
                                                                                                                                            - - - diff --git a/lib/zTree_v3/demo/cn/super/asyncForAll.html b/lib/zTree_v3/demo/cn/super/asyncForAll.html deleted file mode 100755 index d5aa2d1..0000000 --- a/lib/zTree_v3/demo/cn/super/asyncForAll.html +++ /dev/null @@ -1,191 +0,0 @@ - - - - ZTREE DEMO - async for All - - - - - - - - - - -

                                                                                                                                            异步加载模式下全部展开

                                                                                                                                            -
                                                                                                                                            [ 文件路径: super/asyncForAll.html ]
                                                                                                                                            -
                                                                                                                                            -
                                                                                                                                            -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                                -
                                                                                                                                              • 实现方法说明

                                                                                                                                                -
                                                                                                                                                  -
                                                                                                                                                • 利用 onAsyncSuccess / onAsyncError 回调函数 和 reAsyncChildNodes 或 expandNode 方法可以实现全部功能。
                                                                                                                                                • -
                                                                                                                                                • 如果父节点数量很大,请注意利用延时进行控制,避免异步进程过多。
                                                                                                                                                • -
                                                                                                                                                • 建议:演示时请利用调试工具查看 network 的 ajax 加载过程。
                                                                                                                                                • -
                                                                                                                                                • 演示操作 -

                                                                                                                                                  - [ 全部展开 ]        - [ 后台自动全部加载 ]

                                                                                                                                                  - [ Reset zTree ]

                                                                                                                                                  -

                                                                                                                                                  -
                                                                                                                                                • -
                                                                                                                                                -
                                                                                                                                              • -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/awesome.html b/lib/zTree_v3/demo/cn/super/awesome.html deleted file mode 100755 index 190f12e..0000000 --- a/lib/zTree_v3/demo/cn/super/awesome.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - ZTREE DEMO - awesome 风格 - - - - - - - - - - - - - - -

                                                                                                                                              Awesome 风格

                                                                                                                                              -
                                                                                                                                              [ 文件路径: super/awesome.html ]
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                              -
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                  -
                                                                                                                                                • 实现方法说明

                                                                                                                                                  -
                                                                                                                                                    -
                                                                                                                                                  • 你需要在页面中引入 fontawesome 样式 (http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css)
                                                                                                                                                  • -
                                                                                                                                                  • <= 小汽车图标 (如果 fontawesome 样式被正常加载,你可以正常看到)
                                                                                                                                                  • -
                                                                                                                                                  • 引入 适配 zTree 的 样式文件: 'css/awesomeStyle'
                                                                                                                                                  • -
                                                                                                                                                  • 感谢 mikkelking 提供这个 Demo. (仅供参考)
                                                                                                                                                  • - -
                                                                                                                                                  • Mode:
                                                                                                                                                    - - - -
                                                                                                                                                    -

                                                                                                                                                  • -
                                                                                                                                                  - -
                                                                                                                                                -
                                                                                                                                              • - -
                                                                                                                                                -
                                                                                                                                                - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/checkbox_radio.html b/lib/zTree_v3/demo/cn/super/checkbox_radio.html deleted file mode 100755 index 6c13cff..0000000 --- a/lib/zTree_v3/demo/cn/super/checkbox_radio.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - ZTREE DEMO - checkbox & radio - - - - - - - - - - - -

                                                                                                                                                checkbox / radio 共存

                                                                                                                                                -
                                                                                                                                                [ 文件路径: super/checkbox_radio.html ]
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                    -
                                                                                                                                                  • 实现方法说明

                                                                                                                                                    -
                                                                                                                                                      -
                                                                                                                                                    • zTree 默认的 checkbox 和 radio 是无法共存的,但可以利用 自定义控件 的功能实现此需求,具体需求可以参考 "添加 自定义控件" 的详细说明
                                                                                                                                                    • -
                                                                                                                                                    • 对于 checkbox / radio 的联动规则,请根据需求制定自己的规则
                                                                                                                                                    • -
                                                                                                                                                    -
                                                                                                                                                  • -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/diydom.html b/lib/zTree_v3/demo/cn/super/diydom.html deleted file mode 100755 index fa21a9b..0000000 --- a/lib/zTree_v3/demo/cn/super/diydom.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - ZTREE DEMO - addHoverDom / removeHoverDom / addDiyDom - - - - - - - - - - - - -

                                                                                                                                                  添加自定义控件

                                                                                                                                                  -
                                                                                                                                                  [ 文件路径: super/diydom.html ]
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                  -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                      -
                                                                                                                                                    • 1、实现方法说明

                                                                                                                                                      -
                                                                                                                                                        -
                                                                                                                                                      • 利用 setting.view.addHoverDom / removeHoverDom / addDiyDom 这几个参数的配置可以很容易的实现自定义控件的功能
                                                                                                                                                      • -
                                                                                                                                                      • 添加自定义控件,请务必掌握 zTree 节点对象的命名规则,以保证正常添加 DOM 控件
                                                                                                                                                      • -
                                                                                                                                                      • 如果添加标准的 select / checkbox / radio 等,请注意适当调整 zTree 的布局 css,保证 zTree 能正常显示
                                                                                                                                                      • -
                                                                                                                                                      -
                                                                                                                                                    • -
                                                                                                                                                    • 2、setting 配置信息说明

                                                                                                                                                      -
                                                                                                                                                        -
                                                                                                                                                      • 使用 setting.view.addHoverDom / removeHoverDom / addDiyDom 属性,详细请参见 API 文档中的相关内容
                                                                                                                                                      • -
                                                                                                                                                      -
                                                                                                                                                    • -
                                                                                                                                                    • 3、treeNode 节点数据说明

                                                                                                                                                      -
                                                                                                                                                        -
                                                                                                                                                      • 对 节点数据 没有特殊要求,用户可以根据自己的需求添加自定义属性
                                                                                                                                                      • -
                                                                                                                                                      -
                                                                                                                                                    • -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/dragWithOther.html b/lib/zTree_v3/demo/cn/super/dragWithOther.html deleted file mode 100755 index fb3e5a8..0000000 --- a/lib/zTree_v3/demo/cn/super/dragWithOther.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - ZTREE DEMO - drag with other DOM - - - - - - - - - - - - -

                                                                                                                                                    与其他 DOM 拖拽互动

                                                                                                                                                    -
                                                                                                                                                    [ 文件路径: super/dragWithOther.html ]
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                    -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                        -
                                                                                                                                                      • 实现方法说明

                                                                                                                                                        -
                                                                                                                                                          -
                                                                                                                                                        • zTree v3.2 版本修正了 onDrag/onDrop 中的 event 对象; v3.5.16 版本增加了 onDragMove; 因此可以较容易的控制将节点拖拽到其他 DOM
                                                                                                                                                        • -
                                                                                                                                                        • 将其他 DOM 拖拽到 zTree 需要自己制作相关的拖拽代码
                                                                                                                                                        • -
                                                                                                                                                        • 这仅仅是一个最简单的演示,如果需要更炫的效果,需要制作更复杂的代码
                                                                                                                                                        • -
                                                                                                                                                        -
                                                                                                                                                      • -
                                                                                                                                                      • 请拖拽下面内容到 树节点上

                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        大树小草花朵
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        老虎狗熊狮子
                                                                                                                                                        -
                                                                                                                                                        - 也可以把二级节点拖拽到以上图层 -
                                                                                                                                                      • -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/fuzzySearch.html b/lib/zTree_v3/demo/cn/super/fuzzySearch.html deleted file mode 100755 index aac48cb..0000000 --- a/lib/zTree_v3/demo/cn/super/fuzzySearch.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - ZTREE DEMO - fuzzySearch - - - - - - - - - - - - -

                                                                                                                                                      根据关键字模糊查找节点

                                                                                                                                                      -
                                                                                                                                                      [ 文件路径: fuzzySearch/fuzzySearch.html ]
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                      -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                          -
                                                                                                                                                        • -

                                                                                                                                                          1、fuzzySearch()方法使用说明

                                                                                                                                                          -
                                                                                                                                                            -
                                                                                                                                                          • - @param zTreeId ztree对象的id,不需要# -
                                                                                                                                                          • -
                                                                                                                                                          • - @param searchField 输入框选择器 -
                                                                                                                                                          • -
                                                                                                                                                          • - @param isHighLight 是否高亮,默认高亮,传入false禁用 -
                                                                                                                                                          • -
                                                                                                                                                          • - @param isExpand 是否展开,默认合拢,传入true展开 -
                                                                                                                                                          • -
                                                                                                                                                          • - fuzzySearch ( zTreeId, searchField, isHighLight, isExpand ) -
                                                                                                                                                          • -
                                                                                                                                                          • 搜索试试看:
                                                                                                                                                            - 关键字:
                                                                                                                                                            -

                                                                                                                                                            -
                                                                                                                                                          • -
                                                                                                                                                          -
                                                                                                                                                        • -
                                                                                                                                                        • 2、依赖的js

                                                                                                                                                          -
                                                                                                                                                            -
                                                                                                                                                          • ztree v3.5.19.1及以上,使用到getPath()方法
                                                                                                                                                          • -
                                                                                                                                                          • ztree.exhide扩展,使用到hideNode()方法
                                                                                                                                                          • -
                                                                                                                                                          -
                                                                                                                                                        • -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/left_menu.html b/lib/zTree_v3/demo/cn/super/left_menu.html deleted file mode 100755 index 759c863..0000000 --- a/lib/zTree_v3/demo/cn/super/left_menu.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - ZTREE DEMO - left_menu - - - - - - - - - - - -

                                                                                                                                                        左侧菜单

                                                                                                                                                        -
                                                                                                                                                        [ 文件路径: super/left_menu.html ]
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                        -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                            -
                                                                                                                                                          • 实现方法说明

                                                                                                                                                            -
                                                                                                                                                              -
                                                                                                                                                            • 在 “Demo 演示”中的左侧菜单就是用 zTree 实现的,主要是靠 css 样式负责排版,利用 setting 中的配置进行功能制作,本 Demo 对实现 左侧菜单进行简单的介绍,你也可以通过查看 “Demo 演示”页面的源码深入了解。
                                                                                                                                                            • -
                                                                                                                                                            • 1、关于 css 完全可以根据自己的需要进行个性化调整,例如:此 Demo 的菜单样式 就 与 “Demo 演示”页面的不一样,仅供对比参考
                                                                                                                                                            • -
                                                                                                                                                            • 2、主要用到的配置有:
                                                                                                                                                              -     setting.view.showIcon / showLine / selectedMulti / dblClickExpand
                                                                                                                                                              -     setting.callback.onNodeCreated / beforeClick / onClick -
                                                                                                                                                            • -
                                                                                                                                                            • 3、是否需要限制单一路径展开,完全由你的需求而定,实现代码可参考 "保持展开单一路径"
                                                                                                                                                            • -
                                                                                                                                                            • 4、其他辅助规则,请根据实际情况自行编写
                                                                                                                                                            • -
                                                                                                                                                            -
                                                                                                                                                          • -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          - - diff --git a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.gif b/lib/zTree_v3/demo/cn/super/left_menuForOutLook.gif deleted file mode 100755 index c252f0f..0000000 Binary files a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.gif and /dev/null differ diff --git a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.html b/lib/zTree_v3/demo/cn/super/left_menuForOutLook.html deleted file mode 100755 index d42412f..0000000 --- a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - ZTREE DEMO - left_menu for Outlook - - - - - - - - - - -

                                                                                                                                                          OutLook 样式的左侧菜单

                                                                                                                                                          -
                                                                                                                                                          [ 文件路径: super/left_menuForOutLook.html ]
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                          -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                              -
                                                                                                                                                            • 实现方法说明

                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • 帮朋友用 zTree 实现了一个貌似 Outlook.com 的菜单,特拿出来分享给大家
                                                                                                                                                              • -
                                                                                                                                                              • 1、请注意本页面源码中的 css 部分
                                                                                                                                                              • -
                                                                                                                                                              • 2、请查看源码中 js 的使用,特别是利用 addDiyDom 回调将 展开按钮 转移到 <a> 标签内
                                                                                                                                                              • -
                                                                                                                                                              • 3、利用添加 zTree 的 class 实现展开按钮的隐藏、显示
                                                                                                                                                              • -
                                                                                                                                                              • 4、其他辅助规则,请根据实际情况自行编写
                                                                                                                                                              • -
                                                                                                                                                              • 5、当前规则说明:
                                                                                                                                                                -   单击根节点可以展开、折叠;
                                                                                                                                                                -   非根节点只有点击 箭头 图标才可以展开、折叠;
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                            • -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            - - diff --git a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.png b/lib/zTree_v3/demo/cn/super/left_menuForOutLook.png deleted file mode 100755 index 36e8acf..0000000 Binary files a/lib/zTree_v3/demo/cn/super/left_menuForOutLook.png and /dev/null differ diff --git a/lib/zTree_v3/demo/cn/super/metro.html b/lib/zTree_v3/demo/cn/super/metro.html deleted file mode 100755 index f82004a..0000000 --- a/lib/zTree_v3/demo/cn/super/metro.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - - -

                                                                                                                                                            Metro 风格

                                                                                                                                                            -
                                                                                                                                                            [ 文件路径: super/metro.html ]
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                            -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                              • 1、样式文件说明

                                                                                                                                                                -
                                                                                                                                                                  -
                                                                                                                                                                • 请使用 css/metroStyle 目录内的样式文件 和 图片
                                                                                                                                                                • -
                                                                                                                                                                • 感谢网友 rqx110 提供, 仅供参考
                                                                                                                                                                • -
                                                                                                                                                                -
                                                                                                                                                              • -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/oneclick.html b/lib/zTree_v3/demo/cn/super/oneclick.html deleted file mode 100755 index 6b098d7..0000000 --- a/lib/zTree_v3/demo/cn/super/oneclick.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - ZTREE DEMO - one click - - - - - - - - - - - -

                                                                                                                                                              单击展开/折叠节点

                                                                                                                                                              -
                                                                                                                                                              [ 文件路径: super/oneclick.html ]
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                              -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                  -
                                                                                                                                                                • 实现方法说明

                                                                                                                                                                  -
                                                                                                                                                                    -
                                                                                                                                                                  • zTree 默认不提供单击展开节点的功能,但可以利用 onClick 事件回调函数轻松实现此功能
                                                                                                                                                                  • -
                                                                                                                                                                  • 为了避免与双击功能冲突,建议关闭双击展开节点的功能,请设置 setting.view.dblClickExpand = false
                                                                                                                                                                  • -
                                                                                                                                                                  • 可以将所有的 +/- 开关隐藏,请查看本页面源码,查看 css 设置
                                                                                                                                                                  • -
                                                                                                                                                                  • 由于 +/- 开关与 节点连接线是配套的,所以如果不显示 +/- 开关的话,那么请设置 setting.view.showLine = false 隐藏连接线
                                                                                                                                                                  • -
                                                                                                                                                                  -
                                                                                                                                                                • -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/oneroot.html b/lib/zTree_v3/demo/cn/super/oneroot.html deleted file mode 100755 index 14ec990..0000000 --- a/lib/zTree_v3/demo/cn/super/oneroot.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - ZTREE DEMO - one root - - - - - - - - - - - -

                                                                                                                                                                冻结根节点

                                                                                                                                                                -
                                                                                                                                                                [ 文件路径: super/oneroot.html ]
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                    -
                                                                                                                                                                  • 实现方法说明

                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 对于这种只有一个根节点,且不显示 +/- 开关的需求,需要利用 css、setting 配合使用
                                                                                                                                                                    • -
                                                                                                                                                                    • zTree v3.x 可以针对指定的 level,进行样式设定,请查看本页面源码,查看 css 设置
                                                                                                                                                                    • -
                                                                                                                                                                    • 设置 setting.view.dblClickExpand 指向 Function,可以只针对根节点关闭双击展开的操作
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                  • -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/rightClickMenu.html b/lib/zTree_v3/demo/cn/super/rightClickMenu.html deleted file mode 100755 index dd15c6e..0000000 --- a/lib/zTree_v3/demo/cn/super/rightClickMenu.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - ZTREE DEMO - select menu - - - - - - - - - - - - -

                                                                                                                                                                  右键菜单的实现

                                                                                                                                                                  -
                                                                                                                                                                  [ 文件路径: super/rightClickMenu.html ]
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                  -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 实现方法说明

                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • 利用 beforeRightClick / onRightClick 事件回调函数简单实现的右键菜单
                                                                                                                                                                      • -
                                                                                                                                                                      • Demo 中的菜单比较简陋,你完全可以配合其他自定义样式的菜单图层混合使用
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 增加节点
                                                                                                                                                                    • -
                                                                                                                                                                    • 删除节点
                                                                                                                                                                    • -
                                                                                                                                                                    • Check节点
                                                                                                                                                                    • -
                                                                                                                                                                    • unCheck节点
                                                                                                                                                                    • -
                                                                                                                                                                    • 恢复zTree
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/select_menu.html b/lib/zTree_v3/demo/cn/super/select_menu.html deleted file mode 100755 index 5038fa6..0000000 --- a/lib/zTree_v3/demo/cn/super/select_menu.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - ZTREE DEMO - select menu - - - - - - - - - - - -

                                                                                                                                                                    下拉菜单

                                                                                                                                                                    -
                                                                                                                                                                    [ 文件路径: super/select_menu.html ]
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    •   选择城市时,按下 Ctrl 或 Cmd 键可以进行多选
                                                                                                                                                                    • -
                                                                                                                                                                    •   城市: -  选择
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 实现方法说明

                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • 用 zTree 实现这种下拉菜单,应该说是比较容易的,你只需要控制 zTree 所在容器的隐藏/显示,以及位置即可。
                                                                                                                                                                      • -
                                                                                                                                                                      • zTree v3.x 实现了多点选中功能,因此对于需要多选的下拉菜单也易如反掌。
                                                                                                                                                                      • -
                                                                                                                                                                      • 利用 setting 的各项配置参数,完全可以满足大部分的功能需求。
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/select_menu_checkbox.html b/lib/zTree_v3/demo/cn/super/select_menu_checkbox.html deleted file mode 100755 index 387bcbd..0000000 --- a/lib/zTree_v3/demo/cn/super/select_menu_checkbox.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - ZTREE DEMO - checkbox select menu - - - - - - - - - - - - -

                                                                                                                                                                    带 checkbox 的多选下拉菜单 -- zTree

                                                                                                                                                                    -
                                                                                                                                                                    [ 文件路径: super/select_menu_checkbox.html ]
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    •   勾选 checkbox 或者 点击节点 进行选择
                                                                                                                                                                    • -
                                                                                                                                                                    •   Test: -  select
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 实现方法说明

                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • 用 checkbox 也可以轻松实现多选的下拉菜单
                                                                                                                                                                      • -
                                                                                                                                                                      • 此 Demo 主要用于 和 其他下拉菜单进行对比
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/select_menu_radio.html b/lib/zTree_v3/demo/cn/super/select_menu_radio.html deleted file mode 100755 index 5a2b9dd..0000000 --- a/lib/zTree_v3/demo/cn/super/select_menu_radio.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - ZTREE DEMO - radio select menu - - - - - - - - - - - - -

                                                                                                                                                                    带 radio 的单选下拉菜单 -- zTree

                                                                                                                                                                    -
                                                                                                                                                                    [ 文件路径: super/select_menu_radio.html ]
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    •   勾选 radio 或者 点击节点 进行选择
                                                                                                                                                                    • -
                                                                                                                                                                    •   Test: -  select
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                    • 实现方法说明

                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • 用 radio 也可以轻松实现单选的下拉菜单
                                                                                                                                                                      • -
                                                                                                                                                                      • 单选其实没有必要使用 radio, 此 Demo 主要用于 和 其他下拉菜单进行对比
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                    • -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/cn/super/singlepath.html b/lib/zTree_v3/demo/cn/super/singlepath.html deleted file mode 100755 index 667d530..0000000 --- a/lib/zTree_v3/demo/cn/super/singlepath.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - ZTREE DEMO - single path - - - - - - - - - - - -

                                                                                                                                                                    保持展开单一路径

                                                                                                                                                                    -
                                                                                                                                                                    [ 文件路径: super/singlepath.html ]
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                    -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • 实现方法说明

                                                                                                                                                                        -
                                                                                                                                                                          -
                                                                                                                                                                        • 此 Demo 是在 "单击展开/折叠节点" 基础上改造而来,树节点保持始终只展开一条路径。
                                                                                                                                                                        • -
                                                                                                                                                                        • 利用 setting.callback.beforeExpand / onExpand 事件回调函数实现展开规则
                                                                                                                                                                        • -
                                                                                                                                                                        -
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/asyncData/getNodes.php b/lib/zTree_v3/demo/en/asyncData/getNodes.php deleted file mode 100755 index 6d22b5e..0000000 --- a/lib/zTree_v3/demo/en/asyncData/getNodes.php +++ /dev/null @@ -1,42 +0,0 @@ - -[] diff --git a/lib/zTree_v3/demo/en/asyncData/getNodesForBigData.php b/lib/zTree_v3/demo/en/asyncData/getNodesForBigData.php deleted file mode 100755 index 588c14c..0000000 --- a/lib/zTree_v3/demo/en/asyncData/getNodesForBigData.php +++ /dev/null @@ -1,26 +0,0 @@ - -[] diff --git a/lib/zTree_v3/demo/en/bigdata/common.html b/lib/zTree_v3/demo/en/bigdata/common.html deleted file mode 100755 index 4d39b0f..0000000 --- a/lib/zTree_v3/demo/en/bigdata/common.html +++ /dev/null @@ -1,190 +0,0 @@ - - - - ZTREE DEMO - big data common - - - - - - - - - - - -

                                                                                                                                                                      One-time Large Data Loading

                                                                                                                                                                      -
                                                                                                                                                                      [ File Path: bigdata/common.html ]
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                      • Adjust the total number of nodes to the test load speed: -
                                                                                                                                                                        -
                                                                                                                                                                        5000
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        - checkbox     - [ Initialize zTree ] -
                                                                                                                                                                        -
                                                                                                                                                                      • -
                                                                                                                                                                      -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                          -
                                                                                                                                                                        • 1, Explanation of large data load

                                                                                                                                                                          -
                                                                                                                                                                            -
                                                                                                                                                                          • 1) zTree v3.x optimized for one-time large data loading capacity, using a lazy loading technique, which does not expand the node does not create child nodes of the DOM.
                                                                                                                                                                          • -
                                                                                                                                                                          • 2) If a maximum of 100 nodes each, but a total number of several thousand or even tens of thousands of nodes, and the parent node is collapsed by default to optimize the most obvious effect, very fast.
                                                                                                                                                                          • -
                                                                                                                                                                          • 3) For the next level there are thousands of sub-node case, the optimization of lazy loading is invalid, proposal to consider asynchronous page loading.
                                                                                                                                                                          • -
                                                                                                                                                                          • 4) if you set the data to all the parent nodes are expanded, the optimization of lazy loading is invalid, proposal to not expand all parent node when you initialize zTree.
                                                                                                                                                                          • -
                                                                                                                                                                          • 5) set the display checkbox / radio will affect some of the performance.
                                                                                                                                                                          • -
                                                                                                                                                                          • 6) DOM generated using addDiyDom function will affect the speed, the number of nodes determines the number of impact situations.
                                                                                                                                                                          • -
                                                                                                                                                                          • 7) Using 'onNodeCreated' callback function to manipulate nodes object will affect the speed, the degree of influence determined by the number of nodes.
                                                                                                                                                                          • -
                                                                                                                                                                          -
                                                                                                                                                                        • -
                                                                                                                                                                        • 2, Explanation of setting

                                                                                                                                                                          -
                                                                                                                                                                            -
                                                                                                                                                                          • No special configuration.
                                                                                                                                                                          • -
                                                                                                                                                                          -
                                                                                                                                                                        • -
                                                                                                                                                                        • 3, Explanation of treeNode

                                                                                                                                                                          -
                                                                                                                                                                            -
                                                                                                                                                                          • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                          • -
                                                                                                                                                                          -
                                                                                                                                                                        • -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/bigdata/diy_async.html b/lib/zTree_v3/demo/en/bigdata/diy_async.html deleted file mode 100755 index 1049714..0000000 --- a/lib/zTree_v3/demo/en/bigdata/diy_async.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - ZTREE DEMO - big data async - - - - - - - - - - - -

                                                                                                                                                                        Loading Data in Batches

                                                                                                                                                                        -
                                                                                                                                                                        [ File Path: bigdata/diy_async.html ]
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                        -
                                                                                                                                                                          -
                                                                                                                                                                        •     Demo for testing load data in batches, each node needs to re-start to load.
                                                                                                                                                                        • -
                                                                                                                                                                        -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                          -
                                                                                                                                                                            -
                                                                                                                                                                          • 1, Explanation of large data load

                                                                                                                                                                            -
                                                                                                                                                                              -
                                                                                                                                                                            • 1) If has nodes for as many as thousands in one level, lazy loading is invalid, this demo shows how to load data in batches.
                                                                                                                                                                            • -
                                                                                                                                                                            • 2) This method applies to thousands of nodes must all display needs.
                                                                                                                                                                            • -
                                                                                                                                                                            • 3) This method doesn't solve the problem of slow loading, it will only make the final result appear more slowly, but can be limited to avoid browser suspended animation, and more nodes displayed slower.
                                                                                                                                                                            • -
                                                                                                                                                                            • 4) For at least several thousand nodes in one level case, another solution is to: pagination loading.
                                                                                                                                                                              - async load log:
                                                                                                                                                                              -
                                                                                                                                                                              • -
                                                                                                                                                                              -
                                                                                                                                                                            • -
                                                                                                                                                                            • 2, Explanation of setting

                                                                                                                                                                              -
                                                                                                                                                                                -
                                                                                                                                                                              • Need to set the parameters in setting.async
                                                                                                                                                                              • -
                                                                                                                                                                              • Advised to turn off animation effects: setting.view.expandSpeed = "";
                                                                                                                                                                              • -
                                                                                                                                                                              • No other special configuration, the user can set their own requirements.
                                                                                                                                                                              • -
                                                                                                                                                                              -
                                                                                                                                                                            • -
                                                                                                                                                                            • 3, Explanation of treeNode

                                                                                                                                                                              -
                                                                                                                                                                                -
                                                                                                                                                                              • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                              • -
                                                                                                                                                                              -
                                                                                                                                                                            • -
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/bigdata/page.html b/lib/zTree_v3/demo/en/bigdata/page.html deleted file mode 100755 index 3b18f9e..0000000 --- a/lib/zTree_v3/demo/en/bigdata/page.html +++ /dev/null @@ -1,150 +0,0 @@ - - - - ZTREE DEMO - big data page - - - - - - - - - - - - -

                                                                                                                                                                            Loading Data By Pagination

                                                                                                                                                                            -
                                                                                                                                                                            [ File Path: bigdata/page.html ]
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                            -
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                                -
                                                                                                                                                                              • 1, Explanation of large data load

                                                                                                                                                                                -
                                                                                                                                                                                  -
                                                                                                                                                                                • 1) Pagination can be an effective solution to the large number of child nodes of the situation.
                                                                                                                                                                                • -
                                                                                                                                                                                • 2) Using custom method to display the pagination button.
                                                                                                                                                                                • -
                                                                                                                                                                                • 3) Pagination lead to the association of checkbox can not be achieved, only correction after show each page . Because of the time limitation, Demo does not deal with association of checkbox.
                                                                                                                                                                                • -
                                                                                                                                                                                • 4) The use of pagination, you can only get the current page node data from zTree. You can save the data after each page loading as the cache, according to the demand to determine the specific methods.
                                                                                                                                                                                • - -
                                                                                                                                                                                • 2, Explanation of setting

                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • Need to set the parameters in setting.async
                                                                                                                                                                                  • -
                                                                                                                                                                                  • No other special configuration, the user can set their own requirements.
                                                                                                                                                                                  • -
                                                                                                                                                                                  -
                                                                                                                                                                                • -
                                                                                                                                                                                • 3, Explanation of treeNode

                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                  • -
                                                                                                                                                                                  -
                                                                                                                                                                                • -
                                                                                                                                                                                -
                                                                                                                                                                              -
                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/async.html b/lib/zTree_v3/demo/en/core/async.html deleted file mode 100755 index e287c3f..0000000 --- a/lib/zTree_v3/demo/en/core/async.html +++ /dev/null @@ -1,70 +0,0 @@ - - - - ZTREE DEMO - Async - - - - - - - - - - -

                                                                                                                                                                              Dynamic Tree with Ajax

                                                                                                                                                                              -
                                                                                                                                                                              [ File Path: core/async.html ]
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                              -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                  -
                                                                                                                                                                                • 1, Explanation of setting

                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • For create dynamic tree with ajax, you need to set attributes in setting.async, see the API documentation for more related contents.
                                                                                                                                                                                  • -
                                                                                                                                                                                  -
                                                                                                                                                                                • -
                                                                                                                                                                                • 2, Explanation of treeNode

                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • Dynamic tree with ajax doesn't need to make special treeNode node data, if use simple JSON data model, please set the attributes in setting.data.simple.
                                                                                                                                                                                  • -
                                                                                                                                                                                  • If ajax only to return node data in single level, you don't need to use simple JSON data model.
                                                                                                                                                                                  • -
                                                                                                                                                                                  -
                                                                                                                                                                                • -
                                                                                                                                                                                • 3、Other explanation

                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • Monitoring autoParam and otherParam use firebug or the developer tools in browser.
                                                                                                                                                                                  • -
                                                                                                                                                                                  • This Demo only loading 4 level nodes (level = 3).
                                                                                                                                                                                  • -
                                                                                                                                                                                  • This Demo use 'dataFilter' to modify the name of the node.
                                                                                                                                                                                  • -
                                                                                                                                                                                  -
                                                                                                                                                                                • -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/async_fun.html b/lib/zTree_v3/demo/en/core/async_fun.html deleted file mode 100755 index 25bcc97..0000000 --- a/lib/zTree_v3/demo/en/core/async_fun.html +++ /dev/null @@ -1,144 +0,0 @@ - - - - ZTREE DEMO - reAsyncChildNodes - - - - - - - - - - - -

                                                                                                                                                                                Dynamic Tree - zTree methods

                                                                                                                                                                                -
                                                                                                                                                                                [ File Path: core/async_fun.html ]
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                -
                                                                                                                                                                                  -
                                                                                                                                                                                  -
                                                                                                                                                                                  -
                                                                                                                                                                                    -
                                                                                                                                                                                  • 1, Explanation of reAsyncChildNodes

                                                                                                                                                                                    -
                                                                                                                                                                                      -
                                                                                                                                                                                    • How to use zTreeObj.reAsyncChildNodes method, please see the API documentation.
                                                                                                                                                                                    • -
                                                                                                                                                                                    • This Demo can only select one parent node
                                                                                                                                                                                      - Try: [ reload ]    [ append ]

                                                                                                                                                                                      -
                                                                                                                                                                                    • -
                                                                                                                                                                                    • 'isSilent' parameter is only for the collapsed state of the parent node.
                                                                                                                                                                                      - Try: [ Quietly reloaded ]    [ Quietly append ]
                                                                                                                                                                                      - async log:
                                                                                                                                                                                      -

                                                                                                                                                                                        -
                                                                                                                                                                                      • -
                                                                                                                                                                                      -
                                                                                                                                                                                    • -
                                                                                                                                                                                    • 2, Explanation of setting

                                                                                                                                                                                      -
                                                                                                                                                                                        -
                                                                                                                                                                                      • For useing reAsyncChildNodes method, you need to set attributes in setting.async, see the API documentation for more related contents.
                                                                                                                                                                                      • -
                                                                                                                                                                                      -
                                                                                                                                                                                    • -
                                                                                                                                                                                    • 3, Explanation of treeNode

                                                                                                                                                                                      -
                                                                                                                                                                                        -
                                                                                                                                                                                      • Same as 'Dynamic Tree with Ajax'
                                                                                                                                                                                      • -
                                                                                                                                                                                      -
                                                                                                                                                                                    • -
                                                                                                                                                                                    • 4、Other explanation

                                                                                                                                                                                      -
                                                                                                                                                                                        -
                                                                                                                                                                                      • Same as 'Dynamic Tree with Ajax'
                                                                                                                                                                                      • -
                                                                                                                                                                                      -
                                                                                                                                                                                    • -
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/click.html b/lib/zTree_v3/demo/en/core/click.html deleted file mode 100755 index 5630fc9..0000000 --- a/lib/zTree_v3/demo/en/core/click.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - ZTREE DEMO - beforeClick / onClick - - - - - - - - - - -

                                                                                                                                                                                    Control of Click Node

                                                                                                                                                                                    -
                                                                                                                                                                                    [ File Path: core/click.html ]
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                    -
                                                                                                                                                                                      -
                                                                                                                                                                                      -
                                                                                                                                                                                      -
                                                                                                                                                                                        -
                                                                                                                                                                                      • 1, 'beforeClick / onClick' callback function

                                                                                                                                                                                        -
                                                                                                                                                                                          -
                                                                                                                                                                                        • Use 'beforeClick / onClick' callback function can be achieved with the click on the various functions. This simple demo shows how to monitor the click event.
                                                                                                                                                                                        • -
                                                                                                                                                                                        • Try pressing the Ctrl or Cmd key for multi-node selection and deselection.
                                                                                                                                                                                          - click log:
                                                                                                                                                                                          -

                                                                                                                                                                                            -
                                                                                                                                                                                          • -
                                                                                                                                                                                          -
                                                                                                                                                                                        • -
                                                                                                                                                                                        • 2, Explanation of setting

                                                                                                                                                                                          -
                                                                                                                                                                                            -
                                                                                                                                                                                          • You need to set attributes about setting.callback.beforeClick and setting.callback.onClick, see the API documentation for more related contents.
                                                                                                                                                                                          • -
                                                                                                                                                                                          -
                                                                                                                                                                                        • -
                                                                                                                                                                                        • 3, Explanation of treeNode

                                                                                                                                                                                          -
                                                                                                                                                                                            -
                                                                                                                                                                                          • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                          • -
                                                                                                                                                                                          -
                                                                                                                                                                                        • -
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/custom_font.html b/lib/zTree_v3/demo/en/core/custom_font.html deleted file mode 100755 index da3795a..0000000 --- a/lib/zTree_v3/demo/en/core/custom_font.html +++ /dev/null @@ -1,67 +0,0 @@ - - - - ZTREE DEMO - Custom Font - - - - - - - - - - -

                                                                                                                                                                                        Custom Fonts

                                                                                                                                                                                        -
                                                                                                                                                                                        [ File Path: core/custom_font.html ]
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                        -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                            -
                                                                                                                                                                                          • 1, Explanation of setting

                                                                                                                                                                                            -
                                                                                                                                                                                              -
                                                                                                                                                                                            • 1. For display custom fonts, you need to set setting.view.fontCss attribute, see the API documentation for more related contents.
                                                                                                                                                                                            • -
                                                                                                                                                                                            • 2. If you need the node name support the HTML, please set the 'setting.view.nameIsHTML' attribute, see the API documentation for more related contents.
                                                                                                                                                                                            • -
                                                                                                                                                                                            -
                                                                                                                                                                                          • -
                                                                                                                                                                                          • 2, Explanation of treeNode

                                                                                                                                                                                            -
                                                                                                                                                                                              -
                                                                                                                                                                                            • Set the font does not require to special node data , but if used to differentiate between different types of nodes, the corresponding data can set custom attributes.
                                                                                                                                                                                            • -
                                                                                                                                                                                            • The css style of data stored in the nodes within this demo
                                                                                                                                                                                            • -
                                                                                                                                                                                            -
                                                                                                                                                                                          • -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/custom_icon.html b/lib/zTree_v3/demo/en/core/custom_icon.html deleted file mode 100755 index a2b0965..0000000 --- a/lib/zTree_v3/demo/en/core/custom_icon.html +++ /dev/null @@ -1,74 +0,0 @@ - - - - ZTREE DEMO - Custom Icon - - - - - - - - - - -

                                                                                                                                                                                          Custom Icon - icon

                                                                                                                                                                                          -
                                                                                                                                                                                          [ File Path: core/custom_icon.html ]
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                          -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                              -
                                                                                                                                                                                            • 1, Explanation of setting

                                                                                                                                                                                              -
                                                                                                                                                                                                -
                                                                                                                                                                                              • Custom icon does not require special configuration setting.
                                                                                                                                                                                              • -
                                                                                                                                                                                              -
                                                                                                                                                                                            • -
                                                                                                                                                                                            • 2, Explanation of treeNode

                                                                                                                                                                                              -
                                                                                                                                                                                                -
                                                                                                                                                                                              • Use node data’s icon / iconOpen / iconClose attribute show custom icon.
                                                                                                                                                                                              • -
                                                                                                                                                                                              • See the API documentation for more related contents.
                                                                                                                                                                                              • -
                                                                                                                                                                                              -
                                                                                                                                                                                            • -
                                                                                                                                                                                            • 3、Other explanation

                                                                                                                                                                                              -
                                                                                                                                                                                                -
                                                                                                                                                                                              • Because of the time limitation, demo uses png images, if you need transparent images in IE6 browser, make a gif image, or use a special 'css filter' on ie6 browser.
                                                                                                                                                                                              • -
                                                                                                                                                                                              -
                                                                                                                                                                                            • -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/custom_iconSkin.html b/lib/zTree_v3/demo/en/core/custom_iconSkin.html deleted file mode 100755 index d853a58..0000000 --- a/lib/zTree_v3/demo/en/core/custom_iconSkin.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - ZTREE DEMO - Custom Icon Skin - - - - - - - - - - - -

                                                                                                                                                                                            Custom Icon - iconSkin

                                                                                                                                                                                            -
                                                                                                                                                                                            [ File Path: core/custom_iconSkin.html ]
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                            -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                                -
                                                                                                                                                                                              • 1, Explanation of setting

                                                                                                                                                                                                -
                                                                                                                                                                                                  -
                                                                                                                                                                                                • Custom icon does not require special configuration setting.
                                                                                                                                                                                                • -
                                                                                                                                                                                                -
                                                                                                                                                                                              • -
                                                                                                                                                                                              • 2, Explanation of treeNode

                                                                                                                                                                                                -
                                                                                                                                                                                                  -
                                                                                                                                                                                                • Use the node data iconSkin attributes and css show custom icon.
                                                                                                                                                                                                • -
                                                                                                                                                                                                • See the API documentation for more related contents.
                                                                                                                                                                                                • -
                                                                                                                                                                                                -
                                                                                                                                                                                              • -
                                                                                                                                                                                              • 3、Other explanation

                                                                                                                                                                                                -
                                                                                                                                                                                                  -
                                                                                                                                                                                                • Because of the time limitation, demo uses png images, if you need transparent images in IE6 browser, make a gif image, or use a special 'css filter' on ie6 browser.
                                                                                                                                                                                                • -
                                                                                                                                                                                                -
                                                                                                                                                                                              • -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/expand.html b/lib/zTree_v3/demo/en/core/expand.html deleted file mode 100755 index 489638a..0000000 --- a/lib/zTree_v3/demo/en/core/expand.html +++ /dev/null @@ -1,186 +0,0 @@ - - - - ZTREE DEMO - beforeExpand / onExpand && beforeCollapse / onCollapse - - - - - - - - - - -

                                                                                                                                                                                              Control of Expand Node

                                                                                                                                                                                              -
                                                                                                                                                                                              [ File Path: core/expand.html ]
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                              -
                                                                                                                                                                                                -
                                                                                                                                                                                                -
                                                                                                                                                                                                -
                                                                                                                                                                                                  -
                                                                                                                                                                                                • 1, 'beforeCollapse / onCollapse'
                                                                                                                                                                                                    'beforeExpand / onExpand' callback function

                                                                                                                                                                                                  -
                                                                                                                                                                                                    -
                                                                                                                                                                                                  • Use 'beforeCollapse / onCollapse' and 'beforeExpand / onExpand' callback function can control whether to allow expand or collapse the parent node - . This simple demo shows how to monitor the collapse and expand event.
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  • Try:
                                                                                                                                                                                                    -      Whether trigger the callback when execution expandNode() method.
                                                                                                                                                                                                    -     Single Node --[ expand ] -     [ collapse ] -     [ toggle ]
                                                                                                                                                                                                    -     Single Node (including child) --[ expand ] -     [ collapse ]
                                                                                                                                                                                                    -     All Nodes --[ expand All ] -     [ collapse All ]

                                                                                                                                                                                                    -
                                                                                                                                                                                                  • How to use zTreeObj.updateNode method, please see the API documentation.
                                                                                                                                                                                                    - collapse / expand log:
                                                                                                                                                                                                    -

                                                                                                                                                                                                      -
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    -
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  • 2, Explanation of setting

                                                                                                                                                                                                    -
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • Set attributes about 'setting.callback.beforeCollapse / onCollapse / beforeExpand / onExpand', please see the API documentation for more related contents.
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    • If you need to adjust the expand / collapse animation effects, please see the API documentation about setting.view.expandSpeed.
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    -
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  • 3, Explanation of treeNode

                                                                                                                                                                                                    -
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    -
                                                                                                                                                                                                  • -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/noicon.html b/lib/zTree_v3/demo/en/core/noicon.html deleted file mode 100755 index 7a14b80..0000000 --- a/lib/zTree_v3/demo/en/core/noicon.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - ZTREE DEMO - noIcon - - - - - - - - - - - -

                                                                                                                                                                                                  Don't Show Icon

                                                                                                                                                                                                  -
                                                                                                                                                                                                  [ File Path: core/noicon.html ]
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                  -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • 1, Explanation of setting

                                                                                                                                                                                                      -
                                                                                                                                                                                                        -
                                                                                                                                                                                                      • This Demo using Function set to the parent node does not display the icon.
                                                                                                                                                                                                      • -
                                                                                                                                                                                                      • Whether to display the icon, you need to set setting.view.showIcon attribute, see the API documentation for more related contents.
                                                                                                                                                                                                      • -
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    • 2, Explanation of treeNode

                                                                                                                                                                                                      -
                                                                                                                                                                                                        -
                                                                                                                                                                                                      • TreeNode data does not require special settings. If you need some node display icon, and some nodes are not displayed, you can add special attributes to the node data for identification.
                                                                                                                                                                                                      • -
                                                                                                                                                                                                      -
                                                                                                                                                                                                    • -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/noline.html b/lib/zTree_v3/demo/en/core/noline.html deleted file mode 100755 index 4fd653a..0000000 --- a/lib/zTree_v3/demo/en/core/noline.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - ZTREE DEMO - noLine - - - - - - - - - - - -

                                                                                                                                                                                                    Don't Show Line

                                                                                                                                                                                                    -
                                                                                                                                                                                                    [ File Path: core/noline.html ]
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                    -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                        -
                                                                                                                                                                                                      • 1, Explanation of setting

                                                                                                                                                                                                        -
                                                                                                                                                                                                          -
                                                                                                                                                                                                        • Whether to display the line, you need to set setting.view.showLine attribute, see the API documentation for more related contents.
                                                                                                                                                                                                        • -
                                                                                                                                                                                                        -
                                                                                                                                                                                                      • -
                                                                                                                                                                                                      • 2, Explanation of treeNode

                                                                                                                                                                                                        -
                                                                                                                                                                                                          -
                                                                                                                                                                                                        • TreeNode data does not require special settings
                                                                                                                                                                                                        • -
                                                                                                                                                                                                        -
                                                                                                                                                                                                      • -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/otherMouse.html b/lib/zTree_v3/demo/en/core/otherMouse.html deleted file mode 100755 index c36564d..0000000 --- a/lib/zTree_v3/demo/en/core/otherMouse.html +++ /dev/null @@ -1,132 +0,0 @@ - - - - ZTREE DEMO - Other Mouse Event - - - - - - - - - - -

                                                                                                                                                                                                      Other Mouse Events for zTree

                                                                                                                                                                                                      -
                                                                                                                                                                                                      [ File Path: core/otherMouse.html ]
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                      -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                        -
                                                                                                                                                                                                          -
                                                                                                                                                                                                        • 1, 'beforeMousedown / onMousedown / beforeMouseup / onMouseup / beforeRightClick / onRightClick' callback function

                                                                                                                                                                                                          -
                                                                                                                                                                                                            -
                                                                                                                                                                                                          • zTree provide these types of mouse event callbacks, in order to facilitate the user to extend the functionality. And doesn't affect zTree normal function, This simple demo shows how to monitor the mousedown/mouseup/rightClick event.
                                                                                                                                                                                                          • -
                                                                                                                                                                                                          • Try clicking with the mouse on the zTree (left or right), by the way to see log.
                                                                                                                                                                                                            - mousedown event log:
                                                                                                                                                                                                            -

                                                                                                                                                                                                              - mouseup event log:
                                                                                                                                                                                                              -
                                                                                                                                                                                                                - rightClick event log:
                                                                                                                                                                                                                -

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                -
                                                                                                                                                                                                              • -
                                                                                                                                                                                                              • 2, Explanation of setting

                                                                                                                                                                                                                -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • Set attributes about 'setting.callback.beforeMousedown / onMousedown / beforeMouseup / onMouseup / beforeRightClick / onRightClick', please see the API documentation for more related contents.
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                -
                                                                                                                                                                                                              • -
                                                                                                                                                                                                              • 3, Explanation of treeNode

                                                                                                                                                                                                                -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                -
                                                                                                                                                                                                              • -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/searchNodes.html b/lib/zTree_v3/demo/en/core/searchNodes.html deleted file mode 100755 index 812c3f1..0000000 --- a/lib/zTree_v3/demo/en/core/searchNodes.html +++ /dev/null @@ -1,173 +0,0 @@ - - - - ZTREE DEMO - getNodeByParam / getNodesByParam / getNodesByParamFuzzy - - - - - - - - - - -

                                                                                                                                                                                                              Search Nodes

                                                                                                                                                                                                              -
                                                                                                                                                                                                              [ File Path: core/searchNodes.html ]
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                              -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • 1, Explanation of getNodeByParam / getNodesByParam / getNodesByParamFuzzy

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • How to use ’zTreeObj.getNodeByParam / getNodesByParam / getNodesByParamFuzzy / getNodeByTId‘ method, please see the API documentation.
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  • Try to search:
                                                                                                                                                                                                                    - attribute( value ):
                                                                                                                                                                                                                    - attribute( key ): name (string)
                                                                                                                                                                                                                    - level (number) ... root node's level is 0
                                                                                                                                                                                                                    - id (number)
                                                                                                                                                                                                                    - method: getNodeByParam
                                                                                                                                                                                                                    - getNodesByParam
                                                                                                                                                                                                                    - getNodesByParamFuzzy (only string)
                                                                                                                                                                                                                    - getNodesByFilter (see source: function filter)
                                                                                                                                                                                                                    -

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                • 2, Explanation of setting

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • Do not need to set the setting.
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                • 3, Explanation of treeNode

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • Note: Please ensure that the incoming value type is the same as type of attribute.
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                • -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/simpleData.html b/lib/zTree_v3/demo/en/core/simpleData.html deleted file mode 100755 index 038355d..0000000 --- a/lib/zTree_v3/demo/en/core/simpleData.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - -

                                                                                                                                                                                                                Simple JSON Data

                                                                                                                                                                                                                -
                                                                                                                                                                                                                [ File Path: core/simpleData.html ]
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • 1, Explanation of setting

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • Must set setting.data.simple attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • The setting.view in API documentation is associated with the display of the zTree.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • To change the 'name', 'children', 'title' attribute, please refer to the API documentation about 'setting.data.key'.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  • 2, Explanation of treeNode

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • Id / pId that include parent-child relationship between nodes is needed if you use Simple model of the JSON data, and other attributes please refer to the instructions within setting.data.simple. -
                                                                                                                                                                                                                      For example:
                                                                                                                                                                                                                      -var nodes = [
                                                                                                                                                                                                                      -	{id:1, pId:0, name: "pNode 01"},
                                                                                                                                                                                                                      -	{id:11, pId:1, name: "child 01"},
                                                                                                                                                                                                                      -	{id:12, pId:1, name: "child 02"}
                                                                                                                                                                                                                      -];
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • To set nodes expanded by default, set treeNode.open attribute.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • To get parent node which has no child node, set treeNode.isParent attribute.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • Please refer to the API documentation "treeNode data details" to view other attributes description.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  • 3、Other explanation

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • The simple JSON data model has been used almost everywhere, which can be learned easily.
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/standardData.html b/lib/zTree_v3/demo/en/core/standardData.html deleted file mode 100755 index 14d3cff..0000000 --- a/lib/zTree_v3/demo/en/core/standardData.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - ZTREE DEMO - Standard Data - - - - - - - - - - -

                                                                                                                                                                                                                  Standard JSON Data

                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  [ File Path: core/standardData.html ]
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                  -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • 1, Explanation of setting

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • No extrally setting needed for basic functions.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • The setting.view in API documentation is associated with the display of the zTree.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • To change the 'name', 'children', 'title' attribute, please refer to the API documentation about 'setting.data.key'.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    • 2, Explanation of treeNode

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • Need to use nested JSON data that include parent-child relationship between nodes -
                                                                                                                                                                                                                        For example:
                                                                                                                                                                                                                        -var nodes = [
                                                                                                                                                                                                                        -	{name: "pNode 01", children: [
                                                                                                                                                                                                                        -		{name: "child 01"},
                                                                                                                                                                                                                        -		{name: "child 02"}
                                                                                                                                                                                                                        -	]}
                                                                                                                                                                                                                        -];
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • To set nodes expanded by default, set treeNode.open attribute.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • No child nodes of parent node, set treeNode.isParent attribute.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • Please refer to the API documentation "treeNode data details" to view other attributes description.
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/update_fun.html b/lib/zTree_v3/demo/en/core/update_fun.html deleted file mode 100755 index 5d5ed33..0000000 --- a/lib/zTree_v3/demo/en/core/update_fun.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - ZTREE DEMO - updateNode - - - - - - - - - - - -

                                                                                                                                                                                                                    Update Node - zTree methods

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    [ File Path: core/update_fun.html ]
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • 1, Explanation of updateNode

                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • 2, Explanation of setting

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • Do not need to set the setting.
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        • You can modify the node style with setting.view.fontCss.
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • 3, Explanation of treeNode

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • In the API documentation has detail description about the 'zTreeObj.updateNode method'.
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      • 4、Other explanation

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • This demo only made ​by the core js, so does not include the checkbox update.
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/core/url.html b/lib/zTree_v3/demo/en/core/url.html deleted file mode 100755 index 722e1c5..0000000 --- a/lib/zTree_v3/demo/en/core/url.html +++ /dev/null @@ -1,63 +0,0 @@ - - - - ZTREE DEMO - url - - - - - - - - - - -

                                                                                                                                                                                                                      Hyperlinks Demo

                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      [ File Path: core/url.html ]
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                      -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • 1, Explanation of setting

                                                                                                                                                                                                                          -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                          • No extrally setting needed for basic functions.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          • If you need flexible control of hyperlinks to jump, please use the 'onClick' callback. See the API documentation for more related contents.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        • 2, Explanation of treeNode

                                                                                                                                                                                                                          -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                          • 1. the 'url' attribute is used to save the hyperlink's path.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          • 2. the 'target' attribute is used to save the hyperlink's target.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          • 3. the 'click' attribute is used to save the hyperlink's 'onclick' attribute.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          • Please refer to the API documentation "treeNode data details" to view other attributes description.
                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox.html b/lib/zTree_v3/demo/en/excheck/checkbox.html deleted file mode 100755 index a107a41..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox.html +++ /dev/null @@ -1,107 +0,0 @@ - - - - ZTREE DEMO - checkbox - - - - - - - - - - - -

                                                                                                                                                                                                                        Checkbox Operation

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        [ File Path: excheck/checkbox.html ]
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                          -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                          • 1, Explanation of setting

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                            • Must set setting.check attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                            • Linkage relationship between parent and child nodes:
                                                                                                                                                                                                                              - check: affect the parent - affect the child
                                                                                                                                                                                                                              - uncheck: affect the parent - affect the child
                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                            • 2, Explanation of treeNode

                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • 1), If you need to initialize the node is checked, please set treeNode.checked attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 2), If you need to initialize the node's checkbox is disabled, please set treeNode.chkDisabled attribute. See the API documentation for more related contents and 'chkDisabled Demo'.
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 3), If you need to initialize the node don't show checkbox, please set treeNode.nocheck attribute. See the API documentation for more related contents and 'nocheck Demo'.
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 4), If you need to change 'checked' to other attribute, please set setting.data.key.checked attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 5), By the way, please see the API documentation for 'treeNode.checkedOld / getCheckStatus / check_Child_State / check_Focus'.
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox_chkDisabled.html b/lib/zTree_v3/demo/en/excheck/checkbox_chkDisabled.html deleted file mode 100755 index 6f1fbc4..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox_chkDisabled.html +++ /dev/null @@ -1,111 +0,0 @@ - - - - ZTREE DEMO - Checkbox chkDisabled - - - - - - - - - - - -

                                                                                                                                                                                                                            Checkbox chkDisabled Demo

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            [ File Path: excheck/checkbox_chkDisabled.html ]
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • 1, Explanation of 'setChkDisabled' method

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • 'setChkDisabled' method can set the node's checkbox / radio to be disabled or abled. See the API documentation for more related contents.
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                • Try:
                                                                                                                                                                                                                                  - disabled: affect the parent - affect the child
                                                                                                                                                                                                                                  - unDisabled: affect the parent - affect the child
                                                                                                                                                                                                                                  -     [ be disabled ] -     [ be abled ]

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 2, Explanation of setting

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • This Demo only shows how use the ‘chkDisabled’ attribute, detailed configuration information, please refer to 'Checkbox Operation'
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              • 3, Explanation of treeNode

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • 1), If you need to initialize the node's checkbox is disabled, please set treeNode.chkDisabled attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                • 2), By the way, please see the 'Checkbox Operation' Demo.
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox_count.html b/lib/zTree_v3/demo/en/excheck/checkbox_count.html deleted file mode 100755 index f8b07a2..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox_count.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - ZTREE DEMO - getChangeCheckedNodes / getCheckedNodes - - - - - - - - - - - -

                                                                                                                                                                                                                              Statistics Checkbox is Checked

                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              [ File Path: excheck/checkbox_count.html ]
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • 1, Explanation of getChangeCheckedNodes / getCheckedNodes

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                  • How to use zTreeObj.getChangeCheckedNodes / getCheckedNodes method, please see the API documentation.
                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                  • Check the checkbox, observe the number of changes:
                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • Total check node:
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • Total uncheck node:
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • Modify the state of checkbox:
                                                                                                                                                                                                                                      - Compared with zTree initialization
                                                                                                                                                                                                                                      - Compared with the last check
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • Total change the checkbox state of node:
                                                                                                                                                                                                                                    • -

                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                • 2, Explanation of setting

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                  • Same as 'Checkbox Operation'
                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                • 3, Explanation of treeNode

                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                  • Same as 'Checkbox Operation'
                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox_fun.html b/lib/zTree_v3/demo/en/excheck/checkbox_fun.html deleted file mode 100755 index d5ce22c..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox_fun.html +++ /dev/null @@ -1,172 +0,0 @@ - - - - ZTREE DEMO - beforeCheck / onCheck - - - - - - - - - - - -

                                                                                                                                                                                                                                Checkbox - zTree methods

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                [ File Path: excheck/checkbox_fun.html ]
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                  • 1, 'beforeCheck / onCheck' callback function

                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • Use 'beforeCheck / onCheck' callback function can control whether to allow changes to the node check state. This simple demo shows how to monitor the check event.
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • By the way also demonstrates how to use the 'checkNode / checkAllNodes' method triggers 'beforeCheck / onCheck' callback, Try:
                                                                                                                                                                                                                                      -      setting.check.autoCheckTrigger: false
                                                                                                                                                                                                                                      -      Whether trigger the callback when execution checkNode() method.
                                                                                                                                                                                                                                      -     Node --[ check ] -     [ uncheck ] -     [ toggle ]
                                                                                                                                                                                                                                      -     Node (relationships) --[ check ] -     [ uncheck ] -     [ toggle ]
                                                                                                                                                                                                                                      -     All Nodes --[ check ] -     [ uncheck ]

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • How to use 'zTreeObj.checkNode / checkAllNodes' method, please see the API documentation.
                                                                                                                                                                                                                                      - beforeCheck / onCheck log:
                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • 2, Explanation of setting

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • Same as 'Checkbox Operation'
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    • 3, Explanation of treeNode

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • Same as 'Checkbox Operation'
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox_halfCheck.html b/lib/zTree_v3/demo/en/excheck/checkbox_halfCheck.html deleted file mode 100755 index 80e66d9..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox_halfCheck.html +++ /dev/null @@ -1,108 +0,0 @@ - - - - ZTREE DEMO - Checkbox halfCheck - - - - - - - - - - - -

                                                                                                                                                                                                                                    Checkbox halfCheck Demo

                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    [ File Path: excheck/checkbox_halfCheck.html ]
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • 1, Explanation of Demo

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • This demo implements the check operation of the dynamic tree
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        • 1). After loaded child nodes, the parent node's 'halfCheck' attribute will be invalid immediately.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        • 2). If you check the parent node, so will effect the child nodes's check status.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        • 3). If you check the parent node, it's child node's 'halfCheck' attribute will be invalid.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      • 2, Explanation of setting

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • Half-checked functional don't need to configure any parameter. But it is accessibility, can not used alone. So please configure the parameters which you need.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      • 3, Explanation of treeNode

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • 1), Please set treeNode.halfCheck attribute, before zTree initialize. See the API documentation for more related contents.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        • 2), By the way, please see the 'Checkbox Operation' Demo.
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/checkbox_nocheck.html b/lib/zTree_v3/demo/en/excheck/checkbox_nocheck.html deleted file mode 100755 index 31183d1..0000000 --- a/lib/zTree_v3/demo/en/excheck/checkbox_nocheck.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - ZTREE DEMO - no checkbox - - - - - - - - - - - -

                                                                                                                                                                                                                                      Checkbox nocheck Demo

                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      [ File Path: excheck/checkbox_nocheck.html ]
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • 1, Explanation of setting

                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                          • This Demo only shows how use the ‘nocheck’ attribute, detailed configuration information, please refer to 'Checkbox Operation'
                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                          • setting.check.nocheckInherit can set the child nodes to automatically inherit the parent node's 'nocheck' attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                          • Try:
                                                                                                                                                                                                                                            -     [ hide checkbox ] -     [ show checkbox ] -

                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        • 2, Explanation of treeNode

                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                          • 1), If you need to initialize the node don't show checkbox, please set treeNode.nocheck attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                          • 2), By the way, please see the 'Checkbox Operation' Demo.
                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/radio.html b/lib/zTree_v3/demo/en/excheck/radio.html deleted file mode 100755 index 5592112..0000000 --- a/lib/zTree_v3/demo/en/excheck/radio.html +++ /dev/null @@ -1,97 +0,0 @@ - - - - ZTREE DEMO - radio - - - - - - - - - - - -

                                                                                                                                                                                                                                        Radio Operation

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        [ File Path: excheck/radio.html ]
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                          • 1, Explanation of setting

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                            • Must set setting.check attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                            • group range of radio:
                                                                                                                                                                                                                                              within the same level - within the whole tree
                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                            • 2, Explanation of treeNode

                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • 1), If you need to initialize the node is checked, please set treeNode.checked attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              • 2), If you need to initialize the node don't show radio, please set treeNode.nocheck attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              • 3), If you need to change 'checked' to other attribute, please set setting.data.key.checked attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              • 4), By the way, please see the API documentation for 'treeNode.checkedOld / getCheckStatus / check_Child_State / check_Focus'.
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/radio_chkDisabled.html b/lib/zTree_v3/demo/en/excheck/radio_chkDisabled.html deleted file mode 100755 index bb34875..0000000 --- a/lib/zTree_v3/demo/en/excheck/radio_chkDisabled.html +++ /dev/null @@ -1,101 +0,0 @@ - - - - ZTREE DEMO - Radio chkDisabled - - - - - - - - - - - -

                                                                                                                                                                                                                                            Radio chkDisabled Demo

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            [ File Path: excheck/radio_chkDisabled.html ]
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • 1, Explanation of 'setChkDisabled' method

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                • 'setChkDisabled' method can set the node's checkbox / radio to be disabled or abled. See the API documentation for more related contents.
                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                • Try:
                                                                                                                                                                                                                                                  -     [ be disabled ] -     [ be abled ]

                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              • 2, Explanation of setting

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                • This Demo only shows how use the ‘nocheck’ attribute, detailed configuration information, please refer to 'Radio Operation'
                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              • 3, Explanation of treeNode

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                • 1), If you need to initialize the node don't show radio, please set treeNode.chkDisabled attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                • 2), By the way, please see the 'Radio Operation' Demo.
                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/radio_fun.html b/lib/zTree_v3/demo/en/excheck/radio_fun.html deleted file mode 100755 index 9201b73..0000000 --- a/lib/zTree_v3/demo/en/excheck/radio_fun.html +++ /dev/null @@ -1,151 +0,0 @@ - - - - ZTREE DEMO - beforeCheck / onCheck - - - - - - - - - - - -

                                                                                                                                                                                                                                              Radio - zTree methods

                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              [ File Path: excheck/radio_fun.html ]
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                • 1, 'beforeCheck / onCheck' callback function

                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                  • Use 'beforeCheck / onCheck' callback function can control whether to allow changes to the node check state. This simple demo shows how to monitor the check event.
                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                  • By the way also demonstrates how to use the 'checkNode' method triggers 'beforeCheck / onCheck' callback, Try:
                                                                                                                                                                                                                                                    -      Whether trigger the callback when execution checkNode() method.
                                                                                                                                                                                                                                                    -     [ check ] -     [ uncheck ]

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                  • How to use 'zTreeObj.checkNode' method, please see the API documentation.
                                                                                                                                                                                                                                                    - beforeCheck / onCheck log:
                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                  • 2, Explanation of setting

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • Same as 'Radio Operation'
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                  • 3, Explanation of treeNode

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • Same as 'Radio Operation'
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/radio_halfCheck.html b/lib/zTree_v3/demo/en/excheck/radio_halfCheck.html deleted file mode 100755 index 3285137..0000000 --- a/lib/zTree_v3/demo/en/excheck/radio_halfCheck.html +++ /dev/null @@ -1,93 +0,0 @@ - - - - ZTREE DEMO - Radio halfCheck - - - - - - - - - - - -

                                                                                                                                                                                                                                                  Radio halfCheck Demo

                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  [ File Path: excheck/radio_halfCheck.html ]
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • 1, Explanation of Demo

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • This demo implements the check operation of the dynamic tree
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • 1). After loaded child nodes, the parent node's 'halfCheck' attribute will be invalid immediately.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • 2). If you check the parent node, will not effect the child nodes's check status.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • 3). If you check the parent node, it's child node's 'halfCheck' attribute will still be valid.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    • 2, Explanation of setting

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • Half-checked functional don't need to configure any parameter. But it is accessibility, can not used alone. So please configure the parameters which you need.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    • 3, Explanation of treeNode

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • 1), Please set treeNode.halfCheck attribute, before zTree initialize. See the API documentation for more related contents.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • 2), By the way, please see the 'Radio Operation' Demo.
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/excheck/radio_nocheck.html b/lib/zTree_v3/demo/en/excheck/radio_nocheck.html deleted file mode 100755 index e1f26b2..0000000 --- a/lib/zTree_v3/demo/en/excheck/radio_nocheck.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - ZTREE DEMO - no radio - - - - - - - - - - - -

                                                                                                                                                                                                                                                    Radio nocheck Demo

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    [ File Path: excheck/radio_nocheck.html ]
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • 1, Explanation of setting

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • This Demo only shows how use the ‘nocheck’ attribute, detailed configuration information, please refer to 'Radio Operation'
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        • setting.check.nocheckInherit can set the child nodes to automatically inherit the parent node's 'nocheck' attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • 2, Explanation of treeNode

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • 1), If you need to initialize the node don't show radio, please set treeNode.nocheck attribute. See the API documentation for more related contents.
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        • 2), By the way, please see the 'Radio Operation' Demo.
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/async_edit.html b/lib/zTree_v3/demo/en/exedit/async_edit.html deleted file mode 100755 index bde0bca..0000000 --- a/lib/zTree_v3/demo/en/exedit/async_edit.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - ZTREE DEMO - async & edit - - - - - - - - - - - - -

                                                                                                                                                                                                                                                      Editing Dynamic Tree

                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      [ File Path: exedit/async_edit.html ]
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • 1, Explanation of editing dynamic tree

                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                          • 1) This Demo is based on the "Advanced Edit Nodes" to modify, and open to drag and drop functionality, can be compared with that demo.
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          • 2) At the same time set the editing mode and dynamic mode can be achieved editing dynamic tree.
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          • 3) zTree improved editing capabilities in dynamic mode, if the parent node hasn‘t loaded the child nodes, it will first load the child nodes before it add child node.
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        • 2, Explanation of setting

                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                          • 1) Use editing features, please refer to "Normal Drag Node Operation" & "Basic Edit Nodes" demo of the instructions.
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          • 2) Use dynamic loading, please refer to "Dynamic Tree with Ajax" demo of the instructions.
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        • 3, Explanation of treeNode

                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                          • No special requirements on the node data, please refer to "Dynamic Tree with Ajax" & "Normal Drag Node Operation" & "Basic Edit Nodes" demo of the instructions
                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/drag.html b/lib/zTree_v3/demo/en/exedit/drag.html deleted file mode 100755 index 0335aec..0000000 --- a/lib/zTree_v3/demo/en/exedit/drag.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - ZTREE DEMO - drag & drop - - - - - - - - - - - -

                                                                                                                                                                                                                                                        Normal Drag Node Operation

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        [ File Path: exedit/drag.html ]
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                          • 1, Explanation of setting

                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                            • This Demo only shows how to drag & drop nodes using the basic method and configure parameters.
                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                            • 1) Must set 'setting.edit' attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                            • 2) If you want to use drag & drop callback, muse to set 'setting.callback.beforeDrag / onDrag / beforeDrop / onDrop' attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                            • Basic settings:
                                                                                                                                                                                                                                                              - can Copy - can Move
                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                              • Position settings:
                                                                                                                                                                                                                                                                - prev - inner - next
                                                                                                                                                                                                                                                                -

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                              • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/drag_fun.html b/lib/zTree_v3/demo/en/exedit/drag_fun.html deleted file mode 100755 index 02bf9ae..0000000 --- a/lib/zTree_v3/demo/en/exedit/drag_fun.html +++ /dev/null @@ -1,180 +0,0 @@ - - - - ZTREE DEMO - copyNode / moveNode - - - - - - - - - - - - -

                                                                                                                                                                                                                                                              Move / Copy - zTree methods

                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              [ File Path: exedit/drag_fun.html ]
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • 1, Explanation of 'copyNode / moveNode' method

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                  • Use 'copyNode / moveNode' method can also be achieved copy / move nodes.
                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                  • Try to copy or cut node:
                                                                                                                                                                                                                                                                    -     [ copy ] -     [ cut ] -     [ paste ]

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                  • How to use 'zTreeObj.copyNode / moveNode' method, please see the API documentation.
                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                • 2, Explanation of setting

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                  • Same as 'Normal Drag Node Operation'
                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                • 3, Explanation of treeNode

                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                  • Same as 'Normal Drag Node Operation'
                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/drag_super.html b/lib/zTree_v3/demo/en/exedit/drag_super.html deleted file mode 100755 index 2c2dd6d..0000000 --- a/lib/zTree_v3/demo/en/exedit/drag_super.html +++ /dev/null @@ -1,210 +0,0 @@ - - - - ZTREE DEMO - beforeDrag / onDrag / beforeDrop / onDrop - - - - - - - - - - - -

                                                                                                                                                                                                                                                                Advanced Drag Node Operation

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                [ File Path: exedit/drag_super.html ]
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                  • 1, 'beforeDrag / onDrag'
                                                                                                                                                                                                                                                                      'beforeDrop / onDrop' callback function

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                    • This Demo shows the configuration parameters to achieve a more flexible use of drag and drop rules, the operation can be compared with "Normal Drag Node Operation" example.
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    • This Demo default allows copy & move.
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    • This Demo set 'setting.edit.drag.prev / inner / next' as 'function', you can dynamically set according to the node, which can not use beforeDrop callback function, the effect of drag and drop will be better.
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    • After be familiar with these configurations, I think you can design a more flexible and rational rules!
                                                                                                                                                                                                                                                                      -      拖拽节点时自动展开父节点是否触发 callback
                                                                                                                                                                                                                                                                      - drag / drop log:
                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    • 2, Explanation of setting

                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                      • Same as 'Normal Drag Node Operation'
                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    • 3, Explanation of treeNode

                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                      • Same as 'Normal Drag Node Operation'
                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/edit.html b/lib/zTree_v3/demo/en/exedit/edit.html deleted file mode 100755 index 6257117..0000000 --- a/lib/zTree_v3/demo/en/exedit/edit.html +++ /dev/null @@ -1,115 +0,0 @@ - - - - ZTREE DEMO - edit - - - - - - - - - - - -

                                                                                                                                                                                                                                                                    Basic Edit Nodes

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    [ File Path: exedit/edit.html ]
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                      • 1, Explanation of setting

                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                        • This Demo only shows how to edit nodes using the basic method and configure parameters.
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        • 1) Must set 'setting.edit' attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        • 2) If you want to use remove / rename callback, muse to set 'setting.callback.beforeRemove / onRemove / beforeRename / onRename' attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        • 3) zTree do not provide buttons for add nodes, please use the custom control methods 'addHoverDom / removeHoverDom' to achieve added functionality, see the API documentation for more related contents. Another way, you can see the demo named 'Advanced Edit Nodes'.
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        • Edit button setting:
                                                                                                                                                                                                                                                                          - show remove button - show edit button
                                                                                                                                                                                                                                                                          - title for remove:
                                                                                                                                                                                                                                                                          - title for rename: -

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                          • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/edit_fun.html b/lib/zTree_v3/demo/en/exedit/edit_fun.html deleted file mode 100755 index 4b8eabe..0000000 --- a/lib/zTree_v3/demo/en/exedit/edit_fun.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - ZTREE DEMO - addNodes / editName / removeNode / removeChildNodes - - - - - - - - - - - -

                                                                                                                                                                                                                                                                        Edit Nodes - zTree methods

                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        [ File Path: exedit/edit_fun.html ]
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                          • 1, Explanation of 'addNodes / editName / removeNode / removeChildNodes' method

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                            • Use 'addNodes / editName / removeNode / removeChildNodes' method can also be achieved copy / move nodes.
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            • Method 'cancelEditName' is effective, only when edit the node name. Please use it when necessary, this demo doesn't show how to use the method.
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            • Use setting.data.keep.parent / leaf attribute, you can lock the parent node and leaf node.
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            • Try to edit node:
                                                                                                                                                                                                                                                                              -      Whether trigger the callback when execution removeNode() method.
                                                                                                                                                                                                                                                                              -     [ add parent node ] -     [ add leaf node ] -     [ edit name ]
                                                                                                                                                                                                                                                                              -     [ remove node ] -     [ make child nodes to empty ]
                                                                                                                                                                                                                                                                              - remove log:
                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                              • How to use 'zTreeObj.addNodes / cancelEditName / editName / removeNode / removeChildNodes' method, please see the API documentation.
                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            • 2, Explanation of setting

                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                              • Same as 'Basic Edit Nodes'
                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                              • Lock the parent / leaf node status, need to set setting.data.keep.parent / leaf attribute, see the API documentation for more related contents
                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            • 3, Explanation of treeNode

                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                              • Same as 'Basic Edit Nodes'
                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/edit_super.html b/lib/zTree_v3/demo/en/exedit/edit_super.html deleted file mode 100755 index 6133109..0000000 --- a/lib/zTree_v3/demo/en/exedit/edit_super.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - ZTREE DEMO - beforeEditName / beforeRemove / onRemove / beforeRename / onRename - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                            Advanced Edit Nodes

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            [ File Path: exedit/edit_super.html ]
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                              • 1, 'beforeDrag / onDrag'
                                                                                                                                                                                                                                                                                  'beforeEditName'
                                                                                                                                                                                                                                                                                  'beforeRemove / onRemove'
                                                                                                                                                                                                                                                                                  'beforeRename / onRename' callback function

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • This demo shows the use of custom controls, the callback function to enhance the user experience, the operation can be compared with "Basic Edit Nodes" example.
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • This demo achieve the Add nodes button.
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • This demo achieve the confirmation when deleting node.
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • This demo use the 'showRenameBtn' to hide the rename button, when the treeNode's isLastNode = true
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • This demo use the 'showRemoveBtn' to hide the delete button, when the treeNode's isFirstNode = true
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • Can use 'beforeEditName' callback trigger custom editing.
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • After be familiar with these configurations, I think you can design a more flexible and rational rules!
                                                                                                                                                                                                                                                                                  -      Whether select all text, when edit node's name.
                                                                                                                                                                                                                                                                                  - remove / rename log:  RED is cancel edit (v3.5.13+)
                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • 2, Explanation of setting

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                  • Same as 'Basic Edit Nodes'
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • 3, Explanation of treeNode

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                  • Same as 'Basic Edit Nodes'
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exedit/multiTree.html b/lib/zTree_v3/demo/en/exedit/multiTree.html deleted file mode 100755 index 52b4f43..0000000 --- a/lib/zTree_v3/demo/en/exedit/multiTree.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - ZTREE DEMO - multiTree - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                Multiple Trees

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                [ File Path: exedit/multiTree.html ]
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • 1, Explanation of setting

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                  • zTree enables drag and drop nodes between multiple trees, only need to create two draggable tree can be. And you can use the callback function and zTree method achieve a more complex operating rules, here is only the basic demo.
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  • On the 'setting' configuration information please refer to drag and drop, edit, etc. demo's instructions
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                  • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exhide/checkbox.html b/lib/zTree_v3/demo/en/exhide/checkbox.html deleted file mode 100755 index 9b6fddf..0000000 --- a/lib/zTree_v3/demo/en/exhide/checkbox.html +++ /dev/null @@ -1,161 +0,0 @@ - - - - ZTREE DEMO - Hide With Checkbox Mode - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                    Hide With Checkbox Mode

                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    [ File Path: exhide/checkbox.html ]
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                      • 1, Explanation of setting

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • Use the freature which to hide nodes, you don't need to set any attributes.
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                      • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • Before you init zTree, set treeNode.isHidden = true, and you can hide the node.
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        • Hide or show the nodes:
                                                                                                                                                                                                                                                                                          - Try: [ Hide the nodes which be selected ]
                                                                                                                                                                                                                                                                                          -     [ Show all of the nodes which be hidden ]
                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • Total nodes which 'isHidden' attribute is true:
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • Total hidden nodes:
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • Total check nodes: -   Total uncheck nodes:
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • After hide nodes, you can see the 'isFirstNode' and 'isLastNode' attributes on the nodes which still be shown.
                                                                                                                                                                                                                                                                                          • -

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                      • 3、Other explanation

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • Hide nodes will effect the 'isFirstNode' and 'isLastNode' attributes, but will not effect the 'getPreNode()' and 'getNextNode()' method.
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exhide/common.html b/lib/zTree_v3/demo/en/exhide/common.html deleted file mode 100755 index 557f290..0000000 --- a/lib/zTree_v3/demo/en/exhide/common.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - ZTREE DEMO - Hide Ordinary Node - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                      Hide Ordinary Node

                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      [ File Path: exhide/common.html ]
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • 1, Explanation of setting

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • Use this freature, you don't need to set any attributes.
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • Before you init zTree, set treeNode.isHidden = true, and you can hide the node.
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • Hide or show the nodes:

                                                                                                                                                                                                                                                                                            - Try: [ Hide the nodes which be selected ]
                                                                                                                                                                                                                                                                                            -     [ Show all of the nodes which be hidden ]

                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                            • Total hidden nodes ('isHidden' is true):
                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                            • After hide nodes, you can see the 'isFirstNode' and 'isLastNode' attributes on the nodes which still be shown.
                                                                                                                                                                                                                                                                                            • -

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        • 3、Other explanation

                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • Hide nodes will effect the 'isFirstNode' and 'isLastNode' attributes, but will not effect the 'getPreNode()' and 'getNextNode()' method.
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/exhide/radio.html b/lib/zTree_v3/demo/en/exhide/radio.html deleted file mode 100755 index a0c72e3..0000000 --- a/lib/zTree_v3/demo/en/exhide/radio.html +++ /dev/null @@ -1,162 +0,0 @@ - - - - ZTREE DEMO - Hide With Radio Mode - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                        Hide With Radio Mode

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        [ File Path: exhide/radio.html ]
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • 1, Explanation of setting

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                            • Use the freature which to hide nodes, you don't need to set any attributes.
                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • 2, Explanation of treeNode

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                            • Before you init zTree, set treeNode.isHidden = true, and you can hide the node.
                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                            • Hide or show the nodes:
                                                                                                                                                                                                                                                                                              - Try: [ Hide the nodes which be selected ]
                                                                                                                                                                                                                                                                                              -     [ Show all of the nodes which be hidden ]
                                                                                                                                                                                                                                                                                              -

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                              • Total nodes which 'isHidden' attribute is true:
                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                              • Total hidden nodes:
                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                              • Total check nodes: -   Total uncheck nodes:
                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                              • After hide nodes, you can see the 'isFirstNode' and 'isLastNode' attributes on the nodes which still be shown.
                                                                                                                                                                                                                                                                                              • -

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          • 3、Other explanation

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                            • Hide nodes will effect the 'isFirstNode' and 'isLastNode' attributes, but will not effect the 'getPreNode()' and 'getNextNode()' method.
                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                          - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/index.html b/lib/zTree_v3/demo/en/index.html deleted file mode 100755 index b25a9ea..0000000 --- a/lib/zTree_v3/demo/en/index.html +++ /dev/null @@ -1,170 +0,0 @@ - - - - ZTREE DEMO - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            - -
                                                                                                                                                                                                                                                                                            - - - diff --git a/lib/zTree_v3/demo/en/super/asyncForAll.html b/lib/zTree_v3/demo/en/super/asyncForAll.html deleted file mode 100755 index 1c2a9e2..0000000 --- a/lib/zTree_v3/demo/en/super/asyncForAll.html +++ /dev/null @@ -1,192 +0,0 @@ - - - - ZTREE DEMO - async for All - - - - - - - - - - -

                                                                                                                                                                                                                                                                                            Expand All Nodes with Async

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            [ File Path: super/asyncForAll.html ]
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                              • Explanation of implementation method

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                • Using 'onAsyncSuccess' / 'onAsyncError' callback and 'reAsyncChildNodes' or 'expandNode' method, you will achieve all functionalities.
                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                • Note: If there are large amount parent nodes, please use delay to avoid excessive asynchronous process.
                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                • Recommendation: please use the debugging tools to view the ajax loading process with network.
                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                • Demonstrate operation -

                                                                                                                                                                                                                                                                                                  - [ Expand All Nodes ]        - [ Load all nodes (don't expand) ]

                                                                                                                                                                                                                                                                                                  - [ Reset zTree ]

                                                                                                                                                                                                                                                                                                  -

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/awesome.html b/lib/zTree_v3/demo/en/super/awesome.html deleted file mode 100755 index 453ca72..0000000 --- a/lib/zTree_v3/demo/en/super/awesome.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                              Awesome Style

                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              [ File Path: super/awesome.html ]
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                • 1, Explanation of fontawesome Style

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                  • You need to include the fontawesome stylesheet in your page (http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css)
                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                  • <= This should show a car icon (if fontawesome is loaded properly)
                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                  • Include the css stylesheet: 'css/awesomeStyle'
                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                  • Thanks to mikkelking for this Demo. For reference only.
                                                                                                                                                                                                                                                                                                  • - -
                                                                                                                                                                                                                                                                                                  • Mode:
                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                    -

                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/checkbox_radio.html b/lib/zTree_v3/demo/en/super/checkbox_radio.html deleted file mode 100755 index 4bed0af..0000000 --- a/lib/zTree_v3/demo/en/super/checkbox_radio.html +++ /dev/null @@ -1,116 +0,0 @@ - - - - ZTREE DEMO - checkbox & radio - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                Checkbox / Radio Coexistence

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                [ File Path: super/checkbox_radio.html ]
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                  • Explanation of implementation method

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                    • zTree default checkbox and radio can not coexist, but can be used the custom DOM features to achieve this requirement, refer to the "Adding Custom DOM".
                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                    • For checkbox / radio association rules of the parent nodes and child nodes, according to the needs to develop its own rules.
                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/diydom.html b/lib/zTree_v3/demo/en/super/diydom.html deleted file mode 100755 index 1841782..0000000 --- a/lib/zTree_v3/demo/en/super/diydom.html +++ /dev/null @@ -1,177 +0,0 @@ - - - - ZTREE DEMO - addHoverDom / removeHoverDom / addDiyDom - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                  Adding Custom DOM

                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  [ File Path: super/diydom.html ]
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                    • 1, Explanation of implementation method

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                      • Use 'setting.view.addHoverDom / removeHoverDom / addDiyDom' attributes can easily display custom DOM.
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      • Adding custom DOM, is important to understand zTree node object naming rules to ensure the normal controls add DOM.
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      • If you add the browser's default ’select / checkbox / radio‘ DOM, please adjust the css, to ensure correctly display zTree.
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                    • 2, Explanation of setting

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                      • Set 'setting.view.addHoverDom / removeHoverDom / addDiyDom' attributes, see the API documentation for more related contents.
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                    • 3, Explanation of treeNode

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                      • No special requirements on the node data, the user can add custom attributes.
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/dragWithOther.html b/lib/zTree_v3/demo/en/super/dragWithOther.html deleted file mode 100755 index 762e6c8..0000000 --- a/lib/zTree_v3/demo/en/super/dragWithOther.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - ZTREE DEMO - drag with other DOM - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                    Drag With Other DOMs

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    [ File Path: super/dragWithOther.html ]
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                      • Explanation of implementation method

                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                        • zTree v3.2 modified the event object in onDrag/onDrop; v3.5.16 add the onDragMove callback, thus the nodes can be draged to other DOMs easily.
                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                        • To drag other DOMS to zTree, you need to build the drag codes by yourself.
                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                        • This is just a simple Demo. If you need more features, please build more complicated codes.
                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      • Please drag and drop the following content to the tree node

                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        TreeGrassFlower
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        TigerBearLion
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - You can drag the nodes of level 2 to the above layer. -
                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/fuzzySearch.html b/lib/zTree_v3/demo/en/super/fuzzySearch.html deleted file mode 100755 index 14b3a62..0000000 --- a/lib/zTree_v3/demo/en/super/fuzzySearch.html +++ /dev/null @@ -1,95 +0,0 @@ - - - - ZTREE DEMO - fuzzySearch - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                      Fuzzy Search

                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      [ File Path: fuzzySearch/fuzzySearch.html ]
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                        • -

                                                                                                                                                                                                                                                                                                          1. Explaination of fuzzySearch()

                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                          • - @param the ztree id used to get the ztree object -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • - @param searchField selector of your input for fuzzy search -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • - @param isHighLight whether highlight the match words, default true -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • - @param isExpand whether to expand the node, default false -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • - fuzzySearch ( zTreeId, searchField, isHighLight, isExpand ) -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • Try to search:
                                                                                                                                                                                                                                                                                                            - Keywords:
                                                                                                                                                                                                                                                                                                            -

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                        • 2. js dependencies

                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                          • ztree v3.5.19.1 +, getPath() in use
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          • ztree.exhide extension, hideNode() in use
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/left_menu.html b/lib/zTree_v3/demo/en/super/left_menu.html deleted file mode 100755 index 86d12cf..0000000 --- a/lib/zTree_v3/demo/en/super/left_menu.html +++ /dev/null @@ -1,152 +0,0 @@ - - - - ZTREE DEMO - left_menu - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                        Left Menu

                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        [ File Path: super/left_menu.html ]
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                          • Explanation of implementation method

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                            • The menu in the Demo's Web page is to use zTree to achieve, is to use css set interface, use the configuration 'setting' to achieve features, this demo achieve a simple example of the left menu, you can view the source code of Demo's Web Page for in-depth study.
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            • 1. According to your needs to modify the css, for example: the menu style on this Demo and Demo's Web page not the same.
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            • 2. Main configuration:
                                                                                                                                                                                                                                                                                                              -     setting.view.showIcon / showLine / selectedMulti / dblClickExpand
                                                                                                                                                                                                                                                                                                              -     setting.callback.onNodeCreated / beforeClick / onClick -
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            • 3. If need to keep single path, please refer to the source code of "Keep Single Path" Demo.
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            • 4. Other auxiliary rules, please write code based on your needs.
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                          • -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          - - diff --git a/lib/zTree_v3/demo/en/super/left_menuForOutLook.gif b/lib/zTree_v3/demo/en/super/left_menuForOutLook.gif deleted file mode 100755 index c252f0f..0000000 Binary files a/lib/zTree_v3/demo/en/super/left_menuForOutLook.gif and /dev/null differ diff --git a/lib/zTree_v3/demo/en/super/left_menuForOutLook.html b/lib/zTree_v3/demo/en/super/left_menuForOutLook.html deleted file mode 100755 index 0af50af..0000000 --- a/lib/zTree_v3/demo/en/super/left_menuForOutLook.html +++ /dev/null @@ -1,136 +0,0 @@ - - - - ZTREE DEMO - left_menu for Outlook - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                          Left Menu Like OutLook Style

                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          [ File Path: super/left_menuForOutLook.html ]
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                            • Explanation of implementation method

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                              • I make one left menu which resembles outlook.com, so share to everyone.
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              • 1. Please note that the css code of the source of this page.
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              • 2. Please note that the javascript code of the source of this page, especially the switch button is moved into the <a> tag when 'addDiyDom' callback be called
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              • 3. Use the method of add zTree class name to implement the switch button be hidden or showing.
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              • 4. Other auxiliary rules, please write code based on your needs.
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              • 5. The current rule description:
                                                                                                                                                                                                                                                                                                                -   Click the root node can control the parent node be expanded or collapsed;
                                                                                                                                                                                                                                                                                                                -   The parent nodes without root only are only clicked the arrow icon can control be expanded or collapsed;br/> -
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                            • -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            - - diff --git a/lib/zTree_v3/demo/en/super/left_menuForOutLook.png b/lib/zTree_v3/demo/en/super/left_menuForOutLook.png deleted file mode 100755 index 36e8acf..0000000 Binary files a/lib/zTree_v3/demo/en/super/left_menuForOutLook.png and /dev/null differ diff --git a/lib/zTree_v3/demo/en/super/metro.html b/lib/zTree_v3/demo/en/super/metro.html deleted file mode 100755 index b89d8bf..0000000 --- a/lib/zTree_v3/demo/en/super/metro.html +++ /dev/null @@ -1,109 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                            Metro Style

                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            [ File Path: super/metro.html ]
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                              • 1, Explanation of Style Files

                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                • Please use style and image files of 'css/metroStyle'
                                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                                • Thanked rqx110 for this Demo. For reference only.
                                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/oneclick.html b/lib/zTree_v3/demo/en/super/oneclick.html deleted file mode 100755 index 983bcb7..0000000 --- a/lib/zTree_v3/demo/en/super/oneclick.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - ZTREE DEMO - one click - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                              Click to Expand Node

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              [ File Path: super/oneclick.html ]
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                  • zTree not provide a default click to expand node feature, but can use the onClick callback functions to easily implement this feature.
                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                  • In order to avoid conflict with the double-clicking, I recommended to turn off double-clicking expand node function, please set setting.view.dblClickExpand = false
                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                  • You can hide all the +/- switch, please see the page source, see the css.
                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                  • If you do not show + / - switch, then please set 'setting.view.showLine = false' to hide line.
                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                • -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/oneroot.html b/lib/zTree_v3/demo/en/super/oneroot.html deleted file mode 100755 index e73c141..0000000 --- a/lib/zTree_v3/demo/en/super/oneroot.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - ZTREE DEMO - one root - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                Freeze the Root Node

                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                [ File Path: demo/super/oneroot.html ]
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                  • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • For only one root, and do not show +/- switch needs need to modify the css, and set the setting.
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • zTree v3.x can be for a given level, set the style, check out the page source, see the css.
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • Set setting.view.dblClickExpand to Function, you can turn off double-clicking for expand the root node.
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/rightClickMenu.html b/lib/zTree_v3/demo/en/super/rightClickMenu.html deleted file mode 100755 index 95a1d88..0000000 --- a/lib/zTree_v3/demo/en/super/rightClickMenu.html +++ /dev/null @@ -1,171 +0,0 @@ - - - - ZTREE DEMO - select menu - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                  Right-click Menu

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  [ File Path: super/rightClickMenu.html ]
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • Use 'beforeRightClick / onRightClick' callback function achieve right-click menu.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      • Demo's menu is ugly, you can use a custom menu fine style.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • Add Node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • Delete Node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • Check Node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • Uncheck Node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    • Resume zTree
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/select_menu.html b/lib/zTree_v3/demo/en/super/select_menu.html deleted file mode 100755 index 04d9c5b..0000000 --- a/lib/zTree_v3/demo/en/super/select_menu.html +++ /dev/null @@ -1,124 +0,0 @@ - - - - ZTREE DEMO - select menu - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                    Drop-down Menu

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    [ File Path: super/select_menu.html ]
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    •   Press Ctrl-key or Cmd-key to select multiple cities
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    •   city: -  select
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • Achieve this drop-down menu, it is relatively easy, you only need to control zTree Hide / Show, and location.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      • Use zTree v3.x, you can select multiple nodes, so the multi-selection is also easy.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      • Use the configuration parameters setting, fully meet the needs of most of the functionality.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/select_menu_checkbox.html b/lib/zTree_v3/demo/en/super/select_menu_checkbox.html deleted file mode 100755 index 7e008d9..0000000 --- a/lib/zTree_v3/demo/en/super/select_menu_checkbox.html +++ /dev/null @@ -1,126 +0,0 @@ - - - - ZTREE DEMO - checkbox select menu - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                    Drop-down Menu with checkbox

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    [ File Path: super/select_menu_checkbox.html ]
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    •   Check the checkbox to select or click the node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    •   Test: -  select
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • You can achieve multi-selected drop-down menu with checkbox.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      • This Demo is mainly used for compare with other drop-down menu.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/select_menu_radio.html b/lib/zTree_v3/demo/en/super/select_menu_radio.html deleted file mode 100755 index 429850e..0000000 --- a/lib/zTree_v3/demo/en/super/select_menu_radio.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - ZTREE DEMO - radio select menu - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                    Drop-down Menu with radio

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    [ File Path: super/select_menu_radio.html ]
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    •   Check the radio to select or click the node
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    •   Test: -  select
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • You can achieve single-selected drop-down menu with radio.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      • This Demo is mainly used for compare with other drop-down menu.
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    - - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/singlepath.html b/lib/zTree_v3/demo/en/super/singlepath.html deleted file mode 100755 index cf84e0b..0000000 --- a/lib/zTree_v3/demo/en/super/singlepath.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - ZTREE DEMO - single path - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                    Keep Single Path

                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    [ File Path: super/singlepath.html ]
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • Explanation of implementation method

                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                        • This Demo is the transformation from "Click to Expand Node" demo​​, tree only expand single path.
                                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                                        • Use 'setting.callback.beforeExpand / onExpand' callback function to achieve rules about expand
                                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/en/super/ztree.html b/lib/zTree_v3/demo/en/super/ztree.html deleted file mode 100755 index 79172a4..0000000 --- a/lib/zTree_v3/demo/en/super/ztree.html +++ /dev/null @@ -1,127 +0,0 @@ - - - - ZTREE DEMO - Simple Data - - - - - - - - - - - - - -

                                                                                                                                                                                                                                                                                                                      zTree Style

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      [ File Path: super/ztree.html ]
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                        • 1, Explanation of zTree Style

                                                                                                                                                                                                                                                                                                                          - -
                                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                                        • Mode:
                                                                                                                                                                                                                                                                                                                          - - - -
                                                                                                                                                                                                                                                                                                                          -

                                                                                                                                                                                                                                                                                                                        • -
                                                                                                                                                                                                                                                                                                                        - -
                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                        - - - \ No newline at end of file diff --git a/lib/zTree_v3/demo/js/fuzzysearch.js b/lib/zTree_v3/demo/js/fuzzysearch.js deleted file mode 100755 index bc2a603..0000000 --- a/lib/zTree_v3/demo/js/fuzzysearch.js +++ /dev/null @@ -1,129 +0,0 @@ -/* - * email: bigablecat@hotmail.com - * Date: 2018-04-14 - */ - -/** - * @param zTreeId the ztree id used to get the ztree object - * @param searchField selector of your input for fuzzy search - * @param isHighLight whether highlight the match words, default true - * @param isExpand whether to expand the node, default false - * - * @returns - */ - function fuzzySearch(zTreeId, searchField, isHighLight, isExpand){ - var zTreeObj = $.fn.zTree.getZTreeObj(zTreeId);//get the ztree object by ztree id - if(!zTreeObj){ - alert("fail to get ztree object"); - } - var nameKey = zTreeObj.setting.data.key.name; //get the key of the node name - isHighLight = isHighLight===false?false:true;//default true, only use false to disable highlight - isExpand = isExpand?true:false; // not to expand in default - zTreeObj.setting.view.nameIsHTML = isHighLight; //allow use html in node name for highlight use - - var metaChar = '[\\[\\]\\\\\^\\$\\.\\|\\?\\*\\+\\(\\)]'; //js meta characters - var rexMeta = new RegExp(metaChar, 'gi');//regular expression to match meta characters - - // keywords filter function - function ztreeFilter(zTreeObj,_keywords,callBackFunc) { - if(!_keywords){ - _keywords =''; //default blank for _keywords - } - - // function to find the matching node - function filterFunc(node) { - if(node && node.oldname && node.oldname.length>0){ - node[nameKey] = node.oldname; //recover oldname of the node if exist - } - zTreeObj.updateNode(node); //update node to for modifications take effect - if (_keywords.length == 0) { - //return true to show all nodes if the keyword is blank - zTreeObj.showNode(node); - zTreeObj.expandNode(node,isExpand); - return true; - } - //transform node name and keywords to lowercase - if (node[nameKey] && node[nameKey].toLowerCase().indexOf(_keywords.toLowerCase())!=-1) { - if(isHighLight){ //highlight process - //a new variable 'newKeywords' created to store the keywords information - //keep the parameter '_keywords' as initial and it will be used in next node - //process the meta characters in _keywords thus the RegExp can be correctly used in str.replace - var newKeywords = _keywords.replace(rexMeta,function(matchStr){ - //add escape character before meta characters - return '\\' + matchStr; - }); - node.oldname = node[nameKey]; //store the old name - var rexGlobal = new RegExp(newKeywords, 'gi');//'g' for global,'i' for ignore case - //use replace(RegExp,replacement) since replace(/substr/g,replacement) cannot be used here - node[nameKey] = node.oldname.replace(rexGlobal, function(originalText){ - //highlight the matching words in node name - var highLightText = - '' - + originalText - +''; - return highLightText; - }); - zTreeObj.updateNode(node); //update node for modifications take effect - } - zTreeObj.showNode(node);//show node with matching keywords - return true; //return true and show this node - } - - zTreeObj.hideNode(node); // hide node that not matched - return false; //return false for node not matched - } - - var nodesShow = zTreeObj.getNodesByFilter(filterFunc); //get all nodes that would be shown - processShowNodes(nodesShow, _keywords);//nodes should be reprocessed to show correctly - } - - /** - * reprocess of nodes before showing - */ - function processShowNodes(nodesShow,_keywords){ - if(nodesShow && nodesShow.length>0){ - //process the ancient nodes if _keywords is not blank - if(_keywords.length>0){ - $.each(nodesShow, function(n,obj){ - var pathOfOne = obj.getPath();//get all the ancient nodes including current node - if(pathOfOne && pathOfOne.length>0){ - //i < pathOfOne.length-1 process every node in path except self - for(var i=0;id)break;a.currentTarget=f.elem;a.data=f.handleObj.data;a.handleObj=f.handleObj;A=f.handleObj.origHandler.apply(f.elem,arguments);if(A===false||a.isPropagationStopped()){d=f.level;if(A===false)b=false;if(a.isImmediatePropagationStopped())break}}return b}}function Y(a,b){return(a&&a!=="*"?a+".":"")+b.replace(La, -"`").replace(Ma,"&")}function ma(a,b,d){if(c.isFunction(b))return c.grep(a,function(f,h){return!!b.call(f,h,f)===d});else if(b.nodeType)return c.grep(a,function(f){return f===b===d});else if(typeof b==="string"){var e=c.grep(a,function(f){return f.nodeType===1});if(Na.test(b))return c.filter(b,e,!d);else b=c.filter(b,e)}return c.grep(a,function(f){return c.inArray(f,b)>=0===d})}function na(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var e=c.data(a[d++]),f=c.data(this, -e);if(e=e&&e.events){delete f.handle;f.events={};for(var h in e)for(var l in e[h])c.event.add(this,h,e[h][l],e[h][l].data)}}})}function Oa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function oa(a,b,d){var e=b==="width"?a.offsetWidth:a.offsetHeight;if(d==="border")return e;c.each(b==="width"?Pa:Qa,function(){d||(e-=parseFloat(c.css(a,"padding"+this))||0);if(d==="margin")e+=parseFloat(c.css(a, -"margin"+this))||0;else e-=parseFloat(c.css(a,"border"+this+"Width"))||0});return e}function da(a,b,d,e){if(c.isArray(b)&&b.length)c.each(b,function(f,h){d||Ra.test(a)?e(a,h):da(a+"["+(typeof h==="object"||c.isArray(h)?f:"")+"]",h,d,e)});else if(!d&&b!=null&&typeof b==="object")c.isEmptyObject(b)?e(a,""):c.each(b,function(f,h){da(a+"["+f+"]",h,d,e)});else e(a,b)}function S(a,b){var d={};c.each(pa.concat.apply([],pa.slice(0,b)),function(){d[this]=a});return d}function qa(a){if(!ea[a]){var b=c("<"+ -a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d==="")d="block";ea[a]=d}return ea[a]}function fa(a){return c.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var t=E.document,c=function(){function a(){if(!b.isReady){try{t.documentElement.doScroll("left")}catch(j){setTimeout(a,1);return}b.ready()}}var b=function(j,s){return new b.fn.init(j,s)},d=E.jQuery,e=E.$,f,h=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]+)$)/,l=/\S/,k=/^\s+/,o=/\s+$/,x=/\W/,r=/\d/,A=/^<(\w+)\s*\/?>(?:<\/\1>)?$/, -C=/^[\],:{}\s]*$/,J=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,w=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,I=/(?:^|:|,)(?:\s*\[)+/g,L=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,i=/(msie) ([\w.]+)/,n=/(mozilla)(?:.*? rv:([\w.]+))?/,m=navigator.userAgent,p=false,q=[],u,y=Object.prototype.toString,F=Object.prototype.hasOwnProperty,M=Array.prototype.push,N=Array.prototype.slice,O=String.prototype.trim,D=Array.prototype.indexOf,R={};b.fn=b.prototype={init:function(j, -s){var v,z,H;if(!j)return this;if(j.nodeType){this.context=this[0]=j;this.length=1;return this}if(j==="body"&&!s&&t.body){this.context=t;this[0]=t.body;this.selector="body";this.length=1;return this}if(typeof j==="string")if((v=h.exec(j))&&(v[1]||!s))if(v[1]){H=s?s.ownerDocument||s:t;if(z=A.exec(j))if(b.isPlainObject(s)){j=[t.createElement(z[1])];b.fn.attr.call(j,s,true)}else j=[H.createElement(z[1])];else{z=b.buildFragment([v[1]],[H]);j=(z.cacheable?z.fragment.cloneNode(true):z.fragment).childNodes}return b.merge(this, -j)}else{if((z=t.getElementById(v[2]))&&z.parentNode){if(z.id!==v[2])return f.find(j);this.length=1;this[0]=z}this.context=t;this.selector=j;return this}else if(!s&&!x.test(j)){this.selector=j;this.context=t;j=t.getElementsByTagName(j);return b.merge(this,j)}else return!s||s.jquery?(s||f).find(j):b(s).find(j);else if(b.isFunction(j))return f.ready(j);if(j.selector!==B){this.selector=j.selector;this.context=j.context}return b.makeArray(j,this)},selector:"",jquery:"1.4.4",length:0,size:function(){return this.length}, -toArray:function(){return N.call(this,0)},get:function(j){return j==null?this.toArray():j<0?this.slice(j)[0]:this[j]},pushStack:function(j,s,v){var z=b();b.isArray(j)?M.apply(z,j):b.merge(z,j);z.prevObject=this;z.context=this.context;if(s==="find")z.selector=this.selector+(this.selector?" ":"")+v;else if(s)z.selector=this.selector+"."+s+"("+v+")";return z},each:function(j,s){return b.each(this,j,s)},ready:function(j){b.bindReady();if(b.isReady)j.call(t,b);else q&&q.push(j);return this},eq:function(j){return j=== --1?this.slice(j):this.slice(j,+j+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(N.apply(this,arguments),"slice",N.call(arguments).join(","))},map:function(j){return this.pushStack(b.map(this,function(s,v){return j.call(s,v,s)}))},end:function(){return this.prevObject||b(null)},push:M,sort:[].sort,splice:[].splice};b.fn.init.prototype=b.fn;b.extend=b.fn.extend=function(){var j,s,v,z,H,G=arguments[0]||{},K=1,Q=arguments.length,ga=false; -if(typeof G==="boolean"){ga=G;G=arguments[1]||{};K=2}if(typeof G!=="object"&&!b.isFunction(G))G={};if(Q===K){G=this;--K}for(;K0))if(q){var s=0,v=q;for(q=null;j=v[s++];)j.call(t,b);b.fn.trigger&&b(t).trigger("ready").unbind("ready")}}},bindReady:function(){if(!p){p=true;if(t.readyState==="complete")return setTimeout(b.ready,1);if(t.addEventListener){t.addEventListener("DOMContentLoaded",u,false);E.addEventListener("load",b.ready,false)}else if(t.attachEvent){t.attachEvent("onreadystatechange",u);E.attachEvent("onload", -b.ready);var j=false;try{j=E.frameElement==null}catch(s){}t.documentElement.doScroll&&j&&a()}}},isFunction:function(j){return b.type(j)==="function"},isArray:Array.isArray||function(j){return b.type(j)==="array"},isWindow:function(j){return j&&typeof j==="object"&&"setInterval"in j},isNaN:function(j){return j==null||!r.test(j)||isNaN(j)},type:function(j){return j==null?String(j):R[y.call(j)]||"object"},isPlainObject:function(j){if(!j||b.type(j)!=="object"||j.nodeType||b.isWindow(j))return false;if(j.constructor&& -!F.call(j,"constructor")&&!F.call(j.constructor.prototype,"isPrototypeOf"))return false;for(var s in j);return s===B||F.call(j,s)},isEmptyObject:function(j){for(var s in j)return false;return true},error:function(j){throw j;},parseJSON:function(j){if(typeof j!=="string"||!j)return null;j=b.trim(j);if(C.test(j.replace(J,"@").replace(w,"]").replace(I,"")))return E.JSON&&E.JSON.parse?E.JSON.parse(j):(new Function("return "+j))();else b.error("Invalid JSON: "+j)},noop:function(){},globalEval:function(j){if(j&& -l.test(j)){var s=t.getElementsByTagName("head")[0]||t.documentElement,v=t.createElement("script");v.type="text/javascript";if(b.support.scriptEval)v.appendChild(t.createTextNode(j));else v.text=j;s.insertBefore(v,s.firstChild);s.removeChild(v)}},nodeName:function(j,s){return j.nodeName&&j.nodeName.toUpperCase()===s.toUpperCase()},each:function(j,s,v){var z,H=0,G=j.length,K=G===B||b.isFunction(j);if(v)if(K)for(z in j){if(s.apply(j[z],v)===false)break}else for(;H
                                                                                                                                                                                                                                                                                                                        a";var f=d.getElementsByTagName("*"),h=d.getElementsByTagName("a")[0],l=t.createElement("select"), -k=l.appendChild(t.createElement("option"));if(!(!f||!f.length||!h)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(h.getAttribute("style")),hrefNormalized:h.getAttribute("href")==="/a",opacity:/^0.55$/.test(h.style.opacity),cssFloat:!!h.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:k.selected,deleteExpando:true,optDisabled:false,checkClone:false, -scriptEval:false,noCloneEvent:true,boxModel:null,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableHiddenOffsets:true};l.disabled=true;c.support.optDisabled=!k.disabled;b.type="text/javascript";try{b.appendChild(t.createTextNode("window."+e+"=1;"))}catch(o){}a.insertBefore(b,a.firstChild);if(E[e]){c.support.scriptEval=true;delete E[e]}try{delete b.test}catch(x){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function r(){c.support.noCloneEvent= -false;d.detachEvent("onclick",r)});d.cloneNode(true).fireEvent("onclick")}d=t.createElement("div");d.innerHTML="";a=t.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var r=t.createElement("div");r.style.width=r.style.paddingLeft="1px";t.body.appendChild(r);c.boxModel=c.support.boxModel=r.offsetWidth===2;if("zoom"in r.style){r.style.display="inline";r.style.zoom= -1;c.support.inlineBlockNeedsLayout=r.offsetWidth===2;r.style.display="";r.innerHTML="
                                                                                                                                                                                                                                                                                                                        ";c.support.shrinkWrapBlocks=r.offsetWidth!==2}r.innerHTML="
                                                                                                                                                                                                                                                                                                                        t
                                                                                                                                                                                                                                                                                                                        ";var A=r.getElementsByTagName("td");c.support.reliableHiddenOffsets=A[0].offsetHeight===0;A[0].style.display="";A[1].style.display="none";c.support.reliableHiddenOffsets=c.support.reliableHiddenOffsets&&A[0].offsetHeight===0;r.innerHTML="";t.body.removeChild(r).style.display= -"none"});a=function(r){var A=t.createElement("div");r="on"+r;var C=r in A;if(!C){A.setAttribute(r,"return;");C=typeof A[r]==="function"}return C};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=f=h=null}})();var ra={},Ja=/^(?:\{.*\}|\[.*\])$/;c.extend({cache:{},uuid:0,expando:"jQuery"+c.now(),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},data:function(a,b,d){if(c.acceptData(a)){a=a==E?ra:a;var e=a.nodeType,f=e?a[c.expando]:null,h= -c.cache;if(!(e&&!f&&typeof b==="string"&&d===B)){if(e)f||(a[c.expando]=f=++c.uuid);else h=a;if(typeof b==="object")if(e)h[f]=c.extend(h[f],b);else c.extend(h,b);else if(e&&!h[f])h[f]={};a=e?h[f]:h;if(d!==B)a[b]=d;return typeof b==="string"?a[b]:a}}},removeData:function(a,b){if(c.acceptData(a)){a=a==E?ra:a;var d=a.nodeType,e=d?a[c.expando]:a,f=c.cache,h=d?f[e]:e;if(b){if(h){delete h[b];d&&c.isEmptyObject(h)&&c.removeData(a)}}else if(d&&c.support.deleteExpando)delete a[c.expando];else if(a.removeAttribute)a.removeAttribute(c.expando); -else if(d)delete f[e];else for(var l in a)delete a[l]}},acceptData:function(a){if(a.nodeName){var b=c.noData[a.nodeName.toLowerCase()];if(b)return!(b===true||a.getAttribute("classid")!==b)}return true}});c.fn.extend({data:function(a,b){var d=null;if(typeof a==="undefined"){if(this.length){var e=this[0].attributes,f;d=c.data(this[0]);for(var h=0,l=e.length;h-1)return true;return false},val:function(a){if(!arguments.length){var b=this[0];if(b){if(c.nodeName(b,"option")){var d=b.attributes.value;return!d||d.specified?b.value:b.text}if(c.nodeName(b,"select")){var e=b.selectedIndex;d=[];var f=b.options;b=b.type==="select-one"; -if(e<0)return null;var h=b?e:0;for(e=b?e+1:f.length;h=0;else if(c.nodeName(this,"select")){var A=c.makeArray(r);c("option",this).each(function(){this.selected=c.inArray(c(this).val(),A)>=0});if(!A.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true}, -attr:function(a,b,d,e){if(!a||a.nodeType===3||a.nodeType===8)return B;if(e&&b in c.attrFn)return c(a)[b](d);e=a.nodeType!==1||!c.isXMLDoc(a);var f=d!==B;b=e&&c.props[b]||b;var h=Ta.test(b);if((b in a||a[b]!==B)&&e&&!h){if(f){b==="type"&&Ua.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed");if(d===null)a.nodeType===1&&a.removeAttribute(b);else a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&& -b.specified?b.value:Va.test(a.nodeName)||Wa.test(a.nodeName)&&a.href?0:B;return a[b]}if(!c.support.style&&e&&b==="style"){if(f)a.style.cssText=""+d;return a.style.cssText}f&&a.setAttribute(b,""+d);if(!a.attributes[b]&&a.hasAttribute&&!a.hasAttribute(b))return B;a=!c.support.hrefNormalized&&e&&h?a.getAttribute(b,2):a.getAttribute(b);return a===null?B:a}});var X=/\.(.*)$/,ia=/^(?:textarea|input|select)$/i,La=/\./g,Ma=/ /g,Xa=/[^\w\s.|`]/g,Ya=function(a){return a.replace(Xa,"\\$&")},ua={focusin:0,focusout:0}; -c.event={add:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(c.isWindow(a)&&a!==E&&!a.frameElement)a=E;if(d===false)d=U;else if(!d)return;var f,h;if(d.handler){f=d;d=f.handler}if(!d.guid)d.guid=c.guid++;if(h=c.data(a)){var l=a.nodeType?"events":"__events__",k=h[l],o=h.handle;if(typeof k==="function"){o=k.handle;k=k.events}else if(!k){a.nodeType||(h[l]=h=function(){});h.events=k={}}if(!o)h.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem, -arguments):B};o.elem=a;b=b.split(" ");for(var x=0,r;l=b[x++];){h=f?c.extend({},f):{handler:d,data:e};if(l.indexOf(".")>-1){r=l.split(".");l=r.shift();h.namespace=r.slice(0).sort().join(".")}else{r=[];h.namespace=""}h.type=l;if(!h.guid)h.guid=d.guid;var A=k[l],C=c.event.special[l]||{};if(!A){A=k[l]=[];if(!C.setup||C.setup.call(a,e,r,o)===false)if(a.addEventListener)a.addEventListener(l,o,false);else a.attachEvent&&a.attachEvent("on"+l,o)}if(C.add){C.add.call(a,h);if(!h.handler.guid)h.handler.guid= -d.guid}A.push(h);c.event.global[l]=true}a=null}}},global:{},remove:function(a,b,d,e){if(!(a.nodeType===3||a.nodeType===8)){if(d===false)d=U;var f,h,l=0,k,o,x,r,A,C,J=a.nodeType?"events":"__events__",w=c.data(a),I=w&&w[J];if(w&&I){if(typeof I==="function"){w=I;I=I.events}if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(f in I)c.event.remove(a,f+b)}else{for(b=b.split(" ");f=b[l++];){r=f;k=f.indexOf(".")<0;o=[];if(!k){o=f.split(".");f=o.shift();x=RegExp("(^|\\.)"+ -c.map(o.slice(0).sort(),Ya).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(A=I[f])if(d){r=c.event.special[f]||{};for(h=e||0;h=0){a.type=f=f.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[f]&&c.each(c.cache,function(){this.events&&this.events[f]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType=== -8)return B;a.result=B;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(e=d.nodeType?c.data(d,"handle"):(c.data(d,"__events__")||{}).handle)&&e.apply(d,b);e=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+f]&&d["on"+f].apply(d,b)===false){a.result=false;a.preventDefault()}}catch(h){}if(!a.isPropagationStopped()&&e)c.event.trigger(a,b,e,true);else if(!a.isDefaultPrevented()){var l;e=a.target;var k=f.replace(X,""),o=c.nodeName(e,"a")&&k=== -"click",x=c.event.special[k]||{};if((!x._default||x._default.call(d,a)===false)&&!o&&!(e&&e.nodeName&&c.noData[e.nodeName.toLowerCase()])){try{if(e[k]){if(l=e["on"+k])e["on"+k]=null;c.event.triggered=true;e[k]()}}catch(r){}if(l)e["on"+k]=l;c.event.triggered=false}}},handle:function(a){var b,d,e,f;d=[];var h=c.makeArray(arguments);a=h[0]=c.event.fix(a||E.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive;if(!b){e=a.type.split(".");a.type=e.shift();d=e.slice(0).sort();e=RegExp("(^|\\.)"+ -d.join("\\.(?:.*\\.)?")+"(\\.|$)")}a.namespace=a.namespace||d.join(".");f=c.data(this,this.nodeType?"events":"__events__");if(typeof f==="function")f=f.events;d=(f||{})[a.type];if(f&&d){d=d.slice(0);f=0;for(var l=d.length;f-1?c.map(a.options,function(e){return e.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},Z=function(a,b){var d=a.target,e,f;if(!(!ia.test(d.nodeName)||d.readOnly)){e=c.data(d,"_change_data");f=xa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data",f);if(!(e===B||f===e))if(e!=null||f){a.type="change";a.liveFired= -B;return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:Z,beforedeactivate:Z,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return Z.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return Z.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a,"_change_data",xa(a))}},setup:function(){if(this.type=== -"file")return false;for(var a in V)c.event.add(this,a+".specialChange",V[a]);return ia.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return ia.test(this.nodeName)}};V=c.event.special.change.filters;V.focus=V.beforeactivate}t.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(e){e=c.event.fix(e);e.type=b;return c.event.trigger(e,null,e.target)}c.event.special[b]={setup:function(){ua[b]++===0&&t.addEventListener(a,d,true)},teardown:function(){--ua[b]=== -0&&t.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,e,f){if(typeof d==="object"){for(var h in d)this[b](h,e,d[h],f);return this}if(c.isFunction(e)||e===false){f=e;e=B}var l=b==="one"?c.proxy(f,function(o){c(this).unbind(o,l);return f.apply(this,arguments)}):f;if(d==="unload"&&b!=="one")this.one(d,e,f);else{h=0;for(var k=this.length;h0?this.bind(b,d,e):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});E.attachEvent&&!E.addEventListener&&c(E).bind("unload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}}); -(function(){function a(g,i,n,m,p,q){p=0;for(var u=m.length;p0){F=y;break}}y=y[g]}m[p]=F}}}var d=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,e=0,f=Object.prototype.toString,h=false,l=true;[0,0].sort(function(){l=false;return 0});var k=function(g,i,n,m){n=n||[];var p=i=i||t;if(i.nodeType!==1&&i.nodeType!==9)return[];if(!g||typeof g!=="string")return n;var q,u,y,F,M,N=true,O=k.isXML(i),D=[],R=g;do{d.exec("");if(q=d.exec(R)){R=q[3];D.push(q[1]);if(q[2]){F=q[3]; -break}}}while(q);if(D.length>1&&x.exec(g))if(D.length===2&&o.relative[D[0]])u=L(D[0]+D[1],i);else for(u=o.relative[D[0]]?[i]:k(D.shift(),i);D.length;){g=D.shift();if(o.relative[g])g+=D.shift();u=L(g,u)}else{if(!m&&D.length>1&&i.nodeType===9&&!O&&o.match.ID.test(D[0])&&!o.match.ID.test(D[D.length-1])){q=k.find(D.shift(),i,O);i=q.expr?k.filter(q.expr,q.set)[0]:q.set[0]}if(i){q=m?{expr:D.pop(),set:C(m)}:k.find(D.pop(),D.length===1&&(D[0]==="~"||D[0]==="+")&&i.parentNode?i.parentNode:i,O);u=q.expr?k.filter(q.expr, -q.set):q.set;if(D.length>0)y=C(u);else N=false;for(;D.length;){q=M=D.pop();if(o.relative[M])q=D.pop();else M="";if(q==null)q=i;o.relative[M](y,q,O)}}else y=[]}y||(y=u);y||k.error(M||g);if(f.call(y)==="[object Array]")if(N)if(i&&i.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&k.contains(i,y[g])))n.push(u[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&n.push(u[g]);else n.push.apply(n,y);else C(y,n);if(F){k(F,p,n,m);k.uniqueSort(n)}return n};k.uniqueSort=function(g){if(w){h= -l;g.sort(w);if(h)for(var i=1;i0};k.find=function(g,i,n){var m;if(!g)return[];for(var p=0,q=o.order.length;p":function(g,i){var n,m=typeof i==="string",p=0,q=g.length;if(m&&!/\W/.test(i))for(i=i.toLowerCase();p=0))n||m.push(u);else if(n)i[q]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()},CHILD:function(g){if(g[1]==="nth"){var i=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=i[1]+(i[2]||1)-0;g[3]=i[3]-0}g[0]=e++;return g},ATTR:function(g,i,n, -m,p,q){i=g[1].replace(/\\/g,"");if(!q&&o.attrMap[i])g[1]=o.attrMap[i];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,i,n,m,p){if(g[1]==="not")if((d.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,i);else{g=k.filter(g[3],i,n,true^p);n||m.push.apply(m,g);return false}else if(o.match.POS.test(g[0])||o.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled=== -true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,i,n){return!!k(n[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)},text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"=== -g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}},setFilters:{first:function(g,i){return i===0},last:function(g,i,n,m){return i===m.length-1},even:function(g,i){return i%2===0},odd:function(g,i){return i%2===1},lt:function(g,i,n){return in[3]-0},nth:function(g,i,n){return n[3]- -0===i},eq:function(g,i,n){return n[3]-0===i}},filter:{PSEUDO:function(g,i,n,m){var p=i[1],q=o.filters[p];if(q)return q(g,n,i,m);else if(p==="contains")return(g.textContent||g.innerText||k.getText([g])||"").indexOf(i[3])>=0;else if(p==="not"){i=i[3];n=0;for(m=i.length;n=0}},ID:function(g,i){return g.nodeType===1&&g.getAttribute("id")===i},TAG:function(g,i){return i==="*"&&g.nodeType===1||g.nodeName.toLowerCase()=== -i},CLASS:function(g,i){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(i)>-1},ATTR:function(g,i){var n=i[1];n=o.attrHandle[n]?o.attrHandle[n](g):g[n]!=null?g[n]:g.getAttribute(n);var m=n+"",p=i[2],q=i[4];return n==null?p==="!=":p==="="?m===q:p==="*="?m.indexOf(q)>=0:p==="~="?(" "+m+" ").indexOf(q)>=0:!q?m&&n!==false:p==="!="?m!==q:p==="^="?m.indexOf(q)===0:p==="$="?m.substr(m.length-q.length)===q:p==="|="?m===q||m.substr(0,q.length+1)===q+"-":false},POS:function(g,i,n,m){var p=o.setFilters[i[2]]; -if(p)return p(g,n,i,m)}}},x=o.match.POS,r=function(g,i){return"\\"+(i-0+1)},A;for(A in o.match){o.match[A]=RegExp(o.match[A].source+/(?![^\[]*\])(?![^\(]*\))/.source);o.leftMatch[A]=RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[A].source.replace(/\\(\d+)/g,r))}var C=function(g,i){g=Array.prototype.slice.call(g,0);if(i){i.push.apply(i,g);return i}return g};try{Array.prototype.slice.call(t.documentElement.childNodes,0)}catch(J){C=function(g,i){var n=0,m=i||[];if(f.call(g)==="[object Array]")Array.prototype.push.apply(m, -g);else if(typeof g.length==="number")for(var p=g.length;n";n.insertBefore(g,n.firstChild);if(t.getElementById(i)){o.find.ID=function(m,p,q){if(typeof p.getElementById!=="undefined"&&!q)return(p=p.getElementById(m[1]))?p.id===m[1]||typeof p.getAttributeNode!=="undefined"&&p.getAttributeNode("id").nodeValue===m[1]?[p]:B:[]};o.filter.ID=function(m,p){var q=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&q&&q.nodeValue===p}}n.removeChild(g); -n=g=null})();(function(){var g=t.createElement("div");g.appendChild(t.createComment(""));if(g.getElementsByTagName("*").length>0)o.find.TAG=function(i,n){var m=n.getElementsByTagName(i[1]);if(i[1]==="*"){for(var p=[],q=0;m[q];q++)m[q].nodeType===1&&p.push(m[q]);m=p}return m};g.innerHTML="";if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")o.attrHandle.href=function(i){return i.getAttribute("href",2)};g=null})();t.querySelectorAll&& -function(){var g=k,i=t.createElement("div");i.innerHTML="

                                                                                                                                                                                                                                                                                                                        ";if(!(i.querySelectorAll&&i.querySelectorAll(".TEST").length===0)){k=function(m,p,q,u){p=p||t;m=m.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!u&&!k.isXML(p))if(p.nodeType===9)try{return C(p.querySelectorAll(m),q)}catch(y){}else if(p.nodeType===1&&p.nodeName.toLowerCase()!=="object"){var F=p.getAttribute("id"),M=F||"__sizzle__";F||p.setAttribute("id",M);try{return C(p.querySelectorAll("#"+M+" "+m),q)}catch(N){}finally{F|| -p.removeAttribute("id")}}return g(m,p,q,u)};for(var n in g)k[n]=g[n];i=null}}();(function(){var g=t.documentElement,i=g.matchesSelector||g.mozMatchesSelector||g.webkitMatchesSelector||g.msMatchesSelector,n=false;try{i.call(t.documentElement,"[test!='']:sizzle")}catch(m){n=true}if(i)k.matchesSelector=function(p,q){q=q.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!k.isXML(p))try{if(n||!o.match.PSEUDO.test(q)&&!/!=/.test(q))return i.call(p,q)}catch(u){}return k(q,null,null,[p]).length>0}})();(function(){var g= -t.createElement("div");g.innerHTML="
                                                                                                                                                                                                                                                                                                                        ";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){o.order.splice(1,0,"CLASS");o.find.CLASS=function(i,n,m){if(typeof n.getElementsByClassName!=="undefined"&&!m)return n.getElementsByClassName(i[1])};g=null}}})();k.contains=t.documentElement.contains?function(g,i){return g!==i&&(g.contains?g.contains(i):true)}:t.documentElement.compareDocumentPosition? -function(g,i){return!!(g.compareDocumentPosition(i)&16)}:function(){return false};k.isXML=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false};var L=function(g,i){for(var n,m=[],p="",q=i.nodeType?[i]:i;n=o.match.PSEUDO.exec(g);){p+=n[0];g=g.replace(o.match.PSEUDO,"")}g=o.relative[g]?g+"*":g;n=0;for(var u=q.length;n0)for(var h=d;h0},closest:function(a,b){var d=[],e,f,h=this[0];if(c.isArray(a)){var l,k={},o=1;if(h&&a.length){e=0;for(f=a.length;e-1:c(h).is(e))d.push({selector:l,elem:h,level:o})}h= -h.parentNode;o++}}return d}l=cb.test(a)?c(a,b||this.context):null;e=0;for(f=this.length;e-1:c.find.matchesSelector(h,a)){d.push(h);break}else{h=h.parentNode;if(!h||!h.ownerDocument||h===b)break}d=d.length>1?c.unique(d):d;return this.pushStack(d,"closest",a)},index:function(a){if(!a||typeof a==="string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var d=typeof a==="string"?c(a,b||this.context): -c.makeArray(a),e=c.merge(this.get(),d);return this.pushStack(!d[0]||!d[0].parentNode||d[0].parentNode.nodeType===11||!e[0]||!e[0].parentNode||e[0].parentNode.nodeType===11?e:c.unique(e))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode",d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a, -2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a, -b){c.fn[a]=function(d,e){var f=c.map(this,b,d);Za.test(a)||(e=d);if(e&&typeof e==="string")f=c.filter(e,f);f=this.length>1?c.unique(f):f;if((this.length>1||ab.test(e))&&$a.test(a))f=f.reverse();return this.pushStack(f,a,bb.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return b.length===1?c.find.matchesSelector(b[0],a)?[b[0]]:[]:c.find.matches(a,b)},dir:function(a,b,d){var e=[];for(a=a[b];a&&a.nodeType!==9&&(d===B||a.nodeType!==1||!c(a).is(d));){a.nodeType===1&& -e.push(a);a=a[b]}return e},nth:function(a,b,d){b=b||1;for(var e=0;a;a=a[d])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var za=/ jQuery\d+="(?:\d+|null)"/g,$=/^\s+/,Aa=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Ba=/<([\w:]+)/,db=/\s]+\/)>/g,P={option:[1, -""],legend:[1,"
                                                                                                                                                                                                                                                                                                                        ","
                                                                                                                                                                                                                                                                                                                        "],thead:[1,"","
                                                                                                                                                                                                                                                                                                                        "],tr:[2,"","
                                                                                                                                                                                                                                                                                                                        "],td:[3,"","
                                                                                                                                                                                                                                                                                                                        "],col:[2,"","
                                                                                                                                                                                                                                                                                                                        "],area:[1,"",""],_default:[0,"",""]};P.optgroup=P.option;P.tbody=P.tfoot=P.colgroup=P.caption=P.thead;P.th=P.td;if(!c.support.htmlSerialize)P._default=[1,"div
                                                                                                                                                                                                                                                                                                                        ","
                                                                                                                                                                                                                                                                                                                        "];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= -c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==B)return this.empty().append((this[0]&&this[0].ownerDocument||t).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, -wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, -prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(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,false,function(b){this.parentNode.insertBefore(b, -this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,e;(e=this[d])!=null;d++)if(!a||c.filter(a,[e]).length){if(!b&&e.nodeType===1){c.cleanData(e.getElementsByTagName("*"));c.cleanData([e])}e.parentNode&&e.parentNode.removeChild(e)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); -return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,e=this.ownerDocument;if(!d){d=e.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(za,"").replace(fb,'="$1">').replace($,"")],e)[0]}else return this.cloneNode(true)});if(a===true){na(this,b);na(this.find("*"),b.find("*"))}return b},html:function(a){if(a===B)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(za,""):null; -else if(typeof a==="string"&&!Ca.test(a)&&(c.support.leadingWhitespace||!$.test(a))&&!P[(Ba.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Aa,"<$1>");try{for(var b=0,d=this.length;b0||e.cacheable||this.length>1?h.cloneNode(true):h)}k.length&&c.each(k,Oa)}return this}});c.buildFragment=function(a,b,d){var e,f,h;b=b&&b[0]?b[0].ownerDocument||b[0]:t;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===t&&!Ca.test(a[0])&&(c.support.checkClone||!Da.test(a[0]))){f=true;if(h=c.fragments[a[0]])if(h!==1)e=h}if(!e){e=b.createDocumentFragment();c.clean(a,b,e,d)}if(f)c.fragments[a[0]]=h?e:1;return{fragment:e,cacheable:f}};c.fragments={};c.each({appendTo:"append", -prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var e=[];d=c(d);var f=this.length===1&&this[0].parentNode;if(f&&f.nodeType===11&&f.childNodes.length===1&&d.length===1){d[b](this[0]);return this}else{f=0;for(var h=d.length;f0?this.clone(true):this).get();c(d[f])[b](l);e=e.concat(l)}return this.pushStack(e,a,d.selector)}}});c.extend({clean:function(a,b,d,e){b=b||t;if(typeof b.createElement==="undefined")b=b.ownerDocument|| -b[0]&&b[0].ownerDocument||t;for(var f=[],h=0,l;(l=a[h])!=null;h++){if(typeof l==="number")l+="";if(l){if(typeof l==="string"&&!eb.test(l))l=b.createTextNode(l);else if(typeof l==="string"){l=l.replace(Aa,"<$1>");var k=(Ba.exec(l)||["",""])[1].toLowerCase(),o=P[k]||P._default,x=o[0],r=b.createElement("div");for(r.innerHTML=o[1]+l+o[2];x--;)r=r.lastChild;if(!c.support.tbody){x=db.test(l);k=k==="table"&&!x?r.firstChild&&r.firstChild.childNodes:o[1]===""&&!x?r.childNodes:[];for(o=k.length- -1;o>=0;--o)c.nodeName(k[o],"tbody")&&!k[o].childNodes.length&&k[o].parentNode.removeChild(k[o])}!c.support.leadingWhitespace&&$.test(l)&&r.insertBefore(b.createTextNode($.exec(l)[0]),r.firstChild);l=r.childNodes}if(l.nodeType)f.push(l);else f=c.merge(f,l)}}if(d)for(h=0;f[h];h++)if(e&&c.nodeName(f[h],"script")&&(!f[h].type||f[h].type.toLowerCase()==="text/javascript"))e.push(f[h].parentNode?f[h].parentNode.removeChild(f[h]):f[h]);else{f[h].nodeType===1&&f.splice.apply(f,[h+1,0].concat(c.makeArray(f[h].getElementsByTagName("script")))); -d.appendChild(f[h])}return f},cleanData:function(a){for(var b,d,e=c.cache,f=c.event.special,h=c.support.deleteExpando,l=0,k;(k=a[l])!=null;l++)if(!(k.nodeName&&c.noData[k.nodeName.toLowerCase()]))if(d=k[c.expando]){if((b=e[d])&&b.events)for(var o in b.events)f[o]?c.event.remove(k,o):c.removeEvent(k,o,b.handle);if(h)delete k[c.expando];else k.removeAttribute&&k.removeAttribute(c.expando);delete e[d]}}});var Ea=/alpha\([^)]*\)/i,gb=/opacity=([^)]*)/,hb=/-([a-z])/ig,ib=/([A-Z])/g,Fa=/^-?\d+(?:px)?$/i, -jb=/^-?\d/,kb={position:"absolute",visibility:"hidden",display:"block"},Pa=["Left","Right"],Qa=["Top","Bottom"],W,Ga,aa,lb=function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){if(arguments.length===2&&b===B)return this;return c.access(this,a,b,true,function(d,e,f){return f!==B?c.style(d,e,f):c.css(d,e)})};c.extend({cssHooks:{opacity:{get:function(a,b){if(b){var d=W(a,"opacity","opacity");return d===""?"1":d}else return a.style.opacity}}},cssNumber:{zIndex:true,fontWeight:true,opacity:true, -zoom:true,lineHeight:true},cssProps:{"float":c.support.cssFloat?"cssFloat":"styleFloat"},style:function(a,b,d,e){if(!(!a||a.nodeType===3||a.nodeType===8||!a.style)){var f,h=c.camelCase(b),l=a.style,k=c.cssHooks[h];b=c.cssProps[h]||h;if(d!==B){if(!(typeof d==="number"&&isNaN(d)||d==null)){if(typeof d==="number"&&!c.cssNumber[h])d+="px";if(!k||!("set"in k)||(d=k.set(a,d))!==B)try{l[b]=d}catch(o){}}}else{if(k&&"get"in k&&(f=k.get(a,false,e))!==B)return f;return l[b]}}},css:function(a,b,d){var e,f=c.camelCase(b), -h=c.cssHooks[f];b=c.cssProps[f]||f;if(h&&"get"in h&&(e=h.get(a,true,d))!==B)return e;else if(W)return W(a,b,f)},swap:function(a,b,d){var e={},f;for(f in b){e[f]=a.style[f];a.style[f]=b[f]}d.call(a);for(f in b)a.style[f]=e[f]},camelCase:function(a){return a.replace(hb,lb)}});c.curCSS=c.css;c.each(["height","width"],function(a,b){c.cssHooks[b]={get:function(d,e,f){var h;if(e){if(d.offsetWidth!==0)h=oa(d,b,f);else c.swap(d,kb,function(){h=oa(d,b,f)});if(h<=0){h=W(d,b,b);if(h==="0px"&&aa)h=aa(d,b,b); -if(h!=null)return h===""||h==="auto"?"0px":h}if(h<0||h==null){h=d.style[b];return h===""||h==="auto"?"0px":h}return typeof h==="string"?h:h+"px"}},set:function(d,e){if(Fa.test(e)){e=parseFloat(e);if(e>=0)return e+"px"}else return e}}});if(!c.support.opacity)c.cssHooks.opacity={get:function(a,b){return gb.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var d=a.style;d.zoom=1;var e=c.isNaN(b)?"":"alpha(opacity="+b*100+")",f= -d.filter||"";d.filter=Ea.test(f)?f.replace(Ea,e):d.filter+" "+e}};if(t.defaultView&&t.defaultView.getComputedStyle)Ga=function(a,b,d){var e;d=d.replace(ib,"-$1").toLowerCase();if(!(b=a.ownerDocument.defaultView))return B;if(b=b.getComputedStyle(a,null)){e=b.getPropertyValue(d);if(e===""&&!c.contains(a.ownerDocument.documentElement,a))e=c.style(a,d)}return e};if(t.documentElement.currentStyle)aa=function(a,b){var d,e,f=a.currentStyle&&a.currentStyle[b],h=a.style;if(!Fa.test(f)&&jb.test(f)){d=h.left; -e=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;h.left=b==="fontSize"?"1em":f||0;f=h.pixelLeft+"px";h.left=d;a.runtimeStyle.left=e}return f===""?"auto":f};W=Ga||aa;if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b=a.offsetHeight;return a.offsetWidth===0&&b===0||!c.support.reliableHiddenOffsets&&(a.style.display||c.css(a,"display"))==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var mb=c.now(),nb=/)<[^<]*)*<\/script>/gi, -ob=/^(?:select|textarea)/i,pb=/^(?:color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,qb=/^(?:GET|HEAD)$/,Ra=/\[\]$/,T=/\=\?(&|$)/,ja=/\?/,rb=/([?&])_=[^&]*/,sb=/^(\w+:)?\/\/([^\/?#]+)/,tb=/%20/g,ub=/#.*$/,Ha=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!=="string"&&Ha)return Ha.apply(this,arguments);else if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var f=a.slice(e,a.length);a=a.slice(0,e)}e="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b=== -"object"){b=c.param(b,c.ajaxSettings.traditional);e="POST"}var h=this;c.ajax({url:a,type:e,dataType:"html",data:b,complete:function(l,k){if(k==="success"||k==="notmodified")h.html(f?c("
                                                                                                                                                                                                                                                                                                                        ").append(l.responseText.replace(nb,"")).find(f):l.responseText);d&&h.each(d,[l.responseText,k,l])}});return this},serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&& -!this.disabled&&(this.checked||ob.test(this.nodeName)||pb.test(this.type))}).map(function(a,b){var d=c(this).val();return d==null?null:c.isArray(d)?c.map(d,function(e){return{name:b.name,value:e}}):{name:b.name,value:d}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:e})}, -getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,e){if(c.isFunction(b)){e=e||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:e})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href,global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:function(){return new E.XMLHttpRequest},accepts:{xml:"application/xml, text/xml",html:"text/html", -script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},ajax:function(a){var b=c.extend(true,{},c.ajaxSettings,a),d,e,f,h=b.type.toUpperCase(),l=qb.test(h);b.url=b.url.replace(ub,"");b.context=a&&a.context!=null?a.context:b;if(b.data&&b.processData&&typeof b.data!=="string")b.data=c.param(b.data,b.traditional);if(b.dataType==="jsonp"){if(h==="GET")T.test(b.url)||(b.url+=(ja.test(b.url)?"&":"?")+(b.jsonp||"callback")+"=?");else if(!b.data|| -!T.test(b.data))b.data=(b.data?b.data+"&":"")+(b.jsonp||"callback")+"=?";b.dataType="json"}if(b.dataType==="json"&&(b.data&&T.test(b.data)||T.test(b.url))){d=b.jsonpCallback||"jsonp"+mb++;if(b.data)b.data=(b.data+"").replace(T,"="+d+"$1");b.url=b.url.replace(T,"="+d+"$1");b.dataType="script";var k=E[d];E[d]=function(m){if(c.isFunction(k))k(m);else{E[d]=B;try{delete E[d]}catch(p){}}f=m;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);r&&r.removeChild(A)}}if(b.dataType==="script"&&b.cache===null)b.cache= -false;if(b.cache===false&&l){var o=c.now(),x=b.url.replace(rb,"$1_="+o);b.url=x+(x===b.url?(ja.test(b.url)?"&":"?")+"_="+o:"")}if(b.data&&l)b.url+=(ja.test(b.url)?"&":"?")+b.data;b.global&&c.active++===0&&c.event.trigger("ajaxStart");o=(o=sb.exec(b.url))&&(o[1]&&o[1].toLowerCase()!==location.protocol||o[2].toLowerCase()!==location.host);if(b.dataType==="script"&&h==="GET"&&o){var r=t.getElementsByTagName("head")[0]||t.documentElement,A=t.createElement("script");if(b.scriptCharset)A.charset=b.scriptCharset; -A.src=b.url;if(!d){var C=false;A.onload=A.onreadystatechange=function(){if(!C&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){C=true;c.handleSuccess(b,w,e,f);c.handleComplete(b,w,e,f);A.onload=A.onreadystatechange=null;r&&A.parentNode&&r.removeChild(A)}}}r.insertBefore(A,r.firstChild);return B}var J=false,w=b.xhr();if(w){b.username?w.open(h,b.url,b.async,b.username,b.password):w.open(h,b.url,b.async);try{if(b.data!=null&&!l||a&&a.contentType)w.setRequestHeader("Content-Type", -b.contentType);if(b.ifModified){c.lastModified[b.url]&&w.setRequestHeader("If-Modified-Since",c.lastModified[b.url]);c.etag[b.url]&&w.setRequestHeader("If-None-Match",c.etag[b.url])}o||w.setRequestHeader("X-Requested-With","XMLHttpRequest");w.setRequestHeader("Accept",b.dataType&&b.accepts[b.dataType]?b.accepts[b.dataType]+", */*; q=0.01":b.accepts._default)}catch(I){}if(b.beforeSend&&b.beforeSend.call(b.context,w,b)===false){b.global&&c.active--===1&&c.event.trigger("ajaxStop");w.abort();return false}b.global&& -c.triggerGlobal(b,"ajaxSend",[w,b]);var L=w.onreadystatechange=function(m){if(!w||w.readyState===0||m==="abort"){J||c.handleComplete(b,w,e,f);J=true;if(w)w.onreadystatechange=c.noop}else if(!J&&w&&(w.readyState===4||m==="timeout")){J=true;w.onreadystatechange=c.noop;e=m==="timeout"?"timeout":!c.httpSuccess(w)?"error":b.ifModified&&c.httpNotModified(w,b.url)?"notmodified":"success";var p;if(e==="success")try{f=c.httpData(w,b.dataType,b)}catch(q){e="parsererror";p=q}if(e==="success"||e==="notmodified")d|| -c.handleSuccess(b,w,e,f);else c.handleError(b,w,e,p);d||c.handleComplete(b,w,e,f);m==="timeout"&&w.abort();if(b.async)w=null}};try{var g=w.abort;w.abort=function(){w&&Function.prototype.call.call(g,w);L("abort")}}catch(i){}b.async&&b.timeout>0&&setTimeout(function(){w&&!J&&L("timeout")},b.timeout);try{w.send(l||b.data==null?null:b.data)}catch(n){c.handleError(b,w,null,n);c.handleComplete(b,w,e,f)}b.async||L();return w}},param:function(a,b){var d=[],e=function(h,l){l=c.isFunction(l)?l():l;d[d.length]= -encodeURIComponent(h)+"="+encodeURIComponent(l)};if(b===B)b=c.ajaxSettings.traditional;if(c.isArray(a)||a.jquery)c.each(a,function(){e(this.name,this.value)});else for(var f in a)da(f,a[f],b,e);return d.join("&").replace(tb,"+")}});c.extend({active:0,lastModified:{},etag:{},handleError:function(a,b,d,e){a.error&&a.error.call(a.context,b,d,e);a.global&&c.triggerGlobal(a,"ajaxError",[b,a,e])},handleSuccess:function(a,b,d,e){a.success&&a.success.call(a.context,e,d,b);a.global&&c.triggerGlobal(a,"ajaxSuccess", -[b,a])},handleComplete:function(a,b,d){a.complete&&a.complete.call(a.context,b,d);a.global&&c.triggerGlobal(a,"ajaxComplete",[b,a]);a.global&&c.active--===1&&c.event.trigger("ajaxStop")},triggerGlobal:function(a,b,d){(a.context&&a.context.url==null?c(a.context):c.event).trigger(b,d)},httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status===1223}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"), -e=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(e)c.etag[b]=e;return a.status===304},httpData:function(a,b,d){var e=a.getResponseHeader("content-type")||"",f=b==="xml"||!b&&e.indexOf("xml")>=0;a=f?a.responseXML:a.responseText;f&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b==="json"||!b&&e.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&e.indexOf("javascript")>=0)c.globalEval(a);return a}}); -if(E.ActiveXObject)c.ajaxSettings.xhr=function(){if(E.location.protocol!=="file:")try{return new E.XMLHttpRequest}catch(a){}try{return new E.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}};c.support.ajax=!!c.ajaxSettings.xhr();var ea={},vb=/^(?:toggle|show|hide)$/,wb=/^([+\-]=)?([\d+.\-]+)(.*)$/,ba,pa=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b,d){if(a||a===0)return this.animate(S("show", -3),a,b,d);else{d=0;for(var e=this.length;d=0;e--)if(d[e].elem===this){b&&d[e](true);d.splice(e,1)}});b||this.dequeue();return this}});c.each({slideDown:S("show",1),slideUp:S("hide",1),slideToggle:S("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){c.fn[a]=function(d,e,f){return this.animate(b, -d,e,f)}});c.extend({speed:function(a,b,d){var e=a&&typeof a==="object"?c.extend({},a):{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};e.duration=c.fx.off?0:typeof e.duration==="number"?e.duration:e.duration in c.fx.speeds?c.fx.speeds[e.duration]:c.fx.speeds._default;e.old=e.complete;e.complete=function(){e.queue!==false&&c(this).dequeue();c.isFunction(e.old)&&e.old.call(this)};return e},easing:{linear:function(a,b,d,e){return d+e*a},swing:function(a,b,d,e){return(-Math.cos(a* -Math.PI)/2+0.5)*e+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]||c.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=parseFloat(c.css(this.elem,this.prop));return a&&a>-1E4?a:0},custom:function(a,b,d){function e(l){return f.step(l)} -var f=this,h=c.fx;this.startTime=c.now();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start;this.pos=this.state=0;e.elem=this.elem;if(e()&&c.timers.push(e)&&!ba)ba=setInterval(h.tick,h.interval)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true; -this.custom(this.cur(),0)},step:function(a){var b=c.now(),d=true;if(a||b>=this.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var e in this.options.curAnim)if(this.options.curAnim[e]!==true)d=false;if(d){if(this.options.overflow!=null&&!c.support.shrinkWrapBlocks){var f=this.elem,h=this.options;c.each(["","X","Y"],function(k,o){f.style["overflow"+o]=h.overflow[k]})}this.options.hide&&c(this.elem).hide();if(this.options.hide|| -this.options.show)for(var l in this.options.curAnim)c.style(this.elem,l,this.options.orig[l]);this.options.complete.call(this.elem)}return false}else{a=b-this.startTime;this.state=a/this.options.duration;b=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||b](this.state,a,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a= -c.timers,b=0;b-1;e={};var x={};if(o)x=f.position();l=o?x.top:parseInt(l,10)||0;k=o?x.left:parseInt(k,10)||0;if(c.isFunction(b))b=b.call(a,d,h);if(b.top!=null)e.top=b.top-h.top+l;if(b.left!=null)e.left=b.left-h.left+k;"using"in b?b.using.call(a, -e):f.css(e)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),e=Ia.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.css(a,"marginTop"))||0;d.left-=parseFloat(c.css(a,"marginLeft"))||0;e.top+=parseFloat(c.css(b[0],"borderTopWidth"))||0;e.left+=parseFloat(c.css(b[0],"borderLeftWidth"))||0;return{top:d.top-e.top,left:d.left-e.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||t.body;a&&!Ia.test(a.nodeName)&& -c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(e){var f=this[0],h;if(!f)return null;if(e!==B)return this.each(function(){if(h=fa(this))h.scrollTo(!a?e:c(h).scrollLeft(),a?e:c(h).scrollTop());else this[d]=e});else return(h=fa(f))?"pageXOffset"in h?h[a?"pageYOffset":"pageXOffset"]:c.support.boxModel&&h.document.documentElement[d]||h.document.body[d]:f[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase(); -c.fn["inner"+b]=function(){return this[0]?parseFloat(c.css(this[0],d,"padding")):null};c.fn["outer"+b]=function(e){return this[0]?parseFloat(c.css(this[0],d,e?"margin":"border")):null};c.fn[d]=function(e){var f=this[0];if(!f)return e==null?null:this;if(c.isFunction(e))return this.each(function(l){var k=c(this);k[d](e.call(this,l,k[d]()))});if(c.isWindow(f))return f.document.compatMode==="CSS1Compat"&&f.document.documentElement["client"+b]||f.document.body["client"+b];else if(f.nodeType===9)return Math.max(f.documentElement["client"+ -b],f.body["scroll"+b],f.documentElement["scroll"+b],f.body["offset"+b],f.documentElement["offset"+b]);else if(e===B){f=c.css(f,d);var h=parseFloat(f);return c.isNaN(h)?f:h}else return this.css(d,typeof e==="string"?e:e+"px")}})})(window); diff --git a/lib/zTree_v3/js/jquery.ztree.all.js b/lib/zTree_v3/js/jquery.ztree.all.js deleted file mode 100755 index e237613..0000000 --- a/lib/zTree_v3/js/jquery.ztree.all.js +++ /dev/null @@ -1,3841 +0,0 @@ - -/* - * JQuery zTree core v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function ($) { - var settings = {}, roots = {}, caches = {}, - //default consts of core - _consts = { - className: { - BUTTON: "button", - LEVEL: "level", - ICO_LOADING: "ico_loading", - SWITCH: "switch", - NAME: 'node_name' - }, - 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", - SELECTED: "ztree_selected", - UNSELECTED: "ztree_unselected" - }, - 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: { - isParent: "isParent", - children: "children", - name: "name", - title: "", - url: "url", - icon: "icon" - }, - 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", - headers: {}, - xhrFields: {}, - 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); - } - data.nodeChildren(setting, r, []); - 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]); - }); - - o.bind(c.SELECTED, function (event, treeId, node) { - tools.apply(setting.callback.onSelected, [treeId, node]); - }); - o.bind(c.UNSELECTED, function (event, treeId, node) { - tools.apply(setting.callback.onUnSelected, [treeId, node]); - }); - }, - _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) - .unbind(c.SELECTED) - .unbind(c.UNSELECTED); - }, - //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" : - var isParent = data.nodeIsParent(setting, node); - if (!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), - children = data.nodeChildren(setting, n); - 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; - var isParent = data.nodeIsParent(setting, n); - if (tools.isArray(children)) { - data.nodeIsParent(setting, n, true); - n.zAsync = true; - } else { - isParent = data.nodeIsParent(setting, n, isParent); - n.open = (isParent && !setting.async.enable) ? n.open : false; - n.zAsync = !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.getIndex = function () { - return data.getNodeIndex(setting, n); - }; - n.getPath = function () { - return data.getNodePath(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, index, nodes) { - var children = data.nodeChildren(setting, parentNode), params; - if (!children) { - children = data.nodeChildren(setting, parentNode, []); - index = -1; - } else if (index >= children.length) { - index = -1; - } - - if (children.length > 0 && index === 0) { - children[0].isFirstNode = false; - view.setNodeLineIcos(setting, children[0]); - } else if (children.length > 0 && index < 0) { - children[children.length - 1].isLastNode = false; - view.setNodeLineIcos(setting, children[children.length - 1]); - } - data.nodeIsParent(setting, parentNode, true); - - if (index < 0) { - data.nodeChildren(setting, parentNode, children.concat(nodes)); - } else { - params = [index, 0].concat(nodes); - children.splice.apply(children, params); - } - }, - 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]; - }, - getNodeIndex: function (setting, node) { - if (!node) return null; - var p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length - 1; i <= l; i++) { - if (children[i] === node) { - return i; - } - } - return -1; - }, - getNextNode: function (setting, node) { - if (!node) return null; - var p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length - 1; i <= l; i++) { - if (children[i] === node) { - return (i == l ? null : children[i + 1]); - } - } - return null; - }, - getNodeByParam: function (setting, nodes, key, value) { - if (!nodes || !key) return null; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (node[key] == value) { - return nodes[i]; - } - var children = data.nodeChildren(setting, node); - var tmp = data.getNodeByParam(setting, children, 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; - }, - getNodePath: function (setting, node) { - if (!node) return null; - - var path; - if (node.parentTId) { - path = node.getParentNode().getPath(); - } else { - path = []; - } - - if (path) { - path.push(node); - } - - return path; - }, - getNodes: function (setting) { - return data.nodeChildren(setting, data.getRoot(setting)); - }, - getNodesByParam: function (setting, nodes, key, value) { - if (!nodes || !key) return []; - var result = []; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (node[key] == value) { - result.push(node); - } - var children = data.nodeChildren(setting, node); - result = result.concat(data.getNodesByParam(setting, children, key, value)); - } - return result; - }, - getNodesByParamFuzzy: function (setting, nodes, key, value) { - if (!nodes || !key) return []; - var result = []; - value = value.toLowerCase(); - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (typeof node[key] == "string" && nodes[i][key].toLowerCase().indexOf(value) > -1) { - result.push(node); - } - var children = data.nodeChildren(setting, node); - result = result.concat(data.getNodesByParamFuzzy(setting, children, key, value)); - } - return result; - }, - getNodesByFilter: function (setting, nodes, filter, isSingle, invokeParam) { - if (!nodes) return (isSingle ? null : []); - var result = isSingle ? null : []; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (tools.apply(filter, [node, invokeParam], false)) { - if (isSingle) { - return node; - } - result.push(node); - } - var children = data.nodeChildren(setting, node); - var tmpResult = data.getNodesByFilter(setting, children, 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 p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length; i < l; i++) { - if (children[i] === node) { - return (i == 0 ? null : children[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; - }, - nodeChildren: function (setting, node, newChildren) { - if (!node) { - return null; - } - var key = setting.data.key.children; - if (typeof newChildren !== 'undefined') { - node[key] = newChildren; - } - return node[key]; - }, - nodeIsParent: function (setting, node, newIsParent) { - if (!node) { - return false; - } - var key = setting.data.key.isParent; - if (typeof newIsParent !== 'undefined') { - if (typeof newIsParent === "string") { - newIsParent = tools.eqs(newIsParent, "true"); - } - newIsParent = !!newIsParent; - node[key] = newIsParent; - } else if (typeof node[key] == "string"){ - node[key] = tools.eqs(node[key], "true"); - } else { - node[key] = !!node[key]; - } - return node[key]; - }, - nodeName: function (setting, node, newName) { - var key = setting.data.key.name; - if (typeof newName !== 'undefined') { - node[key] = newName; - } - return "" + node[key]; - }, - nodeTitle: function (setting, node) { - var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title; - return "" + node[t]; - }, - removeNodeCache: function (setting, node) { - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - data.removeNodeCache(setting, children[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); - setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]); - 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 r = []; - if (tools.isArray(nodes)) { - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - _do(node); - } - } else { - _do(nodes); - } - return r; - - function _do(_node) { - r.push(_node); - var children = data.nodeChildren(setting, _node); - if (children) { - r = r.concat(data.transformToArrayFormat(setting, children)); - } - } - }, - transformTozTreeFormat: function (setting, sNodes) { - var i, l, - key = setting.data.simpleData.idKey, - parentKey = setting.data.simpleData.pIdKey; - 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++) { - var p = tmpMap[sNodes[i][parentKey]]; - if (p && sNodes[i][key] != sNodes[i][parentKey]) { - var children = data.nodeChildren(setting, p); - if (!children) { - children = data.nodeChildren(setting, p, []); - } - children.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', handler.onSelectStart).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('selectstart', handler.onSelectStart) - .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"; - }, - onSelectStart: function (e) { - var n = e.originalEvent.srcElement.nodeName.toLowerCase(); - return (n === "input" || n === "textarea"); - } - }, - //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 children = data.nodeChildren(setting, node); - var isParent = data.nodeIsParent(setting, node); - return (setting.async.enable && node && isParent && !(node.zAsync || (children && children.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" ? tools.clone(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]"; - }, - isElement: function (o) { - return ( - typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2 - o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string" - ); - }, - $: 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, index, newNodes, isSilent) { - var isParent = data.nodeIsParent(setting, parentNode); - if (setting.data.keep.leaf && 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, index, newNodes); - view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index); - if (!isSilent) { - view.expandCollapseParentNode(setting, parentNode, true); - } - } else { - data.addNodesData(setting, data.getRoot(setting), index, newNodes); - view.createNodes(setting, 0, newNodes, null, index); - } - }, - appendNodes: function (setting, level, nodes, parentNode, index, initFlag, openFlag) { - if (!nodes) return []; - var html = []; - - var tmpPNode = (parentNode) ? parentNode : data.getRoot(setting), - tmpPChild = data.nodeChildren(setting, tmpPNode), - isFirstNode, isLastNode; - - if (!tmpPChild || index >= tmpPChild.length - nodes.length) { - index = -1; - } - - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (initFlag) { - isFirstNode = ((index === 0 || tmpPChild.length == nodes.length) && (i == 0)); - isLastNode = (index < 0 && i == (nodes.length - 1)); - data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag); - data.addNodeCache(setting, node); - } - var isParent = data.nodeIsParent(setting, node); - - var childHtml = []; - var children = data.nodeChildren(setting, node); - if (children && children.length > 0) { - //make child html first, because checkType - childHtml = view.appendNodes(setting, level + 1, children, node, -1, 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 (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 children = data.nodeChildren(setting, node), - childHtml = view.appendNodes(setting, node.level + 1, children, node, -1, false, true); - view.makeUlHtml(setting, node, html, childHtml.join('')); - nObj.append(html.join('')); - }, - asyncNode: function (setting, node, isSilent, callback) { - var i, l; - var isParent = data.nodeIsParent(setting, node); - if (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 = {}; - var autoParam = tools.apply(setting.async.autoParam, [setting.treeId, node], setting.async.autoParam); - for (i = 0, l = autoParam.length; node && i < l; i++) { - var pKey = autoParam[i].split("="), spKey = pKey; - if (pKey.length > 1) { - spKey = pKey[1]; - pKey = pKey[0]; - } - tmpParam[spKey] = node[pKey]; - } - var otherParam = tools.apply(setting.async.otherParam, [setting.treeId, node], setting.async.otherParam); - if (tools.isArray(otherParam)) { - for (i = 0, l = otherParam.length; i < l; i += 2) { - tmpParam[otherParam[i]] = otherParam[i + 1]; - } - } else { - for (var p in otherParam) { - tmpParam[p] = otherParam[p]; - } - } - - var _tmpV = data.getRoot(setting)._ver; - $.ajax({ - contentType: setting.async.contentType, - cache: false, - type: setting.async.type, - url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url), - data: setting.async.contentType.indexOf('application/json') > -1 ? JSON.stringify(tmpParam) : tmpParam, - dataType: setting.async.dataType, - headers: setting.async.headers, - xhrFields: setting.async.xhrFields, - 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, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent); - } else { - view.addNodes(setting, node, -1, [], !!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, excludeNode) { - var list = data.getRoot(setting).curSelectedList, - i, n; - for (i = list.length - 1; i >= 0; i--) { - n = list[i]; - if (node === n || (!node && (!excludeNode || excludeNode !== n))) { - $$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED); - if (node) { - data.removeSelectedNode(setting, node); - break; - } else { - list.splice(i, 1); - setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]); - } - } - } - }, - 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, index) { - if (!nodes || nodes.length == 0) return; - var root = data.getRoot(setting), - openFlag = !parentNode || parentNode.open || !!$$(data.nodeChildren(setting, parentNode)[0], setting).get(0); - root.createdNodes = []; - var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag), - parentObj, nextObj; - - if (!parentNode) { - parentObj = setting.treeObj; - //setting.treeObj.append(zTreeHtml.join('')); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - if (ulObj.get(0)) { - parentObj = ulObj; - //ulObj.append(zTreeHtml.join('')); - } - } - if (parentObj) { - if (index >= 0) { - nextObj = parentObj.children()[index]; - } - if (index >= 0 && nextObj) { - $(nextObj).before(zTreeHtml.join('')); - } else { - parentObj.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); - var tmpCb, _callback; - if (!node) { - tools.apply(callback, []); - return; - } - var children = data.nodeChildren(setting, node); - var isParent = data.nodeIsParent(setting, node); - if (root.expandTriggerFlag) { - _callback = callback; - tmpCb = 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]); - } - }; - callback = tmpCb; - root.expandTriggerFlag = false; - } - if (!node.open && isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (children && children.length > 0 && !$$(children[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 (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 (children && children.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 == "" || !(children && children.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), - treeNodes = (node) ? data.nodeChildren(setting, node) : data.nodeChildren(setting, root), - 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); - }, - isSelectedNode: function (setting, node) { - if (!node) { - return false; - } - var list = data.getRoot(setting).curSelectedList, - i; - for (i = list.length - 1; i >= 0; i--) { - if (node === list[i]) { - return true; - } - } - return false; - }, - makeDOMNodeIcon: function (html, setting, node) { - var nameStr = data.nodeName(setting, node), - name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g, '&').replace(//g, '>'); - html.push("", name, ""); - }, - makeDOMNodeLine: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeMainAfter: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeMainBefore: function (html, setting, node) { - html.push("
                                                                                                                                                                                                                                                                                                                      • "); - }, - makeDOMNodeNameAfter: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeNameBefore: function (html, setting, node) { - var title = data.nodeTitle(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(" 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, '>'), "'"); - } - 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) { - var isParent = data.nodeIsParent(setting, node); - icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0]; - if (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 isParent = data.nodeIsParent(setting, node); - var icon = (isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.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 (data.nodeIsParent(setting, node)) { - 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("
                                                                                                                                                                                                                                                                                                                          "); - html.push(content); - html.push("
                                                                                                                                                                                                                                                                                                                        "); - }, - makeUlLineClass: function (setting, node) { - return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : ""); - }, - removeChildNodes: function (setting, node) { - if (!node) return; - var nodes = data.nodeChildren(setting, node); - if (!nodes) return; - - for (var i = 0, l = nodes.length; i < l; i++) { - data.removeNodeCache(setting, nodes[i]); - } - data.removeSelectedNode(setting); - delete node[setting.data.key.children]; - - if (!setting.data.keep.parent) { - data.nodeIsParent(setting, node, 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(); - } - }, - scrollIntoView: function (setting, dom) { - if (!dom) { - return; - } - // support IE 7 - if (typeof Element === 'undefined') { - var contRect = setting.treeObj.get(0).getBoundingClientRect(), - findMeRect = dom.getBoundingClientRect(); - if (findMeRect.top < contRect.top || findMeRect.bottom > contRect.bottom - || findMeRect.right > contRect.right || findMeRect.left < contRect.left) { - dom.scrollIntoView(); - } - return; - } - // CC-BY jocki84@googlemail.com, https://gist.github.com/jocki84/6ffafd003387179a988e - if (!Element.prototype.scrollIntoViewIfNeeded) { - Element.prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) { - "use strict"; - - function makeRange(start, length) { - return {"start": start, "length": length, "end": start + length}; - } - - function coverRange(inner, outer) { - if ( - false === centerIfNeeded || - (outer.start < inner.end && inner.start < outer.end) - ) { - return Math.max( - inner.end - outer.length, - Math.min(outer.start, inner.start) - ); - } - return (inner.start + inner.end - outer.length) / 2; - } - - function makePoint(x, y) { - return { - "x": x, - "y": y, - "translate": function translate(dX, dY) { - return makePoint(x + dX, y + dY); - } - }; - } - - function absolute(elem, pt) { - while (elem) { - pt = pt.translate(elem.offsetLeft, elem.offsetTop); - elem = elem.offsetParent; - } - return pt; - } - - var target = absolute(this, makePoint(0, 0)), - extent = makePoint(this.offsetWidth, this.offsetHeight), - elem = this.parentNode, - origin; - - while (elem instanceof HTMLElement) { - // Apply desired scroll amount. - origin = absolute(elem, makePoint(elem.clientLeft, elem.clientTop)); - elem.scrollLeft = coverRange( - makeRange(target.x - origin.x, extent.x), - makeRange(elem.scrollLeft, elem.clientWidth) - ); - elem.scrollTop = coverRange( - makeRange(target.y - origin.y, extent.y), - makeRange(elem.scrollTop, elem.clientHeight) - ); - - // Determine actual scroll amount by reading back scroll properties. - target = target.translate(-elem.scrollLeft, -elem.scrollTop); - elem = elem.parentNode; - } - }; - } - dom.scrollIntoViewIfNeeded(); - }, - setFirstNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - if (children.length > 0) { - children[0].isFirstNode = true; - } - }, - setLastNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - if (children.length > 0) { - children[children.length - 1].isLastNode = true; - } - }, - removeNode: function (setting, node) { - var root = data.getRoot(setting), - 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); - - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children.length; i < l; i++) { - if (children[i].tId == node.tId) { - children.splice(i, 1); - break; - } - } - view.setFirstNode(setting, parentNode); - view.setLastNode(setting, parentNode); - - var tmp_ulObj, tmp_switchObj, tmp_icoObj, - childLength = children.length; - - //repair nodes old parent - if (!setting.data.keep.parent && childLength == 0) { - //old parentNode has no child nodes - data.nodeIsParent(setting, parentNode, false); - parentNode.open = false; - delete parentNode[setting.data.key.children]; - 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 = children[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 (children.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 = $$(children[0], consts.id.SWITCH, setting); - view.replaceSwitchClass(children[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, null, node); - } - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED); - data.addSelectedNode(setting, node); - setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, 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 (data.nodeIsParent(setting, node)) { - 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.nodeTitle(setting, node), - nObj = $$(node, consts.id.SPAN, setting); - nObj.empty(); - if (setting.view.nameIsHTML) { - nObj.html(data.nodeName(setting, node)); - } else { - nObj.text(data.nodeName(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); - zNodes = zNodes ? tools.clone(tools.isArray(zNodes) ? zNodes : [zNodes]) : []; - if (setting.data.simpleData.enable) { - data.nodeChildren(setting, root, data.transformTozTreeFormat(setting, zNodes)); - } else { - data.nodeChildren(setting, root, zNodes); - } - - data.initCache(setting); - event.unbindTree(setting); - event.bindTree(setting); - event.unbindEvent(setting); - event.bindEvent(setting); - - var zTreeTools = { - setting: setting, - addNodes: function (parentNode, index, newNodes, isSilent) { - if (!parentNode) parentNode = null; - var isParent = data.nodeIsParent(setting, parentNode); - if (parentNode && !isParent && setting.data.keep.leaf) return null; - - var i = parseInt(index, 10); - if (isNaN(i)) { - isSilent = !!newNodes; - newNodes = index; - index = -1; - } else { - index = i; - } - if (!newNodes) return null; - - - var xNewNodes = tools.clone(tools.isArray(newNodes) ? newNodes : [newNodes]); - - function addCallback() { - view.addNodes(setting, parentNode, index, 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 || !data.nodeIsParent(setting, node)) 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, showNodeFocus); - } else { - node.open = !expandFlag; - view.switchNode(this.setting, node); - showNodeFocus(); - } - return expandFlag; - - function showNodeFocus() { - var a = $$(node, setting).get(0); - if (a && focus !== false) { - view.scrollIntoView(setting, a); - } - } - }, - getNodes: function () { - return data.getNodes(setting); - }, - getNodeByParam: function (key, value, parentNode) { - if (!key) return null; - return data.getNodeByParam(setting, parentNode ? data.nodeChildren(setting, parentNode) : 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 ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), key, value); - }, - getNodesByParamFuzzy: function (key, value, parentNode) { - if (!key) return null; - return data.getNodesByParamFuzzy(setting, parentNode ? data.nodeChildren(setting, parentNode) : 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 ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), filter, isSingle, invokeParam); - }, - getNodeIndex: function (node) { - if (!node) return null; - var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children.length; i < l; i++) { - if (children[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); - }, - reAsyncChildNodesPromise: function (parentNode, reloadType, isSilent) { - var promise = new Promise(function (resolve, reject) { - try { - zTreeTools.reAsyncChildNodes(parentNode, reloadType, isSilent, function () { - resolve(parentNode); - }); - } catch (e) { - reject(e); - } - }); - return promise; - }, - reAsyncChildNodes: function (parentNode, reloadType, isSilent, callback) { - if (!this.setting.async.enable) return; - var isRoot = !parentNode; - if (isRoot) { - parentNode = data.getRoot(setting); - } - if (reloadType == "refresh") { - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children ? children.length : 0; i < l; i++) { - data.removeNodeCache(setting, children[i]); - } - data.removeSelectedNode(setting); - data.nodeChildren(setting, parentNode, []); - if (isRoot) { - this.setting.treeObj.empty(); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - ulObj.empty(); - } - } - view.asyncNode(this.setting, isRoot ? null : parentNode, !!isSilent, callback); - }, - refresh: function () { - this.setting.treeObj.empty(); - var root = data.getRoot(setting), - nodes = data.nodeChildren(setting, root); - data.initRoot(setting); - data.nodeChildren(setting, root, nodes); - data.initCache(setting); - view.createNodes(setting, 0, data.nodeChildren(setting, root), null, -1); - }, - removeChildNodes: function (node) { - if (!node) return null; - var nodes = data.nodeChildren(setting, node); - 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, isSilent) { - if (!node) return; - if (tools.uCanDo(setting)) { - addFlag = setting.view.selectedMulti && addFlag; - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus); - } else if (!isSilent) { - try { - $$(node, setting).focus().blur(); - } catch (e) { - } - } - view.selectNode(setting, node, addFlag); - } - - function showNodeFocus() { - if (isSilent) { - return; - } - var a = $$(node, setting).get(0); - view.scrollIntoView(setting, a); - } - }, - 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); - var children = data.nodeChildren(setting, root); - if (children && children.length > 0) { - view.createNodes(setting, 0, children, null, -1); - } 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.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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 checked = data.nodeChecked(setting, n); - n.checkedOld = checked; - 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 && checked) { - var r = data.getRoot(setting); - r.radioCheckedList.push(n); - } - }, - //add dom for check - _beforeA = function (setting, node, html) { - if (setting.check.enable) { - data.makeChkFlag(setting, node); - html.push(""); - } - }, - //update zTreeObj, add method of check - _zTreeTools = function (setting, zTreeTools) { - zTreeTools.checkNode = function (node, checked, checkTypeFlag, callbackFlag) { - var nodeChecked = data.nodeChecked(setting, node); - if (node.chkDisabled === true) return; - if (checked !== true && checked !== false) { - checked = !nodeChecked; - } - callbackFlag = !!callbackFlag; - - if (nodeChecked === 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) { - data.nodeChecked(setting, node, 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 checked = (checked !== false); - var children = data.nodeChildren(setting, data.getRoot(this.setting)); - return data.getTreeCheckedNodes(this.setting, children, checked); - } - - zTreeTools.getChangeCheckedNodes = function () { - var children = data.nodeChildren(setting, data.getRoot(this.setting)); - return data.getTreeChangeCheckedNodes(this.setting, children); - } - - 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 checked = data.nodeChecked(setting, node), - r = { - checked: checked, - half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (checked ? (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 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++) { - var node = nodes[i]; - var children = data.nodeChildren(setting, node); - var nodeChecked = data.nodeChecked(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked == checked) { - results.push(node); - if (onlyOne) { - break; - } - } - data.getTreeCheckedNodes(setting, children, checked, results); - if (onlyOne && results.length > 0) { - break; - } - } - return results; - }, - getTreeChangeCheckedNodes: function (setting, nodes, results) { - if (!nodes) return []; - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - var children = data.nodeChildren(setting, node); - var nodeChecked = data.nodeChecked(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked != node.checkedOld) { - results.push(node); - } - data.getTreeChangeCheckedNodes(setting, children, results); - } - return results; - }, - makeChkFlag: function (setting, node) { - if (!node) return; - var chkFlag = -1; - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - var cNode = children[i]; - var nodeChecked = data.nodeChecked(setting, cNode); - 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 (nodeChecked) { - 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 (nodeChecked) { - 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); - if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true; - var nodeChecked = data.nodeChecked(setting, node); - data.nodeChecked(setting, node, !nodeChecked); - 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, - r = consts.radio; - var nodeChecked = data.nodeChecked(setting, node); - if (setting.check.chkStyle == r.STYLE) { - var checkedList = data.getRadioCheckedList(setting); - if (nodeChecked) { - if (setting.check.radioType == r.TYPE_ALL) { - for (i = checkedList.length - 1; i >= 0; i--) { - pNode = checkedList[i]; - var pNodeChecked = data.nodeChecked(setting, pNode); - if (pNodeChecked && pNode != node) { - data.nodeChecked(setting, pNode, 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); - var children = data.nodeChildren(setting, parentNode); - for (i = 0, l = children.length; i < l; i++) { - pNode = children[i]; - var pNodeChecked = data.nodeChecked(setting, pNode); - if (pNodeChecked && pNode != node) { - data.nodeChecked(setting, pNode, 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 { - var children = data.nodeChildren(setting, node); - if (nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.Y.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, true); - } - if (!nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.N.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, false); - } - if (nodeChecked && setting.check.chkboxType.Y.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, true); - } - if (!nodeChecked && setting.check.chkboxType.N.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, false); - } - } - }, - makeChkClass: function (setting, node) { - var c = consts.checkbox, r = consts.radio, - fullStyle = ""; - var nodeChecked = data.nodeChecked(setting, node); - 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 = nodeChecked ? ((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 + "_" + (nodeChecked ? 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 root = data.getRoot(setting); - var children = data.nodeChildren(setting, root); - for (var i = 0, l = children.length; i < l; i++) { - var node = children[i]; - if (node.nocheck !== true && node.chkDisabled !== true) { - data.nodeChecked(setting, node, 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 children = data.nodeChildren(setting, node); - if (children && children.length > 0) { - view.repairParentChkClass(setting, children[0]); - } else { - view.repairParentChkClass(setting, node); - } - }, - repairSonChkDisabled: function (setting, node, chkDisabled, inherit) { - if (!node) return; - if (node.chkDisabled != chkDisabled) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - var children = data.nodeChildren(setting, node); - if (children && inherit) { - for (var i = 0, l = children.length; i < l; i++) { - var sNode = children[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.attr('class', view.makeChkClass(setting, node)); - }, - setParentNodeCheckBox: function (setting, node, value, srcNode) { - var checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - data.makeChkFlag(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true) { - data.nodeChecked(setting, node, 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 = data.nodeChildren(setting, node.getParentNode()); - for (var i = 0, l = pNodes.length; i < l; i++) { - var pNode = pNodes[i]; - var nodeChecked = data.nodeChecked(setting, pNode); - if ((pNode.nocheck !== true && pNode.chkDisabled !== true && nodeChecked) - || ((pNode.nocheck === true || pNode.chkDisabled === true) && pNode.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 checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - - var hasDisable = false; - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - var sNode = children[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) { - data.nodeChecked(setting, node, value); - if (!hasDisable) node.check_Child_State = (children && children.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.nodeChecked = function (setting, node, newChecked) { - if (!node) { - return false; - } - var key = setting.data.key.checked; - if (typeof newChecked !== 'undefined') { - if (typeof newChecked === "string") { - newChecked = tools.eqs(newChecked, "true"); - } - newChecked = !!newChecked; - node[key] = newChecked; - } else if (typeof node[key] == "string"){ - node[key] = tools.eqs(node[key], "true"); - } else { - node[key] = !!node[key]; - } - return node[key]; - }; - - 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, index) { - 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, index, 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.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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; - var isParent = data.nodeIsParent(setting, targetNode); - if (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, -1, [newNode], isSilent); - } - - if (tools.canAsync(this.setting, targetNode)) { - view.asyncNode(this.setting, targetNode, isSilent, copyCallback); - } else { - copyCallback(); - } - } else { - view.addNodes(this.setting, targetNode.parentNode, -1, [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; - var isParent = data.nodeIsParent(setting, targetNode); - if (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 children = data.nodeChildren(setting, node); - node.level = (parentNode) ? parentNode.level + 1 : 0; - if (!children) return; - for (var i = 0, l = children.length; i < l; i++) { - if (children[i]) data.setSonNodeLevel(setting, node, children[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; - 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 (data.nodeIsParent(setting, tmpNode) && 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 ? data.nodeChildren(setting, nodes[0].getParentNode()) : 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 = $$("
                                                                                                                                                                                                                                                                                                                          ", 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 = $$("
                                                                                                                                                                                                                                                                                                                        • ", 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 = $$("
                                                                                                                                                                                                                                                                                                                        • ...
                                                                                                                                                                                                                                                                                                                        • ", setting); - curNode.append(tmpDom); - } - } - curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp"); - curNode.addClass(setting.treeObj.attr("class")); - curNode.appendTo(body); - - tmpArrow = $$("", 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
                                                                                                                                                                                                                                                                                                                        • 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 && !data.nodeIsParent(setting, tmpTargetNode)) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner); - - function clearMove() { - tmpTarget = null; - tmpTargetNodeId = ""; - moveType = consts.move.TYPE_INNER; - tmpArrow.css({ - "display": "none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null - } - } - - if (!canPrev && !canNext && !canInner) { - clearMove(); - } 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 || (data.nodeIsParent(setting, tmpTargetNode) && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height() / 2) : (tmpNextA.offset().top - tmpArrow.height() / 2); - moveType = consts.move.TYPE_NEXT; - } else if (canInner) { - dX = 5 - tmpArrow.width(); - dY = tmpTop; - moveType = consts.move.TYPE_INNER; - } else { - clearMove(); - } - - if (tmpTarget) { - 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 && data.nodeIsParent(setting, tmpTargetNode) && 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 && data.nodeIsParent(setting, tmpTargetNode) && !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", ""); - 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 (data.nodeIsParent(setting, tmpNode) && 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, -1, newNodes); - } else { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes); - } - } else { - if (isCopy && moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, -1, newNodes); - } else if (isCopy) { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes); - } else { - 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); - - var a = $$(newNodes[0], setting).get(0); - view.scrollIntoView(setting, a); - - 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; - } - - // 2018-03-30 FireFox has fixed this issue. - //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 = $$("
                                                                                                                                                                                                                                                                                                                          ", 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 = ""; - 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 = ""; - 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), - node = root.curEditNode; - - if (node) { - var inputObj = root.curEditInput, - newName = forceName ? forceName : (isCancel ? data.nodeName(setting, node) : inputObj.val()); - if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) { - return false; - } - data.nodeName(setting, node, newName); - 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); - setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]); - } - 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; - } - node.editNameFlag = true; - view.removeTreeDom(setting, node); - view.cancelCurEditNode(setting); - view.selectNode(setting, node, false); - $$(node, consts.id.SPAN, setting).html(""); - var inputObj = $$(node, consts.id.INPUT, setting); - inputObj.attr("value", data.nodeName(setting, node)); - 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); - if (targetNode == node) return; - if (setting.data.keep.leaf && targetNode && !data.nodeIsParent(setting, targetNode) && 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 (!data.nodeIsParent(setting, targetNode)) { - data.nodeIsParent(setting, targetNode, 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, -1, 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; - var oldChildren = data.nodeChildren(setting, oldParentNode); - var targetParentChildren = data.nodeChildren(setting, targetParentNode); - var targetChildren = data.nodeChildren(setting, targetNode); - if (node.isFirstNode) { - tmpSrcIndex = 0; - if (oldChildren.length > 1) { - oldNeighbor = oldChildren[1]; - oldNeighbor.isFirstNode = true; - } - } else if (node.isLastNode) { - tmpSrcIndex = oldChildren.length - 1; - oldNeighbor = oldChildren[tmpSrcIndex - 1]; - oldNeighbor.isLastNode = true; - } else { - for (i = 0, l = oldChildren.length; i < l; i++) { - if (oldChildren[i].tId == node.tId) { - tmpSrcIndex = i; - break; - } - } - } - if (tmpSrcIndex >= 0) { - oldChildren.splice(tmpSrcIndex, 1); - } - if (moveType != consts.move.TYPE_INNER) { - for (i = 0, l = targetParentChildren.length; i < l; i++) { - if (targetParentChildren[i].tId == targetNode.tId) tmpTargetIndex = i; - } - } - if (moveType == consts.move.TYPE_INNER) { - if (!targetChildren) { - targetChildren = data.nodeChildren(setting, targetNode, []); - } - if (targetChildren.length > 0) { - newNeighbor = targetChildren[targetChildren.length - 1]; - newNeighbor.isLastNode = false; - } - targetChildren.splice(targetChildren.length, 0, node); - node.isLastNode = true; - node.isFirstNode = (targetChildren.length == 1); - } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) { - targetParentChildren.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) { - targetParentChildren.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) { - targetParentChildren.splice(tmpTargetIndex, 0, node); - } else { - targetParentChildren.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 && oldChildren.length < 1) { - //old parentNode has no child nodes - data.nodeIsParent(setting, oldParentNode, 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, index) { - 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/lib/zTree_v3/js/jquery.ztree.all.min.js b/lib/zTree_v3/js/jquery.ztree.all.min.js deleted file mode 100755 index b50f265..0000000 --- a/lib/zTree_v3/js/jquery.ztree.all.min.js +++ /dev/null @@ -1,166 +0,0 @@ - -/* - * JQuery zTree core v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(r){var J,K,L,M,N,O,v,t={},w={},x={},P={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:{isParent:"isParent",children:"children",name:"name",title:"",url:"url",icon:"icon"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post", -dataType:"text",headers:{},xhrFields:{},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}},y=[function(a){var b=a.treeObj,c=g.event;b.bind(c.NODECREATED, -function(b,c,i){h.apply(a.callback.onNodeCreated,[b,c,i])});b.bind(c.CLICK,function(b,c,i,e,k){h.apply(a.callback.onClick,[c,i,e,k])});b.bind(c.EXPAND,function(b,c,i){h.apply(a.callback.onExpand,[b,c,i])});b.bind(c.COLLAPSE,function(b,c,i){h.apply(a.callback.onCollapse,[b,c,i])});b.bind(c.ASYNC_SUCCESS,function(b,c,i,e){h.apply(a.callback.onAsyncSuccess,[b,c,i,e])});b.bind(c.ASYNC_ERROR,function(b,c,i,e,k,g){h.apply(a.callback.onAsyncError,[b,c,i,e,k,g])});b.bind(c.REMOVE,function(b,c,i){h.apply(a.callback.onRemove, -[b,c,i])});b.bind(c.SELECTED,function(b,c,i){h.apply(a.callback.onSelected,[c,i])});b.bind(c.UNSELECTED,function(b,c,i){h.apply(a.callback.onUnSelected,[c,i])})}],z=[function(a){var b=g.event;a.treeObj.unbind(b.NODECREATED).unbind(b.CLICK).unbind(b.EXPAND).unbind(b.COLLAPSE).unbind(b.ASYNC_SUCCESS).unbind(b.ASYNC_ERROR).unbind(b.REMOVE).unbind(b.SELECTED).unbind(b.UNSELECTED)}],A=[function(a){var b=e.getCache(a);b||(b={},e.setCache(a,b));b.nodes=[];b.doms=[]}],B=[function(a,b,c,d,f,i){if(c){var m= -e.getRoot(a),k=e.nodeChildren(a,c);c.level=b;c.tId=a.treeId+"_"+ ++m.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?h.eqs(c.open,"true"):!!c.open;b=e.nodeIsParent(a,c);h.isArray(k)?(e.nodeIsParent(a,c,!0),c.zAsync=!0):(b=e.nodeIsParent(a,c,b),c.open=b&&!a.async.enable?c.open:!1,c.zAsync=!b);c.isFirstNode=f;c.isLastNode=i;c.getParentNode=function(){return e.getNodeCache(a,c.parentTId)};c.getPreNode=function(){return e.getPreNode(a,c)};c.getNextNode=function(){return e.getNextNode(a,c)}; -c.getIndex=function(){return e.getNodeIndex(a,c)};c.getPath=function(){return e.getNodePath(a,c)};c.isAjaxing=!1;e.fixPIdKeyValue(a,c)}}],u=[function(a){var b=a.target,c=e.getSetting(a.data.treeId),d="",f=null,i="",m="",k=null,j=null,o=null;if(h.eqs(a.type,"mousedown"))m="mousedown";else if(h.eqs(a.type,"mouseup"))m="mouseup";else if(h.eqs(a.type,"contextmenu"))m="contextmenu";else if(h.eqs(a.type,"click"))if(h.eqs(b.tagName,"span")&&b.getAttribute("treeNode"+g.id.SWITCH)!==null)d=h.getNodeMainDom(b).id, -i="switchNode";else{if(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}]))d=h.getNodeMainDom(o).id,i="clickNode"}else if(h.eqs(a.type,"dblclick")&&(m="dblclick",o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id,i="switchNode";if(m.length>0&&d.length==0&&(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id;if(d.length>0)switch(f=e.getNodeCache(c,d),i){case "switchNode":e.nodeIsParent(c,f)?h.eqs(a.type,"click")||h.eqs(a.type, -"dblclick")&&h.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?k=J:i="":i="";break;case "clickNode":k=K}switch(m){case "mousedown":j=L;break;case "mouseup":j=M;break;case "dblclick":j=N;break;case "contextmenu":j=O}return{stop:!1,node:f,nodeEventType:i,nodeEventCallback:k,treeEventType:m,treeEventCallback:j}}],C=[function(a){var b=e.getRoot(a);b||(b={},e.setRoot(a,b));e.nodeChildren(a,b,[]);b.expandTriggerFlag=!1;b.curSelectedList=[];b.noSelection=!0;b.createdNodes=[];b.zId=0;b._ver= -(new Date).getTime()}],D=[],E=[],F=[],G=[],H=[],e={addNodeCache:function(a,b){e.getCache(a).nodes[e.getNodeCacheId(b.tId)]=b},getNodeCacheId:function(a){return a.substring(a.lastIndexOf("_")+1)},addAfterA:function(a){E.push(a)},addBeforeA:function(a){D.push(a)},addInnerAfterA:function(a){G.push(a)},addInnerBeforeA:function(a){F.push(a)},addInitBind:function(a){y.push(a)},addInitUnBind:function(a){z.push(a)},addInitCache:function(a){A.push(a)},addInitNode:function(a){B.push(a)},addInitProxy:function(a, -b){b?u.splice(0,0,a):u.push(a)},addInitRoot:function(a){C.push(a)},addNodesData:function(a,b,c,d){var f=e.nodeChildren(a,b);f?c>=f.length&&(c=-1):(f=e.nodeChildren(a,b,[]),c=-1);if(f.length>0&&c===0)f[0].isFirstNode=!1,j.setNodeLineIcos(a,f[0]);else if(f.length>0&&c<0)f[f.length-1].isLastNode=!1,j.setNodeLineIcos(a,f[f.length-1]);e.nodeIsParent(a,b,!0);c<0?e.nodeChildren(a,b,f.concat(d)):(a=[c,0].concat(d),f.splice.apply(f,a))},addSelectedNode:function(a,b){var c=e.getRoot(a);e.isSelectedNode(a,b)|| -c.curSelectedList.push(b)},addCreatedNode:function(a,b){(a.callback.onNodeCreated||a.view.addDiyDom)&&e.getRoot(a).createdNodes.push(b)},addZTreeTools:function(a){H.push(a)},exSetting:function(a){r.extend(!0,P,a)},fixPIdKeyValue:function(a,b){a.data.simpleData.enable&&(b[a.data.simpleData.pIdKey]=b.parentTId?b.getParentNode()[a.data.simpleData.idKey]:a.data.simpleData.rootPId)},getAfterA:function(a,b,c){for(var d=0,e=E.length;d-1&&f.push(k);k=e.nodeChildren(a, -k);f=f.concat(e.getNodesByParamFuzzy(a,k,c,d))}return f},getNodesByFilter:function(a,b,c,d,f){if(!b)return d?null:[];for(var i=d?null:[],m=0,k=b.length;m0)},clone:function(a){if(a===null)return null;var b=h.isArray(a)?[]:{},c;for(c in a)b[c]=a[c]instanceof Date?new Date(a[c].getTime()):typeof a[c]==="object"?h.clone(a[c]):a[c];return b},eqs:function(a,b){return a.toLowerCase()===b.toLowerCase()},isArray:function(a){return Object.prototype.toString.apply(a)==="[object Array]"},isElement:function(a){return typeof HTMLElement==="object"?a instanceof HTMLElement:a&&typeof a==="object"&&a!==null&& -a.nodeType===1&&typeof a.nodeName==="string"},$:function(a,b,c){b&&typeof b!="string"&&(c=b,b="");return typeof a=="string"?r(a,c?c.treeObj.get(0).ownerDocument:null):r("#"+a.tId+b,c?c.treeObj:null)},getMDom:function(a,b,c){if(!b)return null;for(;b&&b.id!==a.treeId;){for(var d=0,e=c.length;b.tagName&&d0},uCanDo:function(){return!0}},j={addNodes:function(a,b,c,d,f){var i=e.nodeIsParent(a,b);if(!a.data.keep.leaf||!b||i)if(h.isArray(d)||(d=[d]),a.data.simpleData.enable&&(d=e.transformTozTreeFormat(a,d)),b){var i=l(b,g.id.SWITCH,a),m=l(b,g.id.ICON,a),k=l(b,g.id.UL,a);if(!b.open)j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,m,g.folder.CLOSE),b.open=!1,k.css({display:"none"});e.addNodesData(a,b,c,d);j.createNodes(a,b.level+ -1,d,b,c);f||j.expandCollapseParentNode(a,b,!0)}else e.addNodesData(a,e.getRoot(a),c,d),j.createNodes(a,0,d,null,c)},appendNodes:function(a,b,c,d,f,i,g){if(!c)return[];var k=[],h=d?d:e.getRoot(a),h=e.nodeChildren(a,h),o,l;if(!h||f>=h.length-c.length)f=-1;for(var s=0,n=c.length;s0&&(l=j.appendNodes(a,b+1,I,p,-1, -i,g&&p.open));g&&(j.makeDOMNodeMainBefore(k,a,p),j.makeDOMNodeLine(k,a,p),e.getBeforeA(a,p,k),j.makeDOMNodeNameBefore(k,a,p),e.getInnerBeforeA(a,p,k),j.makeDOMNodeIcon(k,a,p),e.getInnerAfterA(a,p,k),j.makeDOMNodeNameAfter(k,a,p),e.getAfterA(a,p,k),o&&p.open&&j.makeUlHtml(a,p,k,l.join("")),j.makeDOMNodeMainAfter(k,a,p),e.addCreatedNode(a,p))}return k},appendParentULDom:function(a,b){var c=[],d=l(b,a);!d.get(0)&&b.parentTId&&(j.appendParentULDom(a,b.getParentNode()),d=l(b,a));var f=l(b,g.id.UL,a);f.get(0)&& -f.remove();f=e.nodeChildren(a,b);f=j.appendNodes(a,b.level+1,f,b,-1,!1,!0);j.makeUlHtml(a,b,c,f.join(""));d.append(c.join(""))},asyncNode:function(a,b,c,d){var f,i;f=e.nodeIsParent(a,b);if(b&&!f)return h.apply(d),!1;else if(b&&b.isAjaxing)return!1;else if(h.apply(a.callback.beforeAsync,[a.treeId,b],!0)==!1)return h.apply(d),!1;if(b)b.isAjaxing=!0,l(b,g.id.ICON,a).attr({style:"","class":g.className.BUTTON+" "+g.className.ICO_LOADING});var m={},k=h.apply(a.async.autoParam,[a.treeId,b],a.async.autoParam); -for(f=0,i=k.length;b&&f1&&(o=q[1],q=q[0]);m[o]=b[q]}k=h.apply(a.async.otherParam,[a.treeId,b],a.async.otherParam);if(h.isArray(k))for(f=0,i=k.length;f-1?JSON.stringify(m):m,dataType:a.async.dataType,headers:a.async.headers, -xhrFields:a.async.xhrFields,success:function(i){if(s==e.getRoot(a)._ver){var f=[];try{f=!i||i.length==0?[]:typeof i=="string"?eval("("+i+")"):i}catch(k){f=i}if(b)b.isAjaxing=null,b.zAsync=!0;j.setNodeLineIcos(a,b);f&&f!==""?(f=h.apply(a.async.dataFilter,[a.treeId,b,f],f),j.addNodes(a,b,-1,f?h.clone(f):[],!!c)):j.addNodes(a,b,-1,[],!!c);a.treeObj.trigger(g.event.ASYNC_SUCCESS,[a.treeId,b,i]);h.apply(d)}},error:function(c,d,i){if(s==e.getRoot(a)._ver){if(b)b.isAjaxing=null;j.setNodeLineIcos(a,b);a.treeObj.trigger(g.event.ASYNC_ERROR, -[a.treeId,b,c,d,i])}}});return!0},cancelPreSelectedNode:function(a,b,c){var d=e.getRoot(a).curSelectedList,f,i;for(f=d.length-1;f>=0;f--)if(i=d[f],b===i||!b&&(!c||c!==i))if(l(i,g.id.A,a).removeClass(g.node.CURSELECTED),b){e.removeSelectedNode(a,b);break}else d.splice(f,1),a.treeObj.trigger(g.event.UNSELECTED,[a.treeId,i])},createNodeCallback:function(a){if(a.callback.onNodeCreated||a.view.addDiyDom)for(var b=e.getRoot(a);b.createdNodes.length>0;){var c=b.createdNodes.shift();h.apply(a.view.addDiyDom, -[a.treeId,c]);a.callback.onNodeCreated&&a.treeObj.trigger(g.event.NODECREATED,[a.treeId,c])}},createNodes:function(a,b,c,d,f){if(c&&c.length!=0){var i=e.getRoot(a),m=!d||d.open||!!l(e.nodeChildren(a,d)[0],a).get(0);i.createdNodes=[];var b=j.appendNodes(a,b,c,d,f,!0,m),k,h;d?(d=l(d,g.id.UL,a),d.get(0)&&(k=d)):k=a.treeObj;k&&(f>=0&&(h=k.children()[f]),f>=0&&h?r(h).before(b.join("")):k.append(b.join("")));j.createNodeCallback(a)}},destroy:function(a){a&&(e.initCache(a),e.initRoot(a),n.unbindTree(a), -n.unbindEvent(a),a.treeObj.empty(),delete t[a.treeId])},expandCollapseNode:function(a,b,c,d,f){var i=e.getRoot(a),m;if(b){var k=e.nodeChildren(a,b),q=e.nodeIsParent(a,b);if(i.expandTriggerFlag)m=f,f=function(){m&&m();b.open?a.treeObj.trigger(g.event.EXPAND,[a.treeId,b]):a.treeObj.trigger(g.event.COLLAPSE,[a.treeId,b])},i.expandTriggerFlag=!1;if(!b.open&&q&&(!l(b,g.id.UL,a).get(0)||k&&k.length>0&&!l(k[0],a).get(0)))j.appendParentULDom(a,b),j.createNodeCallback(a);if(b.open==c)h.apply(f,[]);else{var c= -l(b,g.id.UL,a),i=l(b,g.id.SWITCH,a),o=l(b,g.id.ICON,a);q?(b.open=!b.open,b.iconOpen&&b.iconClose&&o.attr("style",j.makeNodeIcoStyle(a,b)),b.open?(j.replaceSwitchClass(b,i,g.folder.OPEN),j.replaceIcoClass(b,o,g.folder.OPEN),d==!1||a.view.expandSpeed==""?(c.show(),h.apply(f,[])):k&&k.length>0?c.slideDown(a.view.expandSpeed,f):(c.show(),h.apply(f,[]))):(j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,o,g.folder.CLOSE),d==!1||a.view.expandSpeed==""||!(k&&k.length>0)?(c.hide(),h.apply(f,[])): -c.slideUp(a.view.expandSpeed,f))):h.apply(f,[])}}else h.apply(f,[])},expandCollapseParentNode:function(a,b,c,d,e){b&&(b.parentTId?(j.expandCollapseNode(a,b,c,d),b.parentTId&&j.expandCollapseParentNode(a,b.getParentNode(),c,d,e)):j.expandCollapseNode(a,b,c,d,e))},expandCollapseSonNode:function(a,b,c,d,f){var i=e.getRoot(a),i=b?e.nodeChildren(a,b):e.nodeChildren(a,i),g=b?!1:d,k=e.getRoot(a).expandTriggerFlag;e.getRoot(a).expandTriggerFlag=!1;if(i)for(var h=0,l=i.length;h=0;d--)if(b===c[d])return!0;return!1},makeDOMNodeIcon:function(a,b,c){var d=e.nodeName(b,c),d=b.view.nameIsHTML?d:d.replace(/&/g,"&").replace(//g,">");a.push("",d,"")},makeDOMNodeLine:function(a,b,c){a.push("")},makeDOMNodeMainAfter:function(a){a.push("
                                                                                                                                                                                                                                                                                                                        • ")},makeDOMNodeMainBefore:function(a,b,c){a.push("
                                                                                                                                                                                                                                                                                                                        • ")},makeDOMNodeNameAfter:function(a){a.push("")},makeDOMNodeNameBefore:function(a,b,c){var d= -e.nodeTitle(b,c),f=j.makeNodeUrl(b,c),i=j.makeNodeFontCss(b,c),m=[],k;for(k in i)m.push(k,":",i[k],";");a.push("0?"href='"+f+"'":""," target='",j.makeNodeTarget(c),"' style='",m.join(""),"'");h.apply(b.view.showTitle,[b.treeId,c],b.view.showTitle)&&d&&a.push("title='",d.replace(/'/g,"'").replace(//g,">"),"'");a.push(">")},makeNodeFontCss:function(a, -b){var c=h.apply(a.view.fontCss,[a.treeId,b],a.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(a,b){var c=["ico"];if(!b.isAjaxing){var d=e.nodeIsParent(a,b);c[0]=(b.iconSkin?b.iconSkin+"_":"")+c[0];d?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU)}return g.className.BUTTON+" "+c.join("_")},makeNodeIcoStyle:function(a,b){var c=[];if(!b.isAjaxing){var d=e.nodeIsParent(a,b)&&b.iconOpen&&b.iconClose?b.open?b.iconOpen:b.iconClose:b[a.data.key.icon];d&&c.push("background:url(", -d,") 0 0 no-repeat;");(a.view.showIcon==!1||!h.apply(a.view.showIcon,[a.treeId,b],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(a,b){var c=[];a.view.showLine?b.level==0&&b.isFirstNode&&b.isLastNode?c.push(g.line.ROOT):b.level==0&&b.isFirstNode?c.push(g.line.ROOTS):b.isLastNode?c.push(g.line.BOTTOM):c.push(g.line.CENTER):c.push(g.line.NOLINE);e.nodeIsParent(a,b)?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU);return j.makeNodeLineClassEx(b)+c.join("_")}, -makeNodeLineClassEx:function(a){return g.className.BUTTON+" "+g.className.LEVEL+a.level+" "+g.className.SWITCH+" "},makeNodeTarget:function(a){return a.target||"_blank"},makeNodeUrl:function(a,b){var c=a.data.key.url;return b[c]?b[c]:null},makeUlHtml:function(a,b,c,d){c.push("
                                                                                                                                                                                                                                                                                                                            ");c.push(d);c.push("
                                                                                                                                                                                                                                                                                                                          ")},makeUlLineClass:function(a,b){return a.view.showLine&&!b.isLastNode? -g.line.LINE:""},removeChildNodes:function(a,b){if(b){var c=e.nodeChildren(a,b);if(c){for(var d=0,f=c.length;dc.bottom||d.right>c.right||d.left0)c[0].isFirstNode= -!0},setLastNode:function(a,b){var c=e.nodeChildren(a,b);if(c.length>0)c[c.length-1].isLastNode=!0},removeNode:function(a,b){var c=e.getRoot(a),d=b.parentTId?b.getParentNode():c;b.isFirstNode=!1;b.isLastNode=!1;b.getPreNode=function(){return null};b.getNextNode=function(){return null};if(e.getNodeCache(a,b.tId)){l(b,a).remove();e.removeNodeCache(a,b);e.removeSelectedNode(a,b);for(var f=e.nodeChildren(a,d),i=0,h=f.length;i0){var q=f[i-1],i=l(q,g.id.UL,a),h=l(q,g.id.SWITCH,a);k=l(q,g.id.ICON,a);d==c?f.length==1?j.replaceSwitchClass(q,h,g.line.ROOT):(c=l(f[0],g.id.SWITCH,a),j.replaceSwitchClass(f[0],c,g.line.ROOTS),j.replaceSwitchClass(q, -h,g.line.BOTTOM)):j.replaceSwitchClass(q,h,g.line.BOTTOM);i.removeClass(g.line.LINE)}}},replaceIcoClass:function(a,b,c){if(b&&!a.isAjaxing&&(a=b.attr("class"),a!=void 0)){a=a.split("_");switch(c){case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:a[a.length-1]=c}b.attr("class",a.join("_"))}},replaceSwitchClass:function(a,b,c){if(b){var d=b.attr("class");if(d!=void 0){d=d.split("_");switch(c){case g.line.ROOT:case g.line.ROOTS:case g.line.CENTER:case g.line.BOTTOM:case g.line.NOLINE:d[0]=j.makeNodeLineClassEx(a)+ -c;break;case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:d[1]=c}b.attr("class",d.join("_"));c!==g.folder.DOCU?b.removeAttr("disabled"):b.attr("disabled","disabled")}}},selectNode:function(a,b,c){c||j.cancelPreSelectedNode(a,null,b);l(b,g.id.A,a).addClass(g.node.CURSELECTED);e.addSelectedNode(a,b);a.treeObj.trigger(g.event.SELECTED,[a.treeId,b])},setNodeFontCss:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeFontCss(a,b);d&&c.css(d)},setNodeLineIcos:function(a,b){if(b){var c=l(b,g.id.SWITCH, -a),d=l(b,g.id.UL,a),f=l(b,g.id.ICON,a),i=j.makeUlLineClass(a,b);i.length==0?d.removeClass(g.line.LINE):d.addClass(i);c.attr("class",j.makeNodeLineClass(a,b));e.nodeIsParent(a,b)?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",j.makeNodeIcoStyle(a,b));f.attr("class",j.makeNodeIcoClass(a,b))}},setNodeName:function(a,b){var c=e.nodeTitle(a,b),d=l(b,g.id.SPAN,a);d.empty();a.view.nameIsHTML?d.html(e.nodeName(a,b)):d.text(e.nodeName(a,b));h.apply(a.view.showTitle, -[a.treeId,b],a.view.showTitle)&&l(b,g.id.A,a).attr("title",!c?"":c)},setNodeTarget:function(a,b){l(b,g.id.A,a).attr("target",j.makeNodeTarget(b))},setNodeUrl:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeUrl(a,b);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(a,b){b.open||!h.canAsync(a,b)?j.expandCollapseNode(a,b,!b.open):a.async.enable?j.asyncNode(a,b)||j.expandCollapseNode(a,b,!b.open):b&&j.expandCollapseNode(a,b,!b.open)}};r.fn.zTree={consts:{className:{BUTTON:"button", -LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch",NAME:"node_name"},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",SELECTED:"ztree_selected",UNSELECTED:"ztree_unselected"},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:h,view:j,event:n,data:e},getZTreeObj:function(a){return(a=e.getZTreeTools(a))?a:null},destroy:function(a){if(a&&a.length>0)j.destroy(e.getSetting(a));else for(var b in t)j.destroy(t[b])},init:function(a,b,c){var d=h.clone(P);r.extend(!0,d,b);d.treeId=a.attr("id");d.treeObj=a;d.treeObj.empty();t[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed="";e.initRoot(d);a=e.getRoot(d);c=c?h.clone(h.isArray(c)? -c:[c]):[];d.data.simpleData.enable?e.nodeChildren(d,a,e.transformTozTreeFormat(d,c)):e.nodeChildren(d,a,c);e.initCache(d);n.unbindTree(d);n.bindTree(d);n.unbindEvent(d);n.bindEvent(d);var f={setting:d,addNodes:function(a,b,c,f){function g(){j.addNodes(d,a,b,n,f==!0)}a||(a=null);var l=e.nodeIsParent(d,a);if(a&&!l&&d.data.keep.leaf)return null;l=parseInt(b,10);isNaN(l)?(f=!!c,c=b,b=-1):b=l;if(!c)return null;var n=h.clone(h.isArray(c)?c:[c]);h.canAsync(d,a)?j.asyncNode(d,a,f,g):g();return n},cancelSelectedNode:function(a){j.cancelPreSelectedNode(d, -a)},destroy:function(){j.destroy(d)},expandAll:function(a){a=!!a;j.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,f,g){function n(){var b=l(a,d).get(0);b&&f!==!1&&j.scrollIntoView(d,b)}if(!a||!e.nodeIsParent(d,a))return null;b!==!0&&b!==!1&&(b=!a.open);if((g=!!g)&&b&&h.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(g&&!b&&h.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&j.expandCollapseParentNode(d,a.getParentNode(), -b,!1);if(b===a.open&&!c)return null;e.getRoot(d).expandTriggerFlag=g;!h.canAsync(d,a)&&c?j.expandCollapseSonNode(d,a,b,!0,n):(a.open=!b,j.switchNode(this.setting,a),n());return b},getNodes:function(){return e.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:e.getNodeByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodeByTId:function(a){return e.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:e.getNodesByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByParamFuzzy:function(a, -b,c){return!a?null:e.getNodesByParamFuzzy(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,f){b=!!b;return!a||typeof a!="function"?b?null:[]:e.getNodesByFilter(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b,f)},getNodeIndex:function(a){if(!a)return null;for(var b=a.parentTId?a.getParentNode():e.getRoot(d),b=e.nodeChildren(d,b),c=0,f=b.length;c0?j.createNodes(d,0,c,null,-1):d.async.enable&&d.async.url&&d.async.url!==""&&j.asyncNode(d);return f}};var Q=r.fn.zTree,l=h.$,g=Q.consts})(jQuery); - -/* - * JQuery zTree excheck v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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);if(i.apply(b.callback.beforeCheck,[b.treeId,a],!0)==!1)return!0;var d=f.nodeChecked(b,a);f.nodeChecked(b,a,!d);e.checkNodeRelation(b,a);d=n(a,h.id.CHECK,b);e.setChkClass(b,d,a);e.repairParentChkClassWithSelf(b,a);b.treeObj.trigger(h.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,h.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,h.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,j;d=h.radio;b=f.nodeChecked(c,a);if(c.check.chkStyle==d.STYLE){var g=f.getRadioCheckedList(c);if(b)if(c.check.radioType==d.TYPE_ALL){for(d=g.length-1;d>=0;d--){b=g[d];var k=f.nodeChecked(c,b);k&&b!=a&&(f.nodeChecked(c,b,!1),g.splice(d,1),e.setChkClass(c, -n(b,h.id.CHECK,c),b),b.parentTId!=a.parentTId&&e.repairParentChkClassWithSelf(c,b))}g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);g=f.nodeChildren(c,g);for(d=0,j=g.length;d-1)&&e.setSonNodeCheckBox(c,a, -!0),!b&&(!g||g.length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!1),b&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!b&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=h.checkbox,d=h.radio,j="",g=f.nodeChecked(c,a),j=a.chkDisabled===!0?b.DISABLED:a.halfCheck?b.PART:c.check.chkStyle==d.STYLE?a.check_Child_State<1?b.FULL:b.PART:g?a.check_Child_State===2||a.check_Child_State===-1?b.FULL:b.PART: -a.check_Child_State<1?b.FULL:b.PART,d=c.check.chkStyle+"_"+(g?b.TRUE:b.FALSE)+"_"+j,d=a.check_Focus&&a.chkDisabled!==!0?d+"_"+b.FOCUS:d;return h.className.BUTTON+" "+b.DEFAULT+" "+d},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===h.checkbox.STYLE)for(var b=f.getRoot(c),b=f.nodeChildren(c,b),d=0,j=b.length;d0?e.repairParentChkClass(c,b[0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if((a=f.nodeChildren(c,a))&&d)for(var j=0,g=a.length;j0){j=!1;break}}j&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var j=n(a,h.id.CHECK,c);d||(d=a);var g=!1,k=f.nodeChildren(c,a);if(k)for(var i=0,l=k.length;i0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,j,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(h.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var j=b&&c.check.chkStyle==h.radio.STYLE&&c.check.radioType==h.radio.TYPE_ALL,d=!d?[]:d,g=0,e=a.length;g0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var b=!b?[]:b,d=0,j=a.length;d0?2:0,l==2){b=2;break}else l==0&&(b=0);else if(c.check.chkStyle==h.checkbox.STYLE)if(l=e.nocheck===!0||e.chkDisabled===!0?e.check_Child_State:e.halfCheck===!0?1:i?e.check_Child_State===-1||e.check_Child_State===2?2:1:e.check_Child_State>0?1:0,l===1){b=1;break}else if(l===2&&b>-1&&j>0&&l!== -b){b=1;break}else if(b===2&&l>-1&&l<2){b=1;break}else l>-1&&(b=l)}a.check_Child_State=b}}}});var m=m.fn.zTree,i=m._z.tools,h=m.consts,e=m._z.view,f=m._z.data,n=i.$;f.nodeChecked=function(c,a,b){if(!a)return!1;c=c.data.key.checked;typeof b!=="undefined"?(typeof b==="string"&&(b=i.eqs(b,"true")),a[c]=!!b):a[c]=typeof a[c]=="string"?i.eqs(a[c],"true"):!!a[c];return a[c]};f.exSetting(v);f.addInitBind(function(c){c.treeObj.bind(h.event.CHECK,function(a,b,d,e){a.srcEvent=b;i.apply(c.callback.onCheck,[a, -d,e])})});f.addInitUnBind(function(c){c.treeObj.unbind(h.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=f.nodeChecked(c,b);b.checkedOld=a;if(typeof b.nocheck=="string")b.nocheck=i.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=i.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=i.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==h.radio.STYLE&&c.check.radioType==h.radio.TYPE_ALL&&a&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",e=null,g="",k=null;if(i.eqs(c.type,"mouseover")){if(b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="mouseoverCheck"}else if(i.eqs(c.type, -"mouseout")){if(b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="mouseoutCheck"}else if(i.eqs(c.type,"click")&&b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="checkNode";if(d.length>0)switch(e=f.getNodeCache(b,d),g){case "checkNode":k=p;break;case "mouseoverCheck":k=q;break;case "mouseoutCheck":k=r}return{stop:g==="checkNode",node:e,nodeEventType:g,nodeEventCallback:k, -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(""))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,g,k){var m=f.nodeChecked(c,a);if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!m),k=!!k,(m!==b||g)&&!(k&&i.apply(this.setting.callback.beforeCheck, -[this.setting.treeId,a],!0)==!1)&&i.uCanDo(this.setting)&&this.setting.check.enable&&a.nocheck!==!0))f.nodeChecked(c,a,b),b=n(a,h.id.CHECK,this.setting),(g||this.setting.check.chkStyle===h.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),k&&this.setting.treeObj.trigger(h.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var a=a!==!1,b= -f.nodeChildren(c,f.getRoot(this.setting));return f.getTreeCheckedNodes(this.setting,b,a)};a.getChangeCheckedNodes=function(){var a=f.nodeChildren(c,f.getRoot(this.setting));return f.getTreeChangeCheckedNodes(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)&& -i.uCanDo(this.setting)){var g=n(c,h.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle===h.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,g,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d,f){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,g,i){var m="";u&&(m=u.apply(e,arguments));d&&f.makeChkFlag(c,d);return m}})(jQuery); - -/* - * JQuery zTree exedit v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(B){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"}},v={onHoverOverNode:function(a,b){var c=i.getSetting(a.data.treeId),d=i.getRoot(c);if(d.curHoverNode!=b)v.onHoverOutNode(a);d.curHoverNode=b;e.addHoverDom(c,b)},onHoverOutNode:function(a){var a= -i.getSetting(a.data.treeId),b=i.getRoot(a);if(b.curHoverNode&&!i.isSelectedNode(a,b.curHoverNode))e.removeTreeDom(a,b.curHoverNode),b.curHoverNode=null},onMousedownNode:function(a,b){function c(a){if(m.dragFlag==0&&Math.abs(N-a.clientX)1){var o=n[0].parentTId?i.nodeChildren(f,n[0].getParentNode()):i.getNodes(f);g=[];for(b=0,c=o.length;b-1&&p+1!==b&&(j=!1),g.push(o[b]),p=b),n.length===g.length){n=g;break}}j&&(H=n[0].getPreNode(),Q=n[n.length-1].getNextNode());C=q("
                                                                                                                                                                                                                                                                                                                            ", -f);for(b=0,c=n.length;b0),e.removeTreeDom(f,g),b>f.edit.drag.maxShowNodeNum-1||(j=q("
                                                                                                                                                                                                                                                                                                                          • ",f),j.append(q(g,d.id.A,f).clone()),j.css("padding","0"),j.children("#"+g.tId+d.id.A).removeClass(d.node.CURSELECTED),C.append(j),b==f.edit.drag.maxShowNodeNum-1&&(j=q("
                                                                                                                                                                                                                                                                                                                          • ...
                                                                                                                                                                                                                                                                                                                          • ",f),C.append(j)));C.attr("id",n[0].tId+d.id.UL+"_tmp");C.addClass(f.treeObj.attr("class"));C.appendTo(L);u=q("", -f);u.attr("id","zTreeMove_arrow_tmp");u.appendTo(L);f.treeObj.trigger(d.event.DRAG,[a,f.treeId,n])}if(m.dragFlag==1){t&&u.attr("id")==a.target.id&&w&&a.clientX+G.scrollLeft()+2>B("#"+w+d.id.A,t).offset().left?(g=B("#"+w+d.id.A,t),a.target=g.length>0?g.get(0):a.target):t&&(t.removeClass(d.node.TMPTARGET_TREE),w&&B("#"+w+d.id.A,t).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)); -w=t=null;J=!1;h=f;g=i.getSettings();for(var z in g)if(g[z].treeId&&g[z].edit.enable&&g[z].treeId!=f.treeId&&(a.target.id==g[z].treeId||B(a.target).parents("#"+g[z].treeId).length>0))J=!0,h=g[z];z=G.scrollTop();j=G.scrollLeft();p=h.treeObj.offset();b=h.treeObj.get(0).scrollHeight;g=h.treeObj.get(0).scrollWidth;c=a.clientY+z-p.top;var E=h.treeObj.height()+p.top-a.clientY-z,r=a.clientX+j-p.left,s=h.treeObj.width()+p.left-a.clientX-j,p=cf.edit.drag.borderMin,o=Ef.edit.drag.borderMin,F=rf.edit.drag.borderMin,v=sf.edit.drag.borderMin,E=c>f.edit.drag.borderMin&&E>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&s>f.edit.drag.borderMin,r=p&&h.treeObj.scrollTop()<=0,s=o&&h.treeObj.scrollTop()+h.treeObj.height()+10>=b,M=F&&h.treeObj.scrollLeft()<=0,P=v&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=g;if(a.target&&k.isChildOrSelf(a.target,h.treeId)){for(var D=a.target;D&&D.tagName&&!k.eqs(D.tagName,"li")&&D.id!= -h.treeId;)D=D.parentNode;var R=!0;for(b=0,c=n.length;b0){R=!1;break}if(R&&a.target&&k.isChildOrSelf(a.target,D.id+d.id.A))t=B(D),w=D.id}g=n[0];if(E&&k.isChildOrSelf(a.target,h.treeId)){if(!t&&(a.target.id==h.treeId||r||s||M||P)&&(J||!J&&g.parentTId))t=h.treeObj;p?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):o&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);F?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-10):v&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+ -10);t&&t!=h.treeObj&&t.offset().left=-0.2)&&g?(j=1-u.width(),b=E-u.height()/2,x=d.move.TYPE_PREV):(M==0||z>=M&&z<=1.2)&&c?(j=1-u.width(),b=v==null||i.nodeIsParent(f,A)&&A.open?E+F.height()-u.height()/2:v.offset().top-u.height()/2,x=d.move.TYPE_NEXT):p?(j=5-u.width(),b=E,x=d.move.TYPE_INNER):o(),t){u.css({display:"block",top:b+"px",left:r+j+"px"});F.addClass(d.node.TMPTARGET_NODE+"_"+x);if(S!=w||T!=x)K=(new Date).getTime();if(A&&i.nodeIsParent(f, -A)&&x==d.move.TYPE_INNER&&(z=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==A.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===A.tId&&(z=!1),z))window.zTreeMoveTimer=setTimeout(function(){x==d.move.TYPE_INNER&&A&&i.nodeIsParent(f,A)&&!A.open&&(new Date).getTime()-K>h.edit.drag.autoOpenTime&&k.apply(h.callback.beforeDragOpen,[h.treeId,A],!0)&&(e.switchNode(h,A),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND, -[h.treeId,A]))},h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=A.tId}}else if(x=d.move.TYPE_INNER,t&&k.apply(h.edit.drag.inner,[h.treeId,n,null],!!h.edit.drag.inner)?t.addClass(d.node.TMPTARGET_TREE):t=null,u.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;S=w;T=x;f.treeObj.trigger(d.event.DRAGMOVE,[a,f.treeId,n])}return!1}function l(a){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId= -null;T=S=null;G.unbind("mousemove",c);G.unbind("mouseup",l);G.unbind("selectstart",g);L.css("cursor","");t&&(t.removeClass(d.node.TMPTARGET_TREE),w&&B("#"+w+d.id.A,t).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));k.showIfameMask(f,!1);y.showHoverDom=!0;if(m.dragFlag!=0){m.dragFlag=0;var b,j,o;for(b=0,j=n.length;b0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(b)for(var d=q("iframe",a),g=0,e=d.length;g
                                                                                                                                                                                                                                                                                                                            ",a);j.appendTo(q("body",a));c.dragMaskList.push(j)}}},view:{addEditBtn:function(a,b){if(!(b.editNameFlag|| -q(b,d.id.EDIT,a).length>0)&&k.apply(a.edit.showRenameBtn,[a.treeId,b],a.edit.showRenameBtn)){var c=q(b,d.id.A,a),l="";c.append(l);q(b,d.id.EDIT,a).bind("click",function(){if(!k.uCanDo(a)||k.apply(a.callback.beforeEditName,[a.treeId,b],!0)==!1)return!1;e.editNode(a,b);return!1}).show()}},addRemoveBtn:function(a, -b){if(!(b.editNameFlag||q(b,d.id.REMOVE,a).length>0)&&k.apply(a.edit.showRemoveBtn,[a.treeId,b],a.edit.showRemoveBtn)){var c=q(b,d.id.A,a),l="";c.append(l);q(b,d.id.REMOVE,a).bind("click",function(){if(!k.uCanDo(a)||k.apply(a.callback.beforeRemove,[a.treeId,b],!0)==!1)return!1;e.removeNode(a,b);a.treeObj.trigger(d.event.REMOVE, -[a.treeId,b]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(a,b){if(i.getRoots().showHoverDom)b.isHover=!0,a.edit.enable&&(e.addEditBtn(a,b),e.addRemoveBtn(a,b)),k.apply(a.view.addHoverDom,[a.treeId,b])},cancelCurEditNode:function(a,b,c){var l=i.getRoot(a),g=l.curEditNode;if(g){var o=l.curEditInput,b=b?b:c?i.nodeName(a,g):o.val();if(k.apply(a.callback.beforeRename,[a.treeId,g,b,c],!0)===!1)return!1;i.nodeName(a,g,b);q(g,d.id.A,a).removeClass(d.node.CURSELECTED_EDIT); -o.unbind();e.setNodeName(a,g);g.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;e.selectNode(a,g,!1);a.treeObj.trigger(d.event.RENAME,[a.treeId,g,c])}return l.noSelection=!0},editNode:function(a,b){var c=i.getRoot(a);e.editNodeBlur=!1;if(i.isSelectedNode(a,b)&&c.curEditNode==b&&b.editNameFlag)setTimeout(function(){k.inputFocus(c.curEditInput)},0);else{b.editNameFlag=!0;e.removeTreeDom(a,b);e.cancelCurEditNode(a);e.selectNode(a,b,!1);q(b,d.id.SPAN,a).html("");var l=q(b,d.id.INPUT,a);l.attr("value",i.nodeName(a,b));a.edit.editNameSelectAll?k.inputSelect(l):k.inputFocus(l);l.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(a)}).bind("keydown",function(b){b.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(a)):b.keyCode=="27"&&e.cancelCurEditNode(a,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});q(b,d.id.A,a).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=l; -c.noSelection=!1;c.curEditNode=b}},moveNode:function(a,b,c,l,g,k){var j=i.getRoot(a);if(b!=c&&(!a.data.keep.leaf||!b||i.nodeIsParent(a,b)||l!=d.move.TYPE_INNER)){var f=c.parentTId?c.getParentNode():j,m=b===null||b==j;m&&b===null&&(b=j);if(m)l=d.move.TYPE_INNER;j=b.parentTId?b.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(m)c.parentTId=null;else{if(!i.nodeIsParent(a,b))i.nodeIsParent(a,b,!0),b.open=!!b.open,e.setNodeLineIcos(a,b);c.parentTId= -b.tId}var y;m?y=m=a.treeObj:(!k&&l==d.move.TYPE_INNER?e.expandCollapseNode(a,b,!0,!1):k||e.expandCollapseNode(a,b.getParentNode(),!0,!1),m=q(b,a),y=q(b,d.id.UL,a),m.get(0)&&!y.get(0)&&(y=[],e.makeUlHtml(a,b,y,""),m.append(y.join(""))),y=q(b,d.id.UL,a));var r=q(c,a);r.get(0)?m.get(0)||r.remove():r=e.appendNodes(a,c.level,[c],null,-1,!1,!0).join("");y.get(0)&&l==d.move.TYPE_INNER?y.append(r):m.get(0)&&l==d.move.TYPE_PREV?m.before(r):m.get(0)&&l==d.move.TYPE_NEXT&&m.after(r);var s;y=-1;var r=0,n=null, -m=null,B=c.level,v=i.nodeChildren(a,f),C=i.nodeChildren(a,j),u=i.nodeChildren(a,b);if(c.isFirstNode){if(y=0,v.length>1)n=v[1],n.isFirstNode=!0}else if(c.isLastNode)y=v.length-1,n=v[y-1],n.isLastNode=!0;else for(j=0,s=v.length;j=0&&v.splice(y,1);if(l!=d.move.TYPE_INNER)for(j=0,s=C.length;j0)m=u[u.length-1],m.isLastNode=!1;u.splice(u.length,0,c);c.isLastNode=!0;c.isFirstNode= -u.length==1}else b.isFirstNode&&l==d.move.TYPE_PREV?(C.splice(r,0,c),m=b,m.isFirstNode=!1,c.parentTId=b.parentTId,c.isFirstNode=!0,c.isLastNode=!1):b.isLastNode&&l==d.move.TYPE_NEXT?(C.splice(r+1,0,c),m=b,m.isLastNode=!1,c.parentTId=b.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?C.splice(r,0,c):C.splice(r+1,0,c),c.parentTId=b.parentTId,c.isFirstNode=!1,c.isLastNode=!1);i.fixPIdKeyValue(a,c);i.setSonNodeLevel(a,c.getParentNode(),c);e.setNodeLineIcos(a,c);e.repairNodeLevelClass(a, -c,B);!a.data.keep.parent&&v.length<1?(i.nodeIsParent(a,f,!1),f.open=!1,b=q(f,d.id.UL,a),l=q(f,d.id.SWITCH,a),j=q(f,d.id.ICON,a),e.replaceSwitchClass(f,l,d.folder.DOCU),e.replaceIcoClass(f,j,d.folder.DOCU),b.css("display","none")):n&&e.setNodeLineIcos(a,n);m&&e.setNodeLineIcos(a,m);a.check&&a.check.enable&&e.repairChkClass&&(e.repairChkClass(a,f),e.repairParentChkClassWithSelf(a,f),f!=c.parent&&e.repairParentChkClassWithSelf(a,c));k||e.expandCollapseParentNode(a,c.getParentNode(),!0,g)}},removeEditBtn:function(a, -b){q(b,d.id.EDIT,a).unbind().remove()},removeRemoveBtn:function(a,b){q(b,d.id.REMOVE,a).unbind().remove()},removeTreeDom:function(a,b){b.isHover=!1;e.removeEditBtn(a,b);e.removeRemoveBtn(a,b);k.apply(a.view.removeHoverDom,[a.treeId,b])},repairNodeLevelClass:function(a,b,c){if(c!==b.level){var e=q(b,a),g=q(b,d.id.A,a),a=q(b,d.id.UL,a),c=d.className.LEVEL+c,b=d.className.LEVEL+b.level;e.removeClass(c);e.addClass(b);g.removeClass(c);g.addClass(b);a.removeClass(c);a.addClass(b)}},selectNodes:function(a, -b){for(var c=0,d=b.length;c0)}},event:{},data:{setSonNodeLevel:function(a,b,c){if(c){var d=i.nodeChildren(a,c);c.level=b?b.level+1:0;if(d)for(var b=0,g=d.length;b0)switch(o=i.getNodeCache(c,g),j){case "mousedownNode":f=v.onMousedownNode;break;case "hoverOverNode":f=v.onHoverOverNode; -break;case "hoverOutNode":f=v.onHoverOutNode}return{stop:!1,node:o,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});i.addInitRoot(function(a){var a=i.getRoot(a),b=i.getRoots();a.curEditNode=null;a.curEditInput=null;a.curHoverNode=null;a.dragFlag=0;a.dragNodeShowBefore=[];a.dragMaskList=[];b.showHoverDom=!0});i.addZTreeTools(function(a,b){b.cancelEditName=function(a){i.getRoot(this.setting).curEditNode&&e.cancelCurEditNode(this.setting,a?a:null,!0)};b.copyNode=function(b, -l,g,o){if(!l)return null;var j=i.nodeIsParent(a,b);if(b&&!j&&this.setting.data.keep.leaf&&g===d.move.TYPE_INNER)return null;var f=this,m=k.clone(l);if(!b)b=null,g=d.move.TYPE_INNER;g==d.move.TYPE_INNER?(l=function(){e.addNodes(f.setting,b,-1,[m],o)},k.canAsync(this.setting,b)?e.asyncNode(this.setting,b,o,l):l()):(e.addNodes(this.setting,b.parentNode,-1,[m],o),e.moveNode(this.setting,b,m,g,!1,o));return m};b.editName=function(a){a&&a.tId&&a===i.getNodeCache(this.setting,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(this.setting, -a.getParentNode(),!0),e.editNode(this.setting,a))};b.moveNode=function(b,l,g,o){function j(){e.moveNode(m.setting,b,l,g,!1,o)}if(!l)return l;var f=i.nodeIsParent(a,b);if(b&&!f&&this.setting.data.keep.leaf&&g===d.move.TYPE_INNER)return null;else if(b&&(l.parentTId==b.tId&&g==d.move.TYPE_INNER||q(l,this.setting).find("#"+b.tId).length>0))return null;else b||(b=null);var m=this;k.canAsync(this.setting,b)&&g===d.move.TYPE_INNER?e.asyncNode(this.setting,b,o,j):j();return l};b.setEditable=function(a){this.setting.edit.enable= -a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(a,b){for(var c=i.getRoot(a).curSelectedList,d=0,g=c.length;d 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" : - var isParent = data.nodeIsParent(setting, node); - if (!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), - children = data.nodeChildren(setting, n); - 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; - var isParent = data.nodeIsParent(setting, n); - if (tools.isArray(children)) { - data.nodeIsParent(setting, n, true); - n.zAsync = true; - } else { - isParent = data.nodeIsParent(setting, n, isParent); - n.open = (isParent && !setting.async.enable) ? n.open : false; - n.zAsync = !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.getIndex = function () { - return data.getNodeIndex(setting, n); - }; - n.getPath = function () { - return data.getNodePath(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, index, nodes) { - var children = data.nodeChildren(setting, parentNode), params; - if (!children) { - children = data.nodeChildren(setting, parentNode, []); - index = -1; - } else if (index >= children.length) { - index = -1; - } - - if (children.length > 0 && index === 0) { - children[0].isFirstNode = false; - view.setNodeLineIcos(setting, children[0]); - } else if (children.length > 0 && index < 0) { - children[children.length - 1].isLastNode = false; - view.setNodeLineIcos(setting, children[children.length - 1]); - } - data.nodeIsParent(setting, parentNode, true); - - if (index < 0) { - data.nodeChildren(setting, parentNode, children.concat(nodes)); - } else { - params = [index, 0].concat(nodes); - children.splice.apply(children, params); - } - }, - 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]; - }, - getNodeIndex: function (setting, node) { - if (!node) return null; - var p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length - 1; i <= l; i++) { - if (children[i] === node) { - return i; - } - } - return -1; - }, - getNextNode: function (setting, node) { - if (!node) return null; - var p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length - 1; i <= l; i++) { - if (children[i] === node) { - return (i == l ? null : children[i + 1]); - } - } - return null; - }, - getNodeByParam: function (setting, nodes, key, value) { - if (!nodes || !key) return null; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (node[key] == value) { - return nodes[i]; - } - var children = data.nodeChildren(setting, node); - var tmp = data.getNodeByParam(setting, children, 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; - }, - getNodePath: function (setting, node) { - if (!node) return null; - - var path; - if (node.parentTId) { - path = node.getParentNode().getPath(); - } else { - path = []; - } - - if (path) { - path.push(node); - } - - return path; - }, - getNodes: function (setting) { - return data.nodeChildren(setting, data.getRoot(setting)); - }, - getNodesByParam: function (setting, nodes, key, value) { - if (!nodes || !key) return []; - var result = []; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (node[key] == value) { - result.push(node); - } - var children = data.nodeChildren(setting, node); - result = result.concat(data.getNodesByParam(setting, children, key, value)); - } - return result; - }, - getNodesByParamFuzzy: function (setting, nodes, key, value) { - if (!nodes || !key) return []; - var result = []; - value = value.toLowerCase(); - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (typeof node[key] == "string" && nodes[i][key].toLowerCase().indexOf(value) > -1) { - result.push(node); - } - var children = data.nodeChildren(setting, node); - result = result.concat(data.getNodesByParamFuzzy(setting, children, key, value)); - } - return result; - }, - getNodesByFilter: function (setting, nodes, filter, isSingle, invokeParam) { - if (!nodes) return (isSingle ? null : []); - var result = isSingle ? null : []; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (tools.apply(filter, [node, invokeParam], false)) { - if (isSingle) { - return node; - } - result.push(node); - } - var children = data.nodeChildren(setting, node); - var tmpResult = data.getNodesByFilter(setting, children, 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 p = node.parentTId ? node.getParentNode() : data.getRoot(setting), - children = data.nodeChildren(setting, p); - for (var i = 0, l = children.length; i < l; i++) { - if (children[i] === node) { - return (i == 0 ? null : children[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; - }, - nodeChildren: function (setting, node, newChildren) { - if (!node) { - return null; - } - var key = setting.data.key.children; - if (typeof newChildren !== 'undefined') { - node[key] = newChildren; - } - return node[key]; - }, - nodeIsParent: function (setting, node, newIsParent) { - if (!node) { - return false; - } - var key = setting.data.key.isParent; - if (typeof newIsParent !== 'undefined') { - if (typeof newIsParent === "string") { - newIsParent = tools.eqs(newIsParent, "true"); - } - newIsParent = !!newIsParent; - node[key] = newIsParent; - } else if (typeof node[key] == "string"){ - node[key] = tools.eqs(node[key], "true"); - } else { - node[key] = !!node[key]; - } - return node[key]; - }, - nodeName: function (setting, node, newName) { - var key = setting.data.key.name; - if (typeof newName !== 'undefined') { - node[key] = newName; - } - return "" + node[key]; - }, - nodeTitle: function (setting, node) { - var t = setting.data.key.title === "" ? setting.data.key.name : setting.data.key.title; - return "" + node[t]; - }, - removeNodeCache: function (setting, node) { - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - data.removeNodeCache(setting, children[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); - setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, node]); - 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 r = []; - if (tools.isArray(nodes)) { - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - _do(node); - } - } else { - _do(nodes); - } - return r; - - function _do(_node) { - r.push(_node); - var children = data.nodeChildren(setting, _node); - if (children) { - r = r.concat(data.transformToArrayFormat(setting, children)); - } - } - }, - transformTozTreeFormat: function (setting, sNodes) { - var i, l, - key = setting.data.simpleData.idKey, - parentKey = setting.data.simpleData.pIdKey; - 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++) { - var p = tmpMap[sNodes[i][parentKey]]; - if (p && sNodes[i][key] != sNodes[i][parentKey]) { - var children = data.nodeChildren(setting, p); - if (!children) { - children = data.nodeChildren(setting, p, []); - } - children.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', handler.onSelectStart).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('selectstart', handler.onSelectStart) - .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"; - }, - onSelectStart: function (e) { - var n = e.originalEvent.srcElement.nodeName.toLowerCase(); - return (n === "input" || n === "textarea"); - } - }, - //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 children = data.nodeChildren(setting, node); - var isParent = data.nodeIsParent(setting, node); - return (setting.async.enable && node && isParent && !(node.zAsync || (children && children.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" ? tools.clone(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]"; - }, - isElement: function (o) { - return ( - typeof HTMLElement === "object" ? o instanceof HTMLElement : //DOM2 - o && typeof o === "object" && o !== null && o.nodeType === 1 && typeof o.nodeName === "string" - ); - }, - $: 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, index, newNodes, isSilent) { - var isParent = data.nodeIsParent(setting, parentNode); - if (setting.data.keep.leaf && 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, index, newNodes); - view.createNodes(setting, parentNode.level + 1, newNodes, parentNode, index); - if (!isSilent) { - view.expandCollapseParentNode(setting, parentNode, true); - } - } else { - data.addNodesData(setting, data.getRoot(setting), index, newNodes); - view.createNodes(setting, 0, newNodes, null, index); - } - }, - appendNodes: function (setting, level, nodes, parentNode, index, initFlag, openFlag) { - if (!nodes) return []; - var html = []; - - var tmpPNode = (parentNode) ? parentNode : data.getRoot(setting), - tmpPChild = data.nodeChildren(setting, tmpPNode), - isFirstNode, isLastNode; - - if (!tmpPChild || index >= tmpPChild.length - nodes.length) { - index = -1; - } - - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - if (initFlag) { - isFirstNode = ((index === 0 || tmpPChild.length == nodes.length) && (i == 0)); - isLastNode = (index < 0 && i == (nodes.length - 1)); - data.initNode(setting, level, node, parentNode, isFirstNode, isLastNode, openFlag); - data.addNodeCache(setting, node); - } - var isParent = data.nodeIsParent(setting, node); - - var childHtml = []; - var children = data.nodeChildren(setting, node); - if (children && children.length > 0) { - //make child html first, because checkType - childHtml = view.appendNodes(setting, level + 1, children, node, -1, 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 (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 children = data.nodeChildren(setting, node), - childHtml = view.appendNodes(setting, node.level + 1, children, node, -1, false, true); - view.makeUlHtml(setting, node, html, childHtml.join('')); - nObj.append(html.join('')); - }, - asyncNode: function (setting, node, isSilent, callback) { - var i, l; - var isParent = data.nodeIsParent(setting, node); - if (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 = {}; - var autoParam = tools.apply(setting.async.autoParam, [setting.treeId, node], setting.async.autoParam); - for (i = 0, l = autoParam.length; node && i < l; i++) { - var pKey = autoParam[i].split("="), spKey = pKey; - if (pKey.length > 1) { - spKey = pKey[1]; - pKey = pKey[0]; - } - tmpParam[spKey] = node[pKey]; - } - var otherParam = tools.apply(setting.async.otherParam, [setting.treeId, node], setting.async.otherParam); - if (tools.isArray(otherParam)) { - for (i = 0, l = otherParam.length; i < l; i += 2) { - tmpParam[otherParam[i]] = otherParam[i + 1]; - } - } else { - for (var p in otherParam) { - tmpParam[p] = otherParam[p]; - } - } - - var _tmpV = data.getRoot(setting)._ver; - $.ajax({ - contentType: setting.async.contentType, - cache: false, - type: setting.async.type, - url: tools.apply(setting.async.url, [setting.treeId, node], setting.async.url), - data: setting.async.contentType.indexOf('application/json') > -1 ? JSON.stringify(tmpParam) : tmpParam, - dataType: setting.async.dataType, - headers: setting.async.headers, - xhrFields: setting.async.xhrFields, - 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, -1, !!newNodes ? tools.clone(newNodes) : [], !!isSilent); - } else { - view.addNodes(setting, node, -1, [], !!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, excludeNode) { - var list = data.getRoot(setting).curSelectedList, - i, n; - for (i = list.length - 1; i >= 0; i--) { - n = list[i]; - if (node === n || (!node && (!excludeNode || excludeNode !== n))) { - $$(n, consts.id.A, setting).removeClass(consts.node.CURSELECTED); - if (node) { - data.removeSelectedNode(setting, node); - break; - } else { - list.splice(i, 1); - setting.treeObj.trigger(consts.event.UNSELECTED, [setting.treeId, n]); - } - } - } - }, - 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, index) { - if (!nodes || nodes.length == 0) return; - var root = data.getRoot(setting), - openFlag = !parentNode || parentNode.open || !!$$(data.nodeChildren(setting, parentNode)[0], setting).get(0); - root.createdNodes = []; - var zTreeHtml = view.appendNodes(setting, level, nodes, parentNode, index, true, openFlag), - parentObj, nextObj; - - if (!parentNode) { - parentObj = setting.treeObj; - //setting.treeObj.append(zTreeHtml.join('')); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - if (ulObj.get(0)) { - parentObj = ulObj; - //ulObj.append(zTreeHtml.join('')); - } - } - if (parentObj) { - if (index >= 0) { - nextObj = parentObj.children()[index]; - } - if (index >= 0 && nextObj) { - $(nextObj).before(zTreeHtml.join('')); - } else { - parentObj.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); - var tmpCb, _callback; - if (!node) { - tools.apply(callback, []); - return; - } - var children = data.nodeChildren(setting, node); - var isParent = data.nodeIsParent(setting, node); - if (root.expandTriggerFlag) { - _callback = callback; - tmpCb = 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]); - } - }; - callback = tmpCb; - root.expandTriggerFlag = false; - } - if (!node.open && isParent && ((!$$(node, consts.id.UL, setting).get(0)) || (children && children.length > 0 && !$$(children[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 (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 (children && children.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 == "" || !(children && children.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), - treeNodes = (node) ? data.nodeChildren(setting, node) : data.nodeChildren(setting, root), - 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); - }, - isSelectedNode: function (setting, node) { - if (!node) { - return false; - } - var list = data.getRoot(setting).curSelectedList, - i; - for (i = list.length - 1; i >= 0; i--) { - if (node === list[i]) { - return true; - } - } - return false; - }, - makeDOMNodeIcon: function (html, setting, node) { - var nameStr = data.nodeName(setting, node), - name = setting.view.nameIsHTML ? nameStr : nameStr.replace(/&/g, '&').replace(//g, '>'); - html.push("", name, ""); - }, - makeDOMNodeLine: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeMainAfter: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeMainBefore: function (html, setting, node) { - html.push("
                                                                                                                                                                                                                                                                                                                          • "); - }, - makeDOMNodeNameAfter: function (html, setting, node) { - html.push(""); - }, - makeDOMNodeNameBefore: function (html, setting, node) { - var title = data.nodeTitle(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(" 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, '>'), "'"); - } - 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) { - var isParent = data.nodeIsParent(setting, node); - icoCss[0] = (node.iconSkin ? node.iconSkin + "_" : "") + icoCss[0]; - if (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 isParent = data.nodeIsParent(setting, node); - var icon = (isParent && node.iconOpen && node.iconClose) ? (node.open ? node.iconOpen : node.iconClose) : node[setting.data.key.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 (data.nodeIsParent(setting, node)) { - 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("
                                                                                                                                                                                                                                                                                                                              "); - html.push(content); - html.push("
                                                                                                                                                                                                                                                                                                                            "); - }, - makeUlLineClass: function (setting, node) { - return ((setting.view.showLine && !node.isLastNode) ? consts.line.LINE : ""); - }, - removeChildNodes: function (setting, node) { - if (!node) return; - var nodes = data.nodeChildren(setting, node); - if (!nodes) return; - - for (var i = 0, l = nodes.length; i < l; i++) { - data.removeNodeCache(setting, nodes[i]); - } - data.removeSelectedNode(setting); - delete node[setting.data.key.children]; - - if (!setting.data.keep.parent) { - data.nodeIsParent(setting, node, 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(); - } - }, - scrollIntoView: function (setting, dom) { - if (!dom) { - return; - } - // support IE 7 - if (typeof Element === 'undefined') { - var contRect = setting.treeObj.get(0).getBoundingClientRect(), - findMeRect = dom.getBoundingClientRect(); - if (findMeRect.top < contRect.top || findMeRect.bottom > contRect.bottom - || findMeRect.right > contRect.right || findMeRect.left < contRect.left) { - dom.scrollIntoView(); - } - return; - } - // CC-BY jocki84@googlemail.com, https://gist.github.com/jocki84/6ffafd003387179a988e - if (!Element.prototype.scrollIntoViewIfNeeded) { - Element.prototype.scrollIntoViewIfNeeded = function (centerIfNeeded) { - "use strict"; - - function makeRange(start, length) { - return {"start": start, "length": length, "end": start + length}; - } - - function coverRange(inner, outer) { - if ( - false === centerIfNeeded || - (outer.start < inner.end && inner.start < outer.end) - ) { - return Math.max( - inner.end - outer.length, - Math.min(outer.start, inner.start) - ); - } - return (inner.start + inner.end - outer.length) / 2; - } - - function makePoint(x, y) { - return { - "x": x, - "y": y, - "translate": function translate(dX, dY) { - return makePoint(x + dX, y + dY); - } - }; - } - - function absolute(elem, pt) { - while (elem) { - pt = pt.translate(elem.offsetLeft, elem.offsetTop); - elem = elem.offsetParent; - } - return pt; - } - - var target = absolute(this, makePoint(0, 0)), - extent = makePoint(this.offsetWidth, this.offsetHeight), - elem = this.parentNode, - origin; - - while (elem instanceof HTMLElement) { - // Apply desired scroll amount. - origin = absolute(elem, makePoint(elem.clientLeft, elem.clientTop)); - elem.scrollLeft = coverRange( - makeRange(target.x - origin.x, extent.x), - makeRange(elem.scrollLeft, elem.clientWidth) - ); - elem.scrollTop = coverRange( - makeRange(target.y - origin.y, extent.y), - makeRange(elem.scrollTop, elem.clientHeight) - ); - - // Determine actual scroll amount by reading back scroll properties. - target = target.translate(-elem.scrollLeft, -elem.scrollTop); - elem = elem.parentNode; - } - }; - } - dom.scrollIntoViewIfNeeded(); - }, - setFirstNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - if (children.length > 0) { - children[0].isFirstNode = true; - } - }, - setLastNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - if (children.length > 0) { - children[children.length - 1].isLastNode = true; - } - }, - removeNode: function (setting, node) { - var root = data.getRoot(setting), - 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); - - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children.length; i < l; i++) { - if (children[i].tId == node.tId) { - children.splice(i, 1); - break; - } - } - view.setFirstNode(setting, parentNode); - view.setLastNode(setting, parentNode); - - var tmp_ulObj, tmp_switchObj, tmp_icoObj, - childLength = children.length; - - //repair nodes old parent - if (!setting.data.keep.parent && childLength == 0) { - //old parentNode has no child nodes - data.nodeIsParent(setting, parentNode, false); - parentNode.open = false; - delete parentNode[setting.data.key.children]; - 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 = children[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 (children.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 = $$(children[0], consts.id.SWITCH, setting); - view.replaceSwitchClass(children[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, null, node); - } - $$(node, consts.id.A, setting).addClass(consts.node.CURSELECTED); - data.addSelectedNode(setting, node); - setting.treeObj.trigger(consts.event.SELECTED, [setting.treeId, 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 (data.nodeIsParent(setting, node)) { - 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.nodeTitle(setting, node), - nObj = $$(node, consts.id.SPAN, setting); - nObj.empty(); - if (setting.view.nameIsHTML) { - nObj.html(data.nodeName(setting, node)); - } else { - nObj.text(data.nodeName(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); - zNodes = zNodes ? tools.clone(tools.isArray(zNodes) ? zNodes : [zNodes]) : []; - if (setting.data.simpleData.enable) { - data.nodeChildren(setting, root, data.transformTozTreeFormat(setting, zNodes)); - } else { - data.nodeChildren(setting, root, zNodes); - } - - data.initCache(setting); - event.unbindTree(setting); - event.bindTree(setting); - event.unbindEvent(setting); - event.bindEvent(setting); - - var zTreeTools = { - setting: setting, - addNodes: function (parentNode, index, newNodes, isSilent) { - if (!parentNode) parentNode = null; - var isParent = data.nodeIsParent(setting, parentNode); - if (parentNode && !isParent && setting.data.keep.leaf) return null; - - var i = parseInt(index, 10); - if (isNaN(i)) { - isSilent = !!newNodes; - newNodes = index; - index = -1; - } else { - index = i; - } - if (!newNodes) return null; - - - var xNewNodes = tools.clone(tools.isArray(newNodes) ? newNodes : [newNodes]); - - function addCallback() { - view.addNodes(setting, parentNode, index, 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 || !data.nodeIsParent(setting, node)) 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, showNodeFocus); - } else { - node.open = !expandFlag; - view.switchNode(this.setting, node); - showNodeFocus(); - } - return expandFlag; - - function showNodeFocus() { - var a = $$(node, setting).get(0); - if (a && focus !== false) { - view.scrollIntoView(setting, a); - } - } - }, - getNodes: function () { - return data.getNodes(setting); - }, - getNodeByParam: function (key, value, parentNode) { - if (!key) return null; - return data.getNodeByParam(setting, parentNode ? data.nodeChildren(setting, parentNode) : 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 ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), key, value); - }, - getNodesByParamFuzzy: function (key, value, parentNode) { - if (!key) return null; - return data.getNodesByParamFuzzy(setting, parentNode ? data.nodeChildren(setting, parentNode) : 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 ? data.nodeChildren(setting, parentNode) : data.getNodes(setting), filter, isSingle, invokeParam); - }, - getNodeIndex: function (node) { - if (!node) return null; - var parentNode = (node.parentTId) ? node.getParentNode() : data.getRoot(setting); - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children.length; i < l; i++) { - if (children[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); - }, - reAsyncChildNodesPromise: function (parentNode, reloadType, isSilent) { - var promise = new Promise(function (resolve, reject) { - try { - zTreeTools.reAsyncChildNodes(parentNode, reloadType, isSilent, function () { - resolve(parentNode); - }); - } catch (e) { - reject(e); - } - }); - return promise; - }, - reAsyncChildNodes: function (parentNode, reloadType, isSilent, callback) { - if (!this.setting.async.enable) return; - var isRoot = !parentNode; - if (isRoot) { - parentNode = data.getRoot(setting); - } - if (reloadType == "refresh") { - var children = data.nodeChildren(setting, parentNode); - for (var i = 0, l = children ? children.length : 0; i < l; i++) { - data.removeNodeCache(setting, children[i]); - } - data.removeSelectedNode(setting); - data.nodeChildren(setting, parentNode, []); - if (isRoot) { - this.setting.treeObj.empty(); - } else { - var ulObj = $$(parentNode, consts.id.UL, setting); - ulObj.empty(); - } - } - view.asyncNode(this.setting, isRoot ? null : parentNode, !!isSilent, callback); - }, - refresh: function () { - this.setting.treeObj.empty(); - var root = data.getRoot(setting), - nodes = data.nodeChildren(setting, root); - data.initRoot(setting); - data.nodeChildren(setting, root, nodes); - data.initCache(setting); - view.createNodes(setting, 0, data.nodeChildren(setting, root), null, -1); - }, - removeChildNodes: function (node) { - if (!node) return null; - var nodes = data.nodeChildren(setting, node); - 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, isSilent) { - if (!node) return; - if (tools.uCanDo(setting)) { - addFlag = setting.view.selectedMulti && addFlag; - if (node.parentTId) { - view.expandCollapseParentNode(setting, node.getParentNode(), true, false, showNodeFocus); - } else if (!isSilent) { - try { - $$(node, setting).focus().blur(); - } catch (e) { - } - } - view.selectNode(setting, node, addFlag); - } - - function showNodeFocus() { - if (isSilent) { - return; - } - var a = $$(node, setting).get(0); - view.scrollIntoView(setting, a); - } - }, - 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); - var children = data.nodeChildren(setting, root); - if (children && children.length > 0) { - view.createNodes(setting, 0, children, null, -1); - } 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/lib/zTree_v3/js/jquery.ztree.core.min.js b/lib/zTree_v3/js/jquery.ztree.core.min.js deleted file mode 100755 index 0b01dc8..0000000 --- a/lib/zTree_v3/js/jquery.ztree.core.min.js +++ /dev/null @@ -1,75 +0,0 @@ -/* - * JQuery zTree core v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(r){var J,K,L,M,N,O,v,t={},w={},x={},P={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:{isParent:"isParent",children:"children",name:"name",title:"",url:"url",icon:"icon"},simpleData:{enable:!1,idKey:"id",pIdKey:"pId",rootPId:null},keep:{parent:!1,leaf:!1}},async:{enable:!1,contentType:"application/x-www-form-urlencoded",type:"post", -dataType:"text",headers:{},xhrFields:{},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}},y=[function(a){var b=a.treeObj,c=g.event;b.bind(c.NODECREATED, -function(b,c,i){h.apply(a.callback.onNodeCreated,[b,c,i])});b.bind(c.CLICK,function(b,c,i,e,k){h.apply(a.callback.onClick,[c,i,e,k])});b.bind(c.EXPAND,function(b,c,i){h.apply(a.callback.onExpand,[b,c,i])});b.bind(c.COLLAPSE,function(b,c,i){h.apply(a.callback.onCollapse,[b,c,i])});b.bind(c.ASYNC_SUCCESS,function(b,c,i,e){h.apply(a.callback.onAsyncSuccess,[b,c,i,e])});b.bind(c.ASYNC_ERROR,function(b,c,i,e,k,g){h.apply(a.callback.onAsyncError,[b,c,i,e,k,g])});b.bind(c.REMOVE,function(b,c,i){h.apply(a.callback.onRemove, -[b,c,i])});b.bind(c.SELECTED,function(b,c,i){h.apply(a.callback.onSelected,[c,i])});b.bind(c.UNSELECTED,function(b,c,i){h.apply(a.callback.onUnSelected,[c,i])})}],z=[function(a){var b=g.event;a.treeObj.unbind(b.NODECREATED).unbind(b.CLICK).unbind(b.EXPAND).unbind(b.COLLAPSE).unbind(b.ASYNC_SUCCESS).unbind(b.ASYNC_ERROR).unbind(b.REMOVE).unbind(b.SELECTED).unbind(b.UNSELECTED)}],A=[function(a){var b=e.getCache(a);b||(b={},e.setCache(a,b));b.nodes=[];b.doms=[]}],B=[function(a,b,c,d,f,i){if(c){var m= -e.getRoot(a),k=e.nodeChildren(a,c);c.level=b;c.tId=a.treeId+"_"+ ++m.zId;c.parentTId=d?d.tId:null;c.open=typeof c.open=="string"?h.eqs(c.open,"true"):!!c.open;b=e.nodeIsParent(a,c);h.isArray(k)?(e.nodeIsParent(a,c,!0),c.zAsync=!0):(b=e.nodeIsParent(a,c,b),c.open=b&&!a.async.enable?c.open:!1,c.zAsync=!b);c.isFirstNode=f;c.isLastNode=i;c.getParentNode=function(){return e.getNodeCache(a,c.parentTId)};c.getPreNode=function(){return e.getPreNode(a,c)};c.getNextNode=function(){return e.getNextNode(a,c)}; -c.getIndex=function(){return e.getNodeIndex(a,c)};c.getPath=function(){return e.getNodePath(a,c)};c.isAjaxing=!1;e.fixPIdKeyValue(a,c)}}],u=[function(a){var b=a.target,c=e.getSetting(a.data.treeId),d="",f=null,i="",m="",k=null,j=null,o=null;if(h.eqs(a.type,"mousedown"))m="mousedown";else if(h.eqs(a.type,"mouseup"))m="mouseup";else if(h.eqs(a.type,"contextmenu"))m="contextmenu";else if(h.eqs(a.type,"click"))if(h.eqs(b.tagName,"span")&&b.getAttribute("treeNode"+g.id.SWITCH)!==null)d=h.getNodeMainDom(b).id, -i="switchNode";else{if(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}]))d=h.getNodeMainDom(o).id,i="clickNode"}else if(h.eqs(a.type,"dblclick")&&(m="dblclick",o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id,i="switchNode";if(m.length>0&&d.length==0&&(o=h.getMDom(c,b,[{tagName:"a",attrName:"treeNode"+g.id.A}])))d=h.getNodeMainDom(o).id;if(d.length>0)switch(f=e.getNodeCache(c,d),i){case "switchNode":e.nodeIsParent(c,f)?h.eqs(a.type,"click")||h.eqs(a.type, -"dblclick")&&h.apply(c.view.dblClickExpand,[c.treeId,f],c.view.dblClickExpand)?k=J:i="":i="";break;case "clickNode":k=K}switch(m){case "mousedown":j=L;break;case "mouseup":j=M;break;case "dblclick":j=N;break;case "contextmenu":j=O}return{stop:!1,node:f,nodeEventType:i,nodeEventCallback:k,treeEventType:m,treeEventCallback:j}}],C=[function(a){var b=e.getRoot(a);b||(b={},e.setRoot(a,b));e.nodeChildren(a,b,[]);b.expandTriggerFlag=!1;b.curSelectedList=[];b.noSelection=!0;b.createdNodes=[];b.zId=0;b._ver= -(new Date).getTime()}],D=[],E=[],F=[],G=[],H=[],e={addNodeCache:function(a,b){e.getCache(a).nodes[e.getNodeCacheId(b.tId)]=b},getNodeCacheId:function(a){return a.substring(a.lastIndexOf("_")+1)},addAfterA:function(a){E.push(a)},addBeforeA:function(a){D.push(a)},addInnerAfterA:function(a){G.push(a)},addInnerBeforeA:function(a){F.push(a)},addInitBind:function(a){y.push(a)},addInitUnBind:function(a){z.push(a)},addInitCache:function(a){A.push(a)},addInitNode:function(a){B.push(a)},addInitProxy:function(a, -b){b?u.splice(0,0,a):u.push(a)},addInitRoot:function(a){C.push(a)},addNodesData:function(a,b,c,d){var f=e.nodeChildren(a,b);f?c>=f.length&&(c=-1):(f=e.nodeChildren(a,b,[]),c=-1);if(f.length>0&&c===0)f[0].isFirstNode=!1,j.setNodeLineIcos(a,f[0]);else if(f.length>0&&c<0)f[f.length-1].isLastNode=!1,j.setNodeLineIcos(a,f[f.length-1]);e.nodeIsParent(a,b,!0);c<0?e.nodeChildren(a,b,f.concat(d)):(a=[c,0].concat(d),f.splice.apply(f,a))},addSelectedNode:function(a,b){var c=e.getRoot(a);e.isSelectedNode(a,b)|| -c.curSelectedList.push(b)},addCreatedNode:function(a,b){(a.callback.onNodeCreated||a.view.addDiyDom)&&e.getRoot(a).createdNodes.push(b)},addZTreeTools:function(a){H.push(a)},exSetting:function(a){r.extend(!0,P,a)},fixPIdKeyValue:function(a,b){a.data.simpleData.enable&&(b[a.data.simpleData.pIdKey]=b.parentTId?b.getParentNode()[a.data.simpleData.idKey]:a.data.simpleData.rootPId)},getAfterA:function(a,b,c){for(var d=0,e=E.length;d-1&&f.push(k);k=e.nodeChildren(a, -k);f=f.concat(e.getNodesByParamFuzzy(a,k,c,d))}return f},getNodesByFilter:function(a,b,c,d,f){if(!b)return d?null:[];for(var i=d?null:[],m=0,k=b.length;m0)},clone:function(a){if(a===null)return null;var b=h.isArray(a)?[]:{},c;for(c in a)b[c]=a[c]instanceof Date?new Date(a[c].getTime()):typeof a[c]==="object"?h.clone(a[c]):a[c];return b},eqs:function(a,b){return a.toLowerCase()===b.toLowerCase()},isArray:function(a){return Object.prototype.toString.apply(a)==="[object Array]"},isElement:function(a){return typeof HTMLElement==="object"?a instanceof HTMLElement:a&&typeof a==="object"&&a!==null&& -a.nodeType===1&&typeof a.nodeName==="string"},$:function(a,b,c){b&&typeof b!="string"&&(c=b,b="");return typeof a=="string"?r(a,c?c.treeObj.get(0).ownerDocument:null):r("#"+a.tId+b,c?c.treeObj:null)},getMDom:function(a,b,c){if(!b)return null;for(;b&&b.id!==a.treeId;){for(var d=0,e=c.length;b.tagName&&d0},uCanDo:function(){return!0}},j={addNodes:function(a,b,c,d,f){var i=e.nodeIsParent(a,b);if(!a.data.keep.leaf||!b||i)if(h.isArray(d)||(d=[d]),a.data.simpleData.enable&&(d=e.transformTozTreeFormat(a,d)),b){var i=l(b,g.id.SWITCH,a),m=l(b,g.id.ICON,a),k=l(b,g.id.UL,a);if(!b.open)j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,m,g.folder.CLOSE),b.open=!1,k.css({display:"none"});e.addNodesData(a,b,c,d);j.createNodes(a,b.level+ -1,d,b,c);f||j.expandCollapseParentNode(a,b,!0)}else e.addNodesData(a,e.getRoot(a),c,d),j.createNodes(a,0,d,null,c)},appendNodes:function(a,b,c,d,f,i,g){if(!c)return[];var k=[],h=d?d:e.getRoot(a),h=e.nodeChildren(a,h),o,l;if(!h||f>=h.length-c.length)f=-1;for(var s=0,n=c.length;s0&&(l=j.appendNodes(a,b+1,I,p,-1, -i,g&&p.open));g&&(j.makeDOMNodeMainBefore(k,a,p),j.makeDOMNodeLine(k,a,p),e.getBeforeA(a,p,k),j.makeDOMNodeNameBefore(k,a,p),e.getInnerBeforeA(a,p,k),j.makeDOMNodeIcon(k,a,p),e.getInnerAfterA(a,p,k),j.makeDOMNodeNameAfter(k,a,p),e.getAfterA(a,p,k),o&&p.open&&j.makeUlHtml(a,p,k,l.join("")),j.makeDOMNodeMainAfter(k,a,p),e.addCreatedNode(a,p))}return k},appendParentULDom:function(a,b){var c=[],d=l(b,a);!d.get(0)&&b.parentTId&&(j.appendParentULDom(a,b.getParentNode()),d=l(b,a));var f=l(b,g.id.UL,a);f.get(0)&& -f.remove();f=e.nodeChildren(a,b);f=j.appendNodes(a,b.level+1,f,b,-1,!1,!0);j.makeUlHtml(a,b,c,f.join(""));d.append(c.join(""))},asyncNode:function(a,b,c,d){var f,i;f=e.nodeIsParent(a,b);if(b&&!f)return h.apply(d),!1;else if(b&&b.isAjaxing)return!1;else if(h.apply(a.callback.beforeAsync,[a.treeId,b],!0)==!1)return h.apply(d),!1;if(b)b.isAjaxing=!0,l(b,g.id.ICON,a).attr({style:"","class":g.className.BUTTON+" "+g.className.ICO_LOADING});var m={},k=h.apply(a.async.autoParam,[a.treeId,b],a.async.autoParam); -for(f=0,i=k.length;b&&f1&&(o=q[1],q=q[0]);m[o]=b[q]}k=h.apply(a.async.otherParam,[a.treeId,b],a.async.otherParam);if(h.isArray(k))for(f=0,i=k.length;f-1?JSON.stringify(m):m,dataType:a.async.dataType,headers:a.async.headers, -xhrFields:a.async.xhrFields,success:function(i){if(s==e.getRoot(a)._ver){var f=[];try{f=!i||i.length==0?[]:typeof i=="string"?eval("("+i+")"):i}catch(k){f=i}if(b)b.isAjaxing=null,b.zAsync=!0;j.setNodeLineIcos(a,b);f&&f!==""?(f=h.apply(a.async.dataFilter,[a.treeId,b,f],f),j.addNodes(a,b,-1,f?h.clone(f):[],!!c)):j.addNodes(a,b,-1,[],!!c);a.treeObj.trigger(g.event.ASYNC_SUCCESS,[a.treeId,b,i]);h.apply(d)}},error:function(c,d,i){if(s==e.getRoot(a)._ver){if(b)b.isAjaxing=null;j.setNodeLineIcos(a,b);a.treeObj.trigger(g.event.ASYNC_ERROR, -[a.treeId,b,c,d,i])}}});return!0},cancelPreSelectedNode:function(a,b,c){var d=e.getRoot(a).curSelectedList,f,i;for(f=d.length-1;f>=0;f--)if(i=d[f],b===i||!b&&(!c||c!==i))if(l(i,g.id.A,a).removeClass(g.node.CURSELECTED),b){e.removeSelectedNode(a,b);break}else d.splice(f,1),a.treeObj.trigger(g.event.UNSELECTED,[a.treeId,i])},createNodeCallback:function(a){if(a.callback.onNodeCreated||a.view.addDiyDom)for(var b=e.getRoot(a);b.createdNodes.length>0;){var c=b.createdNodes.shift();h.apply(a.view.addDiyDom, -[a.treeId,c]);a.callback.onNodeCreated&&a.treeObj.trigger(g.event.NODECREATED,[a.treeId,c])}},createNodes:function(a,b,c,d,f){if(c&&c.length!=0){var i=e.getRoot(a),m=!d||d.open||!!l(e.nodeChildren(a,d)[0],a).get(0);i.createdNodes=[];var b=j.appendNodes(a,b,c,d,f,!0,m),k,h;d?(d=l(d,g.id.UL,a),d.get(0)&&(k=d)):k=a.treeObj;k&&(f>=0&&(h=k.children()[f]),f>=0&&h?r(h).before(b.join("")):k.append(b.join("")));j.createNodeCallback(a)}},destroy:function(a){a&&(e.initCache(a),e.initRoot(a),n.unbindTree(a), -n.unbindEvent(a),a.treeObj.empty(),delete t[a.treeId])},expandCollapseNode:function(a,b,c,d,f){var i=e.getRoot(a),m;if(b){var k=e.nodeChildren(a,b),q=e.nodeIsParent(a,b);if(i.expandTriggerFlag)m=f,f=function(){m&&m();b.open?a.treeObj.trigger(g.event.EXPAND,[a.treeId,b]):a.treeObj.trigger(g.event.COLLAPSE,[a.treeId,b])},i.expandTriggerFlag=!1;if(!b.open&&q&&(!l(b,g.id.UL,a).get(0)||k&&k.length>0&&!l(k[0],a).get(0)))j.appendParentULDom(a,b),j.createNodeCallback(a);if(b.open==c)h.apply(f,[]);else{var c= -l(b,g.id.UL,a),i=l(b,g.id.SWITCH,a),o=l(b,g.id.ICON,a);q?(b.open=!b.open,b.iconOpen&&b.iconClose&&o.attr("style",j.makeNodeIcoStyle(a,b)),b.open?(j.replaceSwitchClass(b,i,g.folder.OPEN),j.replaceIcoClass(b,o,g.folder.OPEN),d==!1||a.view.expandSpeed==""?(c.show(),h.apply(f,[])):k&&k.length>0?c.slideDown(a.view.expandSpeed,f):(c.show(),h.apply(f,[]))):(j.replaceSwitchClass(b,i,g.folder.CLOSE),j.replaceIcoClass(b,o,g.folder.CLOSE),d==!1||a.view.expandSpeed==""||!(k&&k.length>0)?(c.hide(),h.apply(f,[])): -c.slideUp(a.view.expandSpeed,f))):h.apply(f,[])}}else h.apply(f,[])},expandCollapseParentNode:function(a,b,c,d,e){b&&(b.parentTId?(j.expandCollapseNode(a,b,c,d),b.parentTId&&j.expandCollapseParentNode(a,b.getParentNode(),c,d,e)):j.expandCollapseNode(a,b,c,d,e))},expandCollapseSonNode:function(a,b,c,d,f){var i=e.getRoot(a),i=b?e.nodeChildren(a,b):e.nodeChildren(a,i),g=b?!1:d,k=e.getRoot(a).expandTriggerFlag;e.getRoot(a).expandTriggerFlag=!1;if(i)for(var h=0,l=i.length;h=0;d--)if(b===c[d])return!0;return!1},makeDOMNodeIcon:function(a,b,c){var d=e.nodeName(b,c),d=b.view.nameIsHTML?d:d.replace(/&/g,"&").replace(//g,">");a.push("",d,"")},makeDOMNodeLine:function(a,b,c){a.push("")},makeDOMNodeMainAfter:function(a){a.push("
                                                                                                                                                                                                                                                                                                                          • ")},makeDOMNodeMainBefore:function(a,b,c){a.push("
                                                                                                                                                                                                                                                                                                                          • ")},makeDOMNodeNameAfter:function(a){a.push("")},makeDOMNodeNameBefore:function(a,b,c){var d= -e.nodeTitle(b,c),f=j.makeNodeUrl(b,c),i=j.makeNodeFontCss(b,c),m=[],k;for(k in i)m.push(k,":",i[k],";");a.push("0?"href='"+f+"'":""," target='",j.makeNodeTarget(c),"' style='",m.join(""),"'");h.apply(b.view.showTitle,[b.treeId,c],b.view.showTitle)&&d&&a.push("title='",d.replace(/'/g,"'").replace(//g,">"),"'");a.push(">")},makeNodeFontCss:function(a, -b){var c=h.apply(a.view.fontCss,[a.treeId,b],a.view.fontCss);return c&&typeof c!="function"?c:{}},makeNodeIcoClass:function(a,b){var c=["ico"];if(!b.isAjaxing){var d=e.nodeIsParent(a,b);c[0]=(b.iconSkin?b.iconSkin+"_":"")+c[0];d?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU)}return g.className.BUTTON+" "+c.join("_")},makeNodeIcoStyle:function(a,b){var c=[];if(!b.isAjaxing){var d=e.nodeIsParent(a,b)&&b.iconOpen&&b.iconClose?b.open?b.iconOpen:b.iconClose:b[a.data.key.icon];d&&c.push("background:url(", -d,") 0 0 no-repeat;");(a.view.showIcon==!1||!h.apply(a.view.showIcon,[a.treeId,b],!0))&&c.push("width:0px;height:0px;")}return c.join("")},makeNodeLineClass:function(a,b){var c=[];a.view.showLine?b.level==0&&b.isFirstNode&&b.isLastNode?c.push(g.line.ROOT):b.level==0&&b.isFirstNode?c.push(g.line.ROOTS):b.isLastNode?c.push(g.line.BOTTOM):c.push(g.line.CENTER):c.push(g.line.NOLINE);e.nodeIsParent(a,b)?c.push(b.open?g.folder.OPEN:g.folder.CLOSE):c.push(g.folder.DOCU);return j.makeNodeLineClassEx(b)+c.join("_")}, -makeNodeLineClassEx:function(a){return g.className.BUTTON+" "+g.className.LEVEL+a.level+" "+g.className.SWITCH+" "},makeNodeTarget:function(a){return a.target||"_blank"},makeNodeUrl:function(a,b){var c=a.data.key.url;return b[c]?b[c]:null},makeUlHtml:function(a,b,c,d){c.push("
                                                                                                                                                                                                                                                                                                                              ");c.push(d);c.push("
                                                                                                                                                                                                                                                                                                                            ")},makeUlLineClass:function(a,b){return a.view.showLine&&!b.isLastNode? -g.line.LINE:""},removeChildNodes:function(a,b){if(b){var c=e.nodeChildren(a,b);if(c){for(var d=0,f=c.length;dc.bottom||d.right>c.right||d.left0)c[0].isFirstNode= -!0},setLastNode:function(a,b){var c=e.nodeChildren(a,b);if(c.length>0)c[c.length-1].isLastNode=!0},removeNode:function(a,b){var c=e.getRoot(a),d=b.parentTId?b.getParentNode():c;b.isFirstNode=!1;b.isLastNode=!1;b.getPreNode=function(){return null};b.getNextNode=function(){return null};if(e.getNodeCache(a,b.tId)){l(b,a).remove();e.removeNodeCache(a,b);e.removeSelectedNode(a,b);for(var f=e.nodeChildren(a,d),i=0,h=f.length;i0){var q=f[i-1],i=l(q,g.id.UL,a),h=l(q,g.id.SWITCH,a);k=l(q,g.id.ICON,a);d==c?f.length==1?j.replaceSwitchClass(q,h,g.line.ROOT):(c=l(f[0],g.id.SWITCH,a),j.replaceSwitchClass(f[0],c,g.line.ROOTS),j.replaceSwitchClass(q, -h,g.line.BOTTOM)):j.replaceSwitchClass(q,h,g.line.BOTTOM);i.removeClass(g.line.LINE)}}},replaceIcoClass:function(a,b,c){if(b&&!a.isAjaxing&&(a=b.attr("class"),a!=void 0)){a=a.split("_");switch(c){case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:a[a.length-1]=c}b.attr("class",a.join("_"))}},replaceSwitchClass:function(a,b,c){if(b){var d=b.attr("class");if(d!=void 0){d=d.split("_");switch(c){case g.line.ROOT:case g.line.ROOTS:case g.line.CENTER:case g.line.BOTTOM:case g.line.NOLINE:d[0]=j.makeNodeLineClassEx(a)+ -c;break;case g.folder.OPEN:case g.folder.CLOSE:case g.folder.DOCU:d[1]=c}b.attr("class",d.join("_"));c!==g.folder.DOCU?b.removeAttr("disabled"):b.attr("disabled","disabled")}}},selectNode:function(a,b,c){c||j.cancelPreSelectedNode(a,null,b);l(b,g.id.A,a).addClass(g.node.CURSELECTED);e.addSelectedNode(a,b);a.treeObj.trigger(g.event.SELECTED,[a.treeId,b])},setNodeFontCss:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeFontCss(a,b);d&&c.css(d)},setNodeLineIcos:function(a,b){if(b){var c=l(b,g.id.SWITCH, -a),d=l(b,g.id.UL,a),f=l(b,g.id.ICON,a),i=j.makeUlLineClass(a,b);i.length==0?d.removeClass(g.line.LINE):d.addClass(i);c.attr("class",j.makeNodeLineClass(a,b));e.nodeIsParent(a,b)?c.removeAttr("disabled"):c.attr("disabled","disabled");f.removeAttr("style");f.attr("style",j.makeNodeIcoStyle(a,b));f.attr("class",j.makeNodeIcoClass(a,b))}},setNodeName:function(a,b){var c=e.nodeTitle(a,b),d=l(b,g.id.SPAN,a);d.empty();a.view.nameIsHTML?d.html(e.nodeName(a,b)):d.text(e.nodeName(a,b));h.apply(a.view.showTitle, -[a.treeId,b],a.view.showTitle)&&l(b,g.id.A,a).attr("title",!c?"":c)},setNodeTarget:function(a,b){l(b,g.id.A,a).attr("target",j.makeNodeTarget(b))},setNodeUrl:function(a,b){var c=l(b,g.id.A,a),d=j.makeNodeUrl(a,b);d==null||d.length==0?c.removeAttr("href"):c.attr("href",d)},switchNode:function(a,b){b.open||!h.canAsync(a,b)?j.expandCollapseNode(a,b,!b.open):a.async.enable?j.asyncNode(a,b)||j.expandCollapseNode(a,b,!b.open):b&&j.expandCollapseNode(a,b,!b.open)}};r.fn.zTree={consts:{className:{BUTTON:"button", -LEVEL:"level",ICO_LOADING:"ico_loading",SWITCH:"switch",NAME:"node_name"},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",SELECTED:"ztree_selected",UNSELECTED:"ztree_unselected"},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:h,view:j,event:n,data:e},getZTreeObj:function(a){return(a=e.getZTreeTools(a))?a:null},destroy:function(a){if(a&&a.length>0)j.destroy(e.getSetting(a));else for(var b in t)j.destroy(t[b])},init:function(a,b,c){var d=h.clone(P);r.extend(!0,d,b);d.treeId=a.attr("id");d.treeObj=a;d.treeObj.empty();t[d.treeId]=d;if(typeof document.body.style.maxHeight==="undefined")d.view.expandSpeed="";e.initRoot(d);a=e.getRoot(d);c=c?h.clone(h.isArray(c)? -c:[c]):[];d.data.simpleData.enable?e.nodeChildren(d,a,e.transformTozTreeFormat(d,c)):e.nodeChildren(d,a,c);e.initCache(d);n.unbindTree(d);n.bindTree(d);n.unbindEvent(d);n.bindEvent(d);var f={setting:d,addNodes:function(a,b,c,f){function g(){j.addNodes(d,a,b,n,f==!0)}a||(a=null);var l=e.nodeIsParent(d,a);if(a&&!l&&d.data.keep.leaf)return null;l=parseInt(b,10);isNaN(l)?(f=!!c,c=b,b=-1):b=l;if(!c)return null;var n=h.clone(h.isArray(c)?c:[c]);h.canAsync(d,a)?j.asyncNode(d,a,f,g):g();return n},cancelSelectedNode:function(a){j.cancelPreSelectedNode(d, -a)},destroy:function(){j.destroy(d)},expandAll:function(a){a=!!a;j.expandCollapseSonNode(d,null,a,!0);return a},expandNode:function(a,b,c,f,g){function n(){var b=l(a,d).get(0);b&&f!==!1&&j.scrollIntoView(d,b)}if(!a||!e.nodeIsParent(d,a))return null;b!==!0&&b!==!1&&(b=!a.open);if((g=!!g)&&b&&h.apply(d.callback.beforeExpand,[d.treeId,a],!0)==!1)return null;else if(g&&!b&&h.apply(d.callback.beforeCollapse,[d.treeId,a],!0)==!1)return null;b&&a.parentTId&&j.expandCollapseParentNode(d,a.getParentNode(), -b,!1);if(b===a.open&&!c)return null;e.getRoot(d).expandTriggerFlag=g;!h.canAsync(d,a)&&c?j.expandCollapseSonNode(d,a,b,!0,n):(a.open=!b,j.switchNode(this.setting,a),n());return b},getNodes:function(){return e.getNodes(d)},getNodeByParam:function(a,b,c){return!a?null:e.getNodeByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodeByTId:function(a){return e.getNodeCache(d,a)},getNodesByParam:function(a,b,c){return!a?null:e.getNodesByParam(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByParamFuzzy:function(a, -b,c){return!a?null:e.getNodesByParamFuzzy(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b)},getNodesByFilter:function(a,b,c,f){b=!!b;return!a||typeof a!="function"?b?null:[]:e.getNodesByFilter(d,c?e.nodeChildren(d,c):e.getNodes(d),a,b,f)},getNodeIndex:function(a){if(!a)return null;for(var b=a.parentTId?a.getParentNode():e.getRoot(d),b=e.nodeChildren(d,b),c=0,f=b.length;c0?j.createNodes(d,0,c,null,-1):d.async.enable&&d.async.url&&d.async.url!==""&&j.asyncNode(d);return f}};var Q=r.fn.zTree,l=h.$,g=Q.consts})(jQuery); diff --git a/lib/zTree_v3/js/jquery.ztree.excheck.js b/lib/zTree_v3/js/jquery.ztree.excheck.js deleted file mode 100755 index c4cfff6..0000000 --- a/lib/zTree_v3/js/jquery.ztree.excheck.js +++ /dev/null @@ -1,651 +0,0 @@ -/* - * JQuery zTree excheck v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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 checked = data.nodeChecked(setting, n); - n.checkedOld = checked; - 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 && checked) { - var r = data.getRoot(setting); - r.radioCheckedList.push(n); - } - }, - //add dom for check - _beforeA = function (setting, node, html) { - if (setting.check.enable) { - data.makeChkFlag(setting, node); - html.push(""); - } - }, - //update zTreeObj, add method of check - _zTreeTools = function (setting, zTreeTools) { - zTreeTools.checkNode = function (node, checked, checkTypeFlag, callbackFlag) { - var nodeChecked = data.nodeChecked(setting, node); - if (node.chkDisabled === true) return; - if (checked !== true && checked !== false) { - checked = !nodeChecked; - } - callbackFlag = !!callbackFlag; - - if (nodeChecked === 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) { - data.nodeChecked(setting, node, 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 checked = (checked !== false); - var children = data.nodeChildren(setting, data.getRoot(this.setting)); - return data.getTreeCheckedNodes(this.setting, children, checked); - } - - zTreeTools.getChangeCheckedNodes = function () { - var children = data.nodeChildren(setting, data.getRoot(this.setting)); - return data.getTreeChangeCheckedNodes(this.setting, children); - } - - 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 checked = data.nodeChecked(setting, node), - r = { - checked: checked, - half: node.halfCheck ? node.halfCheck : (setting.check.chkStyle == consts.radio.STYLE ? (node.check_Child_State === 2) : (checked ? (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 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++) { - var node = nodes[i]; - var children = data.nodeChildren(setting, node); - var nodeChecked = data.nodeChecked(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked == checked) { - results.push(node); - if (onlyOne) { - break; - } - } - data.getTreeCheckedNodes(setting, children, checked, results); - if (onlyOne && results.length > 0) { - break; - } - } - return results; - }, - getTreeChangeCheckedNodes: function (setting, nodes, results) { - if (!nodes) return []; - results = !results ? [] : results; - for (var i = 0, l = nodes.length; i < l; i++) { - var node = nodes[i]; - var children = data.nodeChildren(setting, node); - var nodeChecked = data.nodeChecked(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true && nodeChecked != node.checkedOld) { - results.push(node); - } - data.getTreeChangeCheckedNodes(setting, children, results); - } - return results; - }, - makeChkFlag: function (setting, node) { - if (!node) return; - var chkFlag = -1; - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - var cNode = children[i]; - var nodeChecked = data.nodeChecked(setting, cNode); - 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 (nodeChecked) { - 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 (nodeChecked) { - 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); - if (tools.apply(setting.callback.beforeCheck, [setting.treeId, node], true) == false) return true; - var nodeChecked = data.nodeChecked(setting, node); - data.nodeChecked(setting, node, !nodeChecked); - 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, - r = consts.radio; - var nodeChecked = data.nodeChecked(setting, node); - if (setting.check.chkStyle == r.STYLE) { - var checkedList = data.getRadioCheckedList(setting); - if (nodeChecked) { - if (setting.check.radioType == r.TYPE_ALL) { - for (i = checkedList.length - 1; i >= 0; i--) { - pNode = checkedList[i]; - var pNodeChecked = data.nodeChecked(setting, pNode); - if (pNodeChecked && pNode != node) { - data.nodeChecked(setting, pNode, 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); - var children = data.nodeChildren(setting, parentNode); - for (i = 0, l = children.length; i < l; i++) { - pNode = children[i]; - var pNodeChecked = data.nodeChecked(setting, pNode); - if (pNodeChecked && pNode != node) { - data.nodeChecked(setting, pNode, 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 { - var children = data.nodeChildren(setting, node); - if (nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.Y.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, true); - } - if (!nodeChecked && (!children || children.length == 0 || setting.check.chkboxType.N.indexOf("s") > -1)) { - view.setSonNodeCheckBox(setting, node, false); - } - if (nodeChecked && setting.check.chkboxType.Y.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, true); - } - if (!nodeChecked && setting.check.chkboxType.N.indexOf("p") > -1) { - view.setParentNodeCheckBox(setting, node, false); - } - } - }, - makeChkClass: function (setting, node) { - var c = consts.checkbox, r = consts.radio, - fullStyle = ""; - var nodeChecked = data.nodeChecked(setting, node); - 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 = nodeChecked ? ((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 + "_" + (nodeChecked ? 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 root = data.getRoot(setting); - var children = data.nodeChildren(setting, root); - for (var i = 0, l = children.length; i < l; i++) { - var node = children[i]; - if (node.nocheck !== true && node.chkDisabled !== true) { - data.nodeChecked(setting, node, 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 children = data.nodeChildren(setting, node); - if (children && children.length > 0) { - view.repairParentChkClass(setting, children[0]); - } else { - view.repairParentChkClass(setting, node); - } - }, - repairSonChkDisabled: function (setting, node, chkDisabled, inherit) { - if (!node) return; - if (node.chkDisabled != chkDisabled) { - node.chkDisabled = chkDisabled; - } - view.repairChkClass(setting, node); - var children = data.nodeChildren(setting, node); - if (children && inherit) { - for (var i = 0, l = children.length; i < l; i++) { - var sNode = children[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.attr('class', view.makeChkClass(setting, node)); - }, - setParentNodeCheckBox: function (setting, node, value, srcNode) { - var checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - data.makeChkFlag(setting, node); - if (node.nocheck !== true && node.chkDisabled !== true) { - data.nodeChecked(setting, node, 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 = data.nodeChildren(setting, node.getParentNode()); - for (var i = 0, l = pNodes.length; i < l; i++) { - var pNode = pNodes[i]; - var nodeChecked = data.nodeChecked(setting, pNode); - if ((pNode.nocheck !== true && pNode.chkDisabled !== true && nodeChecked) - || ((pNode.nocheck === true || pNode.chkDisabled === true) && pNode.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 checkObj = $$(node, consts.id.CHECK, setting); - if (!srcNode) srcNode = node; - - var hasDisable = false; - var children = data.nodeChildren(setting, node); - if (children) { - for (var i = 0, l = children.length; i < l; i++) { - var sNode = children[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) { - data.nodeChecked(setting, node, value); - if (!hasDisable) node.check_Child_State = (children && children.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.nodeChecked = function (setting, node, newChecked) { - if (!node) { - return false; - } - var key = setting.data.key.checked; - if (typeof newChecked !== 'undefined') { - if (typeof newChecked === "string") { - newChecked = tools.eqs(newChecked, "true"); - } - newChecked = !!newChecked; - node[key] = newChecked; - } else if (typeof node[key] == "string"){ - node[key] = tools.eqs(node[key], "true"); - } else { - node[key] = !!node[key]; - } - return node[key]; - }; - - 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, index) { - 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, index, 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/lib/zTree_v3/js/jquery.ztree.excheck.min.js b/lib/zTree_v3/js/jquery.ztree.excheck.min.js deleted file mode 100755 index 9089c77..0000000 --- a/lib/zTree_v3/js/jquery.ztree.excheck.min.js +++ /dev/null @@ -1,34 +0,0 @@ -/* - * JQuery zTree excheck v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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);if(i.apply(b.callback.beforeCheck,[b.treeId,a],!0)==!1)return!0;var d=f.nodeChecked(b,a);f.nodeChecked(b,a,!d);e.checkNodeRelation(b,a);d=n(a,h.id.CHECK,b);e.setChkClass(b,d,a);e.repairParentChkClassWithSelf(b,a);b.treeObj.trigger(h.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,h.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,h.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,j;d=h.radio;b=f.nodeChecked(c,a);if(c.check.chkStyle==d.STYLE){var g=f.getRadioCheckedList(c);if(b)if(c.check.radioType==d.TYPE_ALL){for(d=g.length-1;d>=0;d--){b=g[d];var k=f.nodeChecked(c,b);k&&b!=a&&(f.nodeChecked(c,b,!1),g.splice(d,1),e.setChkClass(c, -n(b,h.id.CHECK,c),b),b.parentTId!=a.parentTId&&e.repairParentChkClassWithSelf(c,b))}g.push(a)}else{g=a.parentTId?a.getParentNode():f.getRoot(c);g=f.nodeChildren(c,g);for(d=0,j=g.length;d-1)&&e.setSonNodeCheckBox(c,a, -!0),!b&&(!g||g.length==0||c.check.chkboxType.N.indexOf("s")>-1)&&e.setSonNodeCheckBox(c,a,!1),b&&c.check.chkboxType.Y.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!0),!b&&c.check.chkboxType.N.indexOf("p")>-1&&e.setParentNodeCheckBox(c,a,!1)},makeChkClass:function(c,a){var b=h.checkbox,d=h.radio,j="",g=f.nodeChecked(c,a),j=a.chkDisabled===!0?b.DISABLED:a.halfCheck?b.PART:c.check.chkStyle==d.STYLE?a.check_Child_State<1?b.FULL:b.PART:g?a.check_Child_State===2||a.check_Child_State===-1?b.FULL:b.PART: -a.check_Child_State<1?b.FULL:b.PART,d=c.check.chkStyle+"_"+(g?b.TRUE:b.FALSE)+"_"+j,d=a.check_Focus&&a.chkDisabled!==!0?d+"_"+b.FOCUS:d;return h.className.BUTTON+" "+b.DEFAULT+" "+d},repairAllChk:function(c,a){if(c.check.enable&&c.check.chkStyle===h.checkbox.STYLE)for(var b=f.getRoot(c),b=f.nodeChildren(c,b),d=0,j=b.length;d0?e.repairParentChkClass(c,b[0]):e.repairParentChkClass(c,a)}},repairSonChkDisabled:function(c,a,b,d){if(a){if(a.chkDisabled!=b)a.chkDisabled=b;e.repairChkClass(c,a);if((a=f.nodeChildren(c,a))&&d)for(var j=0,g=a.length;j0){j=!1;break}}j&&e.setParentNodeCheckBox(c,a.getParentNode(),b,d)}},setSonNodeCheckBox:function(c,a,b,d){if(a){var j=n(a,h.id.CHECK,c);d||(d=a);var g=!1,k=f.nodeChildren(c,a);if(k)for(var i=0,l=k.length;i0?b?2:0:-1}else a.check_Child_State=-1;e.setChkClass(c,j,a);c.check.autoCheckTrigger&&a!=d&&a.nocheck!==!0&&a.chkDisabled!==!0&&c.treeObj.trigger(h.event.CHECK,[null,c.treeId,a])}}}},event:{},data:{getRadioCheckedList:function(c){for(var a=f.getRoot(c).radioCheckedList,b=0,d=a.length;b-1&&a.check_Child_State<2:a.check_Child_State>0}},getTreeCheckedNodes:function(c,a,b,d){if(!a)return[];for(var j=b&&c.check.chkStyle==h.radio.STYLE&&c.check.radioType==h.radio.TYPE_ALL,d=!d?[]:d,g=0,e=a.length;g0)break}return d},getTreeChangeCheckedNodes:function(c,a,b){if(!a)return[];for(var b=!b?[]:b,d=0,j=a.length;d0?2:0,l==2){b=2;break}else l==0&&(b=0);else if(c.check.chkStyle==h.checkbox.STYLE)if(l=e.nocheck===!0||e.chkDisabled===!0?e.check_Child_State:e.halfCheck===!0?1:i?e.check_Child_State===-1||e.check_Child_State===2?2:1:e.check_Child_State>0?1:0,l===1){b=1;break}else if(l===2&&b>-1&&j>0&&l!== -b){b=1;break}else if(b===2&&l>-1&&l<2){b=1;break}else l>-1&&(b=l)}a.check_Child_State=b}}}});var m=m.fn.zTree,i=m._z.tools,h=m.consts,e=m._z.view,f=m._z.data,n=i.$;f.nodeChecked=function(c,a,b){if(!a)return!1;c=c.data.key.checked;typeof b!=="undefined"?(typeof b==="string"&&(b=i.eqs(b,"true")),a[c]=!!b):a[c]=typeof a[c]=="string"?i.eqs(a[c],"true"):!!a[c];return a[c]};f.exSetting(v);f.addInitBind(function(c){c.treeObj.bind(h.event.CHECK,function(a,b,d,e){a.srcEvent=b;i.apply(c.callback.onCheck,[a, -d,e])})});f.addInitUnBind(function(c){c.treeObj.unbind(h.event.CHECK)});f.addInitCache(function(){});f.addInitNode(function(c,a,b,d){if(b){a=f.nodeChecked(c,b);b.checkedOld=a;if(typeof b.nocheck=="string")b.nocheck=i.eqs(b.nocheck,"true");b.nocheck=!!b.nocheck||c.check.nocheckInherit&&d&&!!d.nocheck;if(typeof b.chkDisabled=="string")b.chkDisabled=i.eqs(b.chkDisabled,"true");b.chkDisabled=!!b.chkDisabled||c.check.chkDisabledInherit&&d&&!!d.chkDisabled;if(typeof b.halfCheck=="string")b.halfCheck=i.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==h.radio.STYLE&&c.check.radioType==h.radio.TYPE_ALL&&a&&f.getRoot(c).radioCheckedList.push(b)}});f.addInitProxy(function(c){var a=c.target,b=f.getSetting(c.data.treeId),d="",e=null,g="",k=null;if(i.eqs(c.type,"mouseover")){if(b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="mouseoverCheck"}else if(i.eqs(c.type, -"mouseout")){if(b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="mouseoutCheck"}else if(i.eqs(c.type,"click")&&b.check.enable&&i.eqs(a.tagName,"span")&&a.getAttribute("treeNode"+h.id.CHECK)!==null)d=i.getNodeMainDom(a).id,g="checkNode";if(d.length>0)switch(e=f.getNodeCache(b,d),g){case "checkNode":k=p;break;case "mouseoverCheck":k=q;break;case "mouseoutCheck":k=r}return{stop:g==="checkNode",node:e,nodeEventType:g,nodeEventCallback:k, -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(""))});f.addZTreeTools(function(c,a){a.checkNode=function(a,b,g,k){var m=f.nodeChecked(c,a);if(a.chkDisabled!==!0&&(b!==!0&&b!==!1&&(b=!m),k=!!k,(m!==b||g)&&!(k&&i.apply(this.setting.callback.beforeCheck, -[this.setting.treeId,a],!0)==!1)&&i.uCanDo(this.setting)&&this.setting.check.enable&&a.nocheck!==!0))f.nodeChecked(c,a,b),b=n(a,h.id.CHECK,this.setting),(g||this.setting.check.chkStyle===h.radio.STYLE)&&e.checkNodeRelation(this.setting,a),e.setChkClass(this.setting,b,a),e.repairParentChkClassWithSelf(this.setting,a),k&&this.setting.treeObj.trigger(h.event.CHECK,[null,this.setting.treeId,a])};a.checkAllNodes=function(a){e.repairAllChk(this.setting,!!a)};a.getCheckedNodes=function(a){var a=a!==!1,b= -f.nodeChildren(c,f.getRoot(this.setting));return f.getTreeCheckedNodes(this.setting,b,a)};a.getChangeCheckedNodes=function(){var a=f.nodeChildren(c,f.getRoot(this.setting));return f.getTreeChangeCheckedNodes(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)&& -i.uCanDo(this.setting)){var g=n(c,h.id.CHECK,this.setting);(f==!0||this.setting.check.chkStyle===h.radio.STYLE)&&e.checkNodeRelation(this.setting,c);e.setChkClass(this.setting,g,c);e.repairParentChkClassWithSelf(this.setting,c)}}});var s=e.createNodes;e.createNodes=function(c,a,b,d,f){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,g,i){var m="";u&&(m=u.apply(e,arguments));d&&f.makeChkFlag(c,d);return m}})(jQuery); diff --git a/lib/zTree_v3/js/jquery.ztree.exedit.js b/lib/zTree_v3/js/jquery.ztree.exedit.js deleted file mode 100755 index 57358d8..0000000 --- a/lib/zTree_v3/js/jquery.ztree.exedit.js +++ /dev/null @@ -1,1203 +0,0 @@ -/* - * JQuery zTree exedit v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(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; - var isParent = data.nodeIsParent(setting, targetNode); - if (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, -1, [newNode], isSilent); - } - - if (tools.canAsync(this.setting, targetNode)) { - view.asyncNode(this.setting, targetNode, isSilent, copyCallback); - } else { - copyCallback(); - } - } else { - view.addNodes(this.setting, targetNode.parentNode, -1, [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; - var isParent = data.nodeIsParent(setting, targetNode); - if (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 children = data.nodeChildren(setting, node); - node.level = (parentNode) ? parentNode.level + 1 : 0; - if (!children) return; - for (var i = 0, l = children.length; i < l; i++) { - if (children[i]) data.setSonNodeLevel(setting, node, children[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; - 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 (data.nodeIsParent(setting, tmpNode) && 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 ? data.nodeChildren(setting, nodes[0].getParentNode()) : 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 = $$("
                                                                                                                                                                                                                                                                                                                              ", 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 = $$("
                                                                                                                                                                                                                                                                                                                            • ", 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 = $$("
                                                                                                                                                                                                                                                                                                                            • ...
                                                                                                                                                                                                                                                                                                                            • ", setting); - curNode.append(tmpDom); - } - } - curNode.attr("id", nodes[0].tId + consts.id.UL + "_tmp"); - curNode.addClass(setting.treeObj.attr("class")); - curNode.appendTo(body); - - tmpArrow = $$("", 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
                                                                                                                                                                                                                                                                                                                            • 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 && !data.nodeIsParent(setting, tmpTargetNode)) && tools.apply(targetSetting.edit.drag.inner, [targetSetting.treeId, nodes, tmpTargetNode], !!targetSetting.edit.drag.inner); - - function clearMove() { - tmpTarget = null; - tmpTargetNodeId = ""; - moveType = consts.move.TYPE_INNER; - tmpArrow.css({ - "display": "none" - }); - if (window.zTreeMoveTimer) { - clearTimeout(window.zTreeMoveTimer); - window.zTreeMoveTargetNodeTId = null - } - } - - if (!canPrev && !canNext && !canInner) { - clearMove(); - } 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 || (data.nodeIsParent(setting, tmpTargetNode) && tmpTargetNode.open)) ? (tmpTop + tmpTargetA.height() - tmpArrow.height() / 2) : (tmpNextA.offset().top - tmpArrow.height() / 2); - moveType = consts.move.TYPE_NEXT; - } else if (canInner) { - dX = 5 - tmpArrow.width(); - dY = tmpTop; - moveType = consts.move.TYPE_INNER; - } else { - clearMove(); - } - - if (tmpTarget) { - 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 && data.nodeIsParent(setting, tmpTargetNode) && 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 && data.nodeIsParent(setting, tmpTargetNode) && !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", ""); - 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 (data.nodeIsParent(setting, tmpNode) && 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, -1, newNodes); - } else { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes); - } - } else { - if (isCopy && moveType == consts.move.TYPE_INNER) { - view.addNodes(targetSetting, dragTargetNode, -1, newNodes); - } else if (isCopy) { - view.addNodes(targetSetting, dragTargetNode.getParentNode(), moveType == consts.move.TYPE_PREV ? dragTargetNode.getIndex() : dragTargetNode.getIndex() + 1, newNodes); - } else { - 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); - - var a = $$(newNodes[0], setting).get(0); - view.scrollIntoView(setting, a); - - 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; - } - - // 2018-03-30 FireFox has fixed this issue. - //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 = $$("
                                                                                                                                                                                                                                                                                                                              ", 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 = ""; - 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 = ""; - 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), - node = root.curEditNode; - - if (node) { - var inputObj = root.curEditInput, - newName = forceName ? forceName : (isCancel ? data.nodeName(setting, node) : inputObj.val()); - if (tools.apply(setting.callback.beforeRename, [setting.treeId, node, newName, isCancel], true) === false) { - return false; - } - data.nodeName(setting, node, newName); - 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); - setting.treeObj.trigger(consts.event.RENAME, [setting.treeId, node, isCancel]); - } - 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; - } - node.editNameFlag = true; - view.removeTreeDom(setting, node); - view.cancelCurEditNode(setting); - view.selectNode(setting, node, false); - $$(node, consts.id.SPAN, setting).html(""); - var inputObj = $$(node, consts.id.INPUT, setting); - inputObj.attr("value", data.nodeName(setting, node)); - 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); - if (targetNode == node) return; - if (setting.data.keep.leaf && targetNode && !data.nodeIsParent(setting, targetNode) && 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 (!data.nodeIsParent(setting, targetNode)) { - data.nodeIsParent(setting, targetNode, 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, -1, 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; - var oldChildren = data.nodeChildren(setting, oldParentNode); - var targetParentChildren = data.nodeChildren(setting, targetParentNode); - var targetChildren = data.nodeChildren(setting, targetNode); - if (node.isFirstNode) { - tmpSrcIndex = 0; - if (oldChildren.length > 1) { - oldNeighbor = oldChildren[1]; - oldNeighbor.isFirstNode = true; - } - } else if (node.isLastNode) { - tmpSrcIndex = oldChildren.length - 1; - oldNeighbor = oldChildren[tmpSrcIndex - 1]; - oldNeighbor.isLastNode = true; - } else { - for (i = 0, l = oldChildren.length; i < l; i++) { - if (oldChildren[i].tId == node.tId) { - tmpSrcIndex = i; - break; - } - } - } - if (tmpSrcIndex >= 0) { - oldChildren.splice(tmpSrcIndex, 1); - } - if (moveType != consts.move.TYPE_INNER) { - for (i = 0, l = targetParentChildren.length; i < l; i++) { - if (targetParentChildren[i].tId == targetNode.tId) tmpTargetIndex = i; - } - } - if (moveType == consts.move.TYPE_INNER) { - if (!targetChildren) { - targetChildren = data.nodeChildren(setting, targetNode, []); - } - if (targetChildren.length > 0) { - newNeighbor = targetChildren[targetChildren.length - 1]; - newNeighbor.isLastNode = false; - } - targetChildren.splice(targetChildren.length, 0, node); - node.isLastNode = true; - node.isFirstNode = (targetChildren.length == 1); - } else if (targetNode.isFirstNode && moveType == consts.move.TYPE_PREV) { - targetParentChildren.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) { - targetParentChildren.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) { - targetParentChildren.splice(tmpTargetIndex, 0, node); - } else { - targetParentChildren.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 && oldChildren.length < 1) { - //old parentNode has no child nodes - data.nodeIsParent(setting, oldParentNode, 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, index) { - 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/lib/zTree_v3/js/jquery.ztree.exedit.min.js b/lib/zTree_v3/js/jquery.ztree.exedit.min.js deleted file mode 100755 index cd9b268..0000000 --- a/lib/zTree_v3/js/jquery.ztree.exedit.min.js +++ /dev/null @@ -1,53 +0,0 @@ -/* - * JQuery zTree exedit v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(B){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"}},v={onHoverOverNode:function(a,b){var c=i.getSetting(a.data.treeId),d=i.getRoot(c);if(d.curHoverNode!=b)v.onHoverOutNode(a);d.curHoverNode=b;e.addHoverDom(c,b)},onHoverOutNode:function(a){var a= -i.getSetting(a.data.treeId),b=i.getRoot(a);if(b.curHoverNode&&!i.isSelectedNode(a,b.curHoverNode))e.removeTreeDom(a,b.curHoverNode),b.curHoverNode=null},onMousedownNode:function(a,b){function c(a){if(m.dragFlag==0&&Math.abs(N-a.clientX)1){var o=n[0].parentTId?i.nodeChildren(f,n[0].getParentNode()):i.getNodes(f);g=[];for(b=0,c=o.length;b-1&&p+1!==b&&(j=!1),g.push(o[b]),p=b),n.length===g.length){n=g;break}}j&&(H=n[0].getPreNode(),Q=n[n.length-1].getNextNode());C=q("
                                                                                                                                                                                                                                                                                                                                ", -f);for(b=0,c=n.length;b0),e.removeTreeDom(f,g),b>f.edit.drag.maxShowNodeNum-1||(j=q("
                                                                                                                                                                                                                                                                                                                              • ",f),j.append(q(g,d.id.A,f).clone()),j.css("padding","0"),j.children("#"+g.tId+d.id.A).removeClass(d.node.CURSELECTED),C.append(j),b==f.edit.drag.maxShowNodeNum-1&&(j=q("
                                                                                                                                                                                                                                                                                                                              • ...
                                                                                                                                                                                                                                                                                                                              • ",f),C.append(j)));C.attr("id",n[0].tId+d.id.UL+"_tmp");C.addClass(f.treeObj.attr("class"));C.appendTo(L);u=q("", -f);u.attr("id","zTreeMove_arrow_tmp");u.appendTo(L);f.treeObj.trigger(d.event.DRAG,[a,f.treeId,n])}if(m.dragFlag==1){t&&u.attr("id")==a.target.id&&w&&a.clientX+G.scrollLeft()+2>B("#"+w+d.id.A,t).offset().left?(g=B("#"+w+d.id.A,t),a.target=g.length>0?g.get(0):a.target):t&&(t.removeClass(d.node.TMPTARGET_TREE),w&&B("#"+w+d.id.A,t).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)); -w=t=null;J=!1;h=f;g=i.getSettings();for(var z in g)if(g[z].treeId&&g[z].edit.enable&&g[z].treeId!=f.treeId&&(a.target.id==g[z].treeId||B(a.target).parents("#"+g[z].treeId).length>0))J=!0,h=g[z];z=G.scrollTop();j=G.scrollLeft();p=h.treeObj.offset();b=h.treeObj.get(0).scrollHeight;g=h.treeObj.get(0).scrollWidth;c=a.clientY+z-p.top;var E=h.treeObj.height()+p.top-a.clientY-z,r=a.clientX+j-p.left,s=h.treeObj.width()+p.left-a.clientX-j,p=cf.edit.drag.borderMin,o=Ef.edit.drag.borderMin,F=rf.edit.drag.borderMin,v=sf.edit.drag.borderMin,E=c>f.edit.drag.borderMin&&E>f.edit.drag.borderMin&&r>f.edit.drag.borderMin&&s>f.edit.drag.borderMin,r=p&&h.treeObj.scrollTop()<=0,s=o&&h.treeObj.scrollTop()+h.treeObj.height()+10>=b,M=F&&h.treeObj.scrollLeft()<=0,P=v&&h.treeObj.scrollLeft()+h.treeObj.width()+10>=g;if(a.target&&k.isChildOrSelf(a.target,h.treeId)){for(var D=a.target;D&&D.tagName&&!k.eqs(D.tagName,"li")&&D.id!= -h.treeId;)D=D.parentNode;var R=!0;for(b=0,c=n.length;b0){R=!1;break}if(R&&a.target&&k.isChildOrSelf(a.target,D.id+d.id.A))t=B(D),w=D.id}g=n[0];if(E&&k.isChildOrSelf(a.target,h.treeId)){if(!t&&(a.target.id==h.treeId||r||s||M||P)&&(J||!J&&g.parentTId))t=h.treeObj;p?h.treeObj.scrollTop(h.treeObj.scrollTop()-10):o&&h.treeObj.scrollTop(h.treeObj.scrollTop()+10);F?h.treeObj.scrollLeft(h.treeObj.scrollLeft()-10):v&&h.treeObj.scrollLeft(h.treeObj.scrollLeft()+ -10);t&&t!=h.treeObj&&t.offset().left=-0.2)&&g?(j=1-u.width(),b=E-u.height()/2,x=d.move.TYPE_PREV):(M==0||z>=M&&z<=1.2)&&c?(j=1-u.width(),b=v==null||i.nodeIsParent(f,A)&&A.open?E+F.height()-u.height()/2:v.offset().top-u.height()/2,x=d.move.TYPE_NEXT):p?(j=5-u.width(),b=E,x=d.move.TYPE_INNER):o(),t){u.css({display:"block",top:b+"px",left:r+j+"px"});F.addClass(d.node.TMPTARGET_NODE+"_"+x);if(S!=w||T!=x)K=(new Date).getTime();if(A&&i.nodeIsParent(f, -A)&&x==d.move.TYPE_INNER&&(z=!0,window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId!==A.tId?(clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null):window.zTreeMoveTimer&&window.zTreeMoveTargetNodeTId===A.tId&&(z=!1),z))window.zTreeMoveTimer=setTimeout(function(){x==d.move.TYPE_INNER&&A&&i.nodeIsParent(f,A)&&!A.open&&(new Date).getTime()-K>h.edit.drag.autoOpenTime&&k.apply(h.callback.beforeDragOpen,[h.treeId,A],!0)&&(e.switchNode(h,A),h.edit.drag.autoExpandTrigger&&h.treeObj.trigger(d.event.EXPAND, -[h.treeId,A]))},h.edit.drag.autoOpenTime+50),window.zTreeMoveTargetNodeTId=A.tId}}else if(x=d.move.TYPE_INNER,t&&k.apply(h.edit.drag.inner,[h.treeId,n,null],!!h.edit.drag.inner)?t.addClass(d.node.TMPTARGET_TREE):t=null,u.css({display:"none"}),window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId=null;S=w;T=x;f.treeObj.trigger(d.event.DRAGMOVE,[a,f.treeId,n])}return!1}function l(a){if(window.zTreeMoveTimer)clearTimeout(window.zTreeMoveTimer),window.zTreeMoveTargetNodeTId= -null;T=S=null;G.unbind("mousemove",c);G.unbind("mouseup",l);G.unbind("selectstart",g);L.css("cursor","");t&&(t.removeClass(d.node.TMPTARGET_TREE),w&&B("#"+w+d.id.A,t).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));k.showIfameMask(f,!1);y.showHoverDom=!0;if(m.dragFlag!=0){m.dragFlag=0;var b,j,o;for(b=0,j=n.length;b0;)c.dragMaskList[0].remove(),c.dragMaskList.shift();if(b)for(var d=q("iframe",a),g=0,e=d.length;g",a);j.appendTo(q("body",a));c.dragMaskList.push(j)}}},view:{addEditBtn:function(a,b){if(!(b.editNameFlag|| -q(b,d.id.EDIT,a).length>0)&&k.apply(a.edit.showRenameBtn,[a.treeId,b],a.edit.showRenameBtn)){var c=q(b,d.id.A,a),l="";c.append(l);q(b,d.id.EDIT,a).bind("click",function(){if(!k.uCanDo(a)||k.apply(a.callback.beforeEditName,[a.treeId,b],!0)==!1)return!1;e.editNode(a,b);return!1}).show()}},addRemoveBtn:function(a, -b){if(!(b.editNameFlag||q(b,d.id.REMOVE,a).length>0)&&k.apply(a.edit.showRemoveBtn,[a.treeId,b],a.edit.showRemoveBtn)){var c=q(b,d.id.A,a),l="";c.append(l);q(b,d.id.REMOVE,a).bind("click",function(){if(!k.uCanDo(a)||k.apply(a.callback.beforeRemove,[a.treeId,b],!0)==!1)return!1;e.removeNode(a,b);a.treeObj.trigger(d.event.REMOVE, -[a.treeId,b]);return!1}).bind("mousedown",function(){return!0}).show()}},addHoverDom:function(a,b){if(i.getRoots().showHoverDom)b.isHover=!0,a.edit.enable&&(e.addEditBtn(a,b),e.addRemoveBtn(a,b)),k.apply(a.view.addHoverDom,[a.treeId,b])},cancelCurEditNode:function(a,b,c){var l=i.getRoot(a),g=l.curEditNode;if(g){var o=l.curEditInput,b=b?b:c?i.nodeName(a,g):o.val();if(k.apply(a.callback.beforeRename,[a.treeId,g,b,c],!0)===!1)return!1;i.nodeName(a,g,b);q(g,d.id.A,a).removeClass(d.node.CURSELECTED_EDIT); -o.unbind();e.setNodeName(a,g);g.editNameFlag=!1;l.curEditNode=null;l.curEditInput=null;e.selectNode(a,g,!1);a.treeObj.trigger(d.event.RENAME,[a.treeId,g,c])}return l.noSelection=!0},editNode:function(a,b){var c=i.getRoot(a);e.editNodeBlur=!1;if(i.isSelectedNode(a,b)&&c.curEditNode==b&&b.editNameFlag)setTimeout(function(){k.inputFocus(c.curEditInput)},0);else{b.editNameFlag=!0;e.removeTreeDom(a,b);e.cancelCurEditNode(a);e.selectNode(a,b,!1);q(b,d.id.SPAN,a).html("");var l=q(b,d.id.INPUT,a);l.attr("value",i.nodeName(a,b));a.edit.editNameSelectAll?k.inputSelect(l):k.inputFocus(l);l.bind("blur",function(){e.editNodeBlur||e.cancelCurEditNode(a)}).bind("keydown",function(b){b.keyCode=="13"?(e.editNodeBlur=!0,e.cancelCurEditNode(a)):b.keyCode=="27"&&e.cancelCurEditNode(a,null,!0)}).bind("click",function(){return!1}).bind("dblclick",function(){return!1});q(b,d.id.A,a).addClass(d.node.CURSELECTED_EDIT);c.curEditInput=l; -c.noSelection=!1;c.curEditNode=b}},moveNode:function(a,b,c,l,g,k){var j=i.getRoot(a);if(b!=c&&(!a.data.keep.leaf||!b||i.nodeIsParent(a,b)||l!=d.move.TYPE_INNER)){var f=c.parentTId?c.getParentNode():j,m=b===null||b==j;m&&b===null&&(b=j);if(m)l=d.move.TYPE_INNER;j=b.parentTId?b.getParentNode():j;if(l!=d.move.TYPE_PREV&&l!=d.move.TYPE_NEXT)l=d.move.TYPE_INNER;if(l==d.move.TYPE_INNER)if(m)c.parentTId=null;else{if(!i.nodeIsParent(a,b))i.nodeIsParent(a,b,!0),b.open=!!b.open,e.setNodeLineIcos(a,b);c.parentTId= -b.tId}var y;m?y=m=a.treeObj:(!k&&l==d.move.TYPE_INNER?e.expandCollapseNode(a,b,!0,!1):k||e.expandCollapseNode(a,b.getParentNode(),!0,!1),m=q(b,a),y=q(b,d.id.UL,a),m.get(0)&&!y.get(0)&&(y=[],e.makeUlHtml(a,b,y,""),m.append(y.join(""))),y=q(b,d.id.UL,a));var r=q(c,a);r.get(0)?m.get(0)||r.remove():r=e.appendNodes(a,c.level,[c],null,-1,!1,!0).join("");y.get(0)&&l==d.move.TYPE_INNER?y.append(r):m.get(0)&&l==d.move.TYPE_PREV?m.before(r):m.get(0)&&l==d.move.TYPE_NEXT&&m.after(r);var s;y=-1;var r=0,n=null, -m=null,B=c.level,v=i.nodeChildren(a,f),C=i.nodeChildren(a,j),u=i.nodeChildren(a,b);if(c.isFirstNode){if(y=0,v.length>1)n=v[1],n.isFirstNode=!0}else if(c.isLastNode)y=v.length-1,n=v[y-1],n.isLastNode=!0;else for(j=0,s=v.length;j=0&&v.splice(y,1);if(l!=d.move.TYPE_INNER)for(j=0,s=C.length;j0)m=u[u.length-1],m.isLastNode=!1;u.splice(u.length,0,c);c.isLastNode=!0;c.isFirstNode= -u.length==1}else b.isFirstNode&&l==d.move.TYPE_PREV?(C.splice(r,0,c),m=b,m.isFirstNode=!1,c.parentTId=b.parentTId,c.isFirstNode=!0,c.isLastNode=!1):b.isLastNode&&l==d.move.TYPE_NEXT?(C.splice(r+1,0,c),m=b,m.isLastNode=!1,c.parentTId=b.parentTId,c.isFirstNode=!1,c.isLastNode=!0):(l==d.move.TYPE_PREV?C.splice(r,0,c):C.splice(r+1,0,c),c.parentTId=b.parentTId,c.isFirstNode=!1,c.isLastNode=!1);i.fixPIdKeyValue(a,c);i.setSonNodeLevel(a,c.getParentNode(),c);e.setNodeLineIcos(a,c);e.repairNodeLevelClass(a, -c,B);!a.data.keep.parent&&v.length<1?(i.nodeIsParent(a,f,!1),f.open=!1,b=q(f,d.id.UL,a),l=q(f,d.id.SWITCH,a),j=q(f,d.id.ICON,a),e.replaceSwitchClass(f,l,d.folder.DOCU),e.replaceIcoClass(f,j,d.folder.DOCU),b.css("display","none")):n&&e.setNodeLineIcos(a,n);m&&e.setNodeLineIcos(a,m);a.check&&a.check.enable&&e.repairChkClass&&(e.repairChkClass(a,f),e.repairParentChkClassWithSelf(a,f),f!=c.parent&&e.repairParentChkClassWithSelf(a,c));k||e.expandCollapseParentNode(a,c.getParentNode(),!0,g)}},removeEditBtn:function(a, -b){q(b,d.id.EDIT,a).unbind().remove()},removeRemoveBtn:function(a,b){q(b,d.id.REMOVE,a).unbind().remove()},removeTreeDom:function(a,b){b.isHover=!1;e.removeEditBtn(a,b);e.removeRemoveBtn(a,b);k.apply(a.view.removeHoverDom,[a.treeId,b])},repairNodeLevelClass:function(a,b,c){if(c!==b.level){var e=q(b,a),g=q(b,d.id.A,a),a=q(b,d.id.UL,a),c=d.className.LEVEL+c,b=d.className.LEVEL+b.level;e.removeClass(c);e.addClass(b);g.removeClass(c);g.addClass(b);a.removeClass(c);a.addClass(b)}},selectNodes:function(a, -b){for(var c=0,d=b.length;c0)}},event:{},data:{setSonNodeLevel:function(a,b,c){if(c){var d=i.nodeChildren(a,c);c.level=b?b.level+1:0;if(d)for(var b=0,g=d.length;b0)switch(o=i.getNodeCache(c,g),j){case "mousedownNode":f=v.onMousedownNode;break;case "hoverOverNode":f=v.onHoverOverNode; -break;case "hoverOutNode":f=v.onHoverOutNode}return{stop:!1,node:o,nodeEventType:j,nodeEventCallback:f,treeEventType:"",treeEventCallback:null}});i.addInitRoot(function(a){var a=i.getRoot(a),b=i.getRoots();a.curEditNode=null;a.curEditInput=null;a.curHoverNode=null;a.dragFlag=0;a.dragNodeShowBefore=[];a.dragMaskList=[];b.showHoverDom=!0});i.addZTreeTools(function(a,b){b.cancelEditName=function(a){i.getRoot(this.setting).curEditNode&&e.cancelCurEditNode(this.setting,a?a:null,!0)};b.copyNode=function(b, -l,g,o){if(!l)return null;var j=i.nodeIsParent(a,b);if(b&&!j&&this.setting.data.keep.leaf&&g===d.move.TYPE_INNER)return null;var f=this,m=k.clone(l);if(!b)b=null,g=d.move.TYPE_INNER;g==d.move.TYPE_INNER?(l=function(){e.addNodes(f.setting,b,-1,[m],o)},k.canAsync(this.setting,b)?e.asyncNode(this.setting,b,o,l):l()):(e.addNodes(this.setting,b.parentNode,-1,[m],o),e.moveNode(this.setting,b,m,g,!1,o));return m};b.editName=function(a){a&&a.tId&&a===i.getNodeCache(this.setting,a.tId)&&(a.parentTId&&e.expandCollapseParentNode(this.setting, -a.getParentNode(),!0),e.editNode(this.setting,a))};b.moveNode=function(b,l,g,o){function j(){e.moveNode(m.setting,b,l,g,!1,o)}if(!l)return l;var f=i.nodeIsParent(a,b);if(b&&!f&&this.setting.data.keep.leaf&&g===d.move.TYPE_INNER)return null;else if(b&&(l.parentTId==b.tId&&g==d.move.TYPE_INNER||q(l,this.setting).find("#"+b.tId).length>0))return null;else b||(b=null);var m=this;k.canAsync(this.setting,b)&&g===d.move.TYPE_INNER?e.asyncNode(this.setting,b,o,j):j();return l};b.setEditable=function(a){this.setting.edit.enable= -a;return this.refresh()}});var N=e.cancelPreSelectedNode;e.cancelPreSelectedNode=function(a,b){for(var c=i.getRoot(a).curSelectedList,d=0,g=c.length;d"); - }, - showNode: function (setting, node, options) { - data.isHidden(setting, node, 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 = data.nodeChildren(setting, pList[tId]); - view.setFirstNodeForShow(setting, children); - view.setLastNodeForShow(setting, children); - } - }, - hideNode: function (setting, node, options) { - data.isHidden(setting, node, 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 = data.nodeChildren(setting, pList[tId]); - view.setFirstNodeForHide(setting, children); - view.setLastNodeForHide(setting, children); - } - }, - setFirstNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - var isHidden = data.isHidden(setting, children[0], false); - if (children.length > 0 && !isHidden) { - children[0].isFirstNode = true; - } else if (children.length > 0) { - view.setFirstNodeForHide(setting, children); - } - }, - setLastNode: function (setting, parentNode) { - var children = data.nodeChildren(setting, parentNode); - var isHidden = data.isHidden(setting, children[0]); - if (children.length > 0 && !isHidden) { - children[children.length - 1].isLastNode = true; - } else if (children.length > 0) { - view.setLastNodeForHide(setting, children); - } - }, - setFirstNodeForHide: function (setting, nodes) { - var n, i, j; - for (i = 0, j = nodes.length; i < j; i++) { - n = nodes[i]; - if (n.isFirstNode) { - break; - } - var isHidden = data.isHidden(setting, n); - if (!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]; - var isHidden = data.isHidden(setting, n); - if (!first && !isHidden && n.isFirstNode) { - first = n; - break; - } else if (!first && !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; - } - var isHidden = data.isHidden(setting, n); - if (!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]; - var isHidden = data.isHidden(setting, n); - if (!last && !isHidden && n.isLastNode) { - last = n; - break; - } else if (!last && !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.isHidden = function (setting, node, newIsHidden) { - if (!node) { - return false; - } - var key = setting.data.key.isHidden; - if (typeof newIsHidden !== 'undefined') { - if (typeof newIsHidden === "string") { - newIsHidden = tools.eqs(newIsHidden, "true"); - } - newIsHidden = !!newIsHidden; - node[key] = newIsHidden; - } else if (typeof node[key] == "string"){ - node[key] = tools.eqs(node[key], "true"); - } else { - node[key] = !!node[key]; - } - return node[key]; - }; - - data.exSetting(_setting); - 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); - if (openFlag) { - 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 (openFlag && isLastNode) { - view.clearOldLastNode(setting, node, openFlag); - } - }; - - var _makeChkFlag = data.makeChkFlag; - if (!!_makeChkFlag) { - data.makeChkFlag = function (setting, node) { - if (!!node && !!data.isHidden(setting, node)) { - 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 && !!data.isHidden(setting, p)) { - 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 && !!data.isHidden(setting, p)) { - return []; - } - } - return _getTreeChangeCheckedNodes.apply(data, arguments); - } - } - - var _expandCollapseSonNode = view.expandCollapseSonNode; - if (!!_expandCollapseSonNode) { - view.expandCollapseSonNode = function (setting, node, expandFlag, animateFlag, callback) { - if (!!node && !!data.isHidden(setting, node)) { - return; - } - _expandCollapseSonNode.apply(view, arguments); - } - } - - var _setSonNodeCheckBox = view.setSonNodeCheckBox; - if (!!_setSonNodeCheckBox) { - view.setSonNodeCheckBox = function (setting, node, value, srcNode) { - if (!!node && !!data.isHidden(setting, node)) { - return; - } - _setSonNodeCheckBox.apply(view, arguments); - } - } - - var _repairParentChkClassWithSelf = view.repairParentChkClassWithSelf; - if (!!_repairParentChkClassWithSelf) { - view.repairParentChkClassWithSelf = function (setting, node) { - if (!!node && !!data.isHidden(setting, node)) { - return; - } - _repairParentChkClassWithSelf.apply(view, arguments); - } - } -})(jQuery); \ No newline at end of file diff --git a/lib/zTree_v3/js/jquery.ztree.exhide.min.js b/lib/zTree_v3/js/jquery.ztree.exhide.min.js deleted file mode 100755 index 85125ef..0000000 --- a/lib/zTree_v3/js/jquery.ztree.exhide.min.js +++ /dev/null @@ -1,23 +0,0 @@ -/* - * JQuery zTree exHideNodes v3.5.40 - * http://treejs.cn/ - * - * 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: 2019-01-18 - */ -(function(j){j.extend(!0,j.fn.zTree._z,{view:{clearOldFirstNode:function(c,a){for(var b=a.getNextNode();b;){if(b.isFirstNode){b.isFirstNode=!1;e.setNodeLineIcos(c,b);break}if(b.isLastNode)break;b=b.getNextNode()}},clearOldLastNode:function(c,a,b){for(a=a.getPreNode();a;){if(a.isLastNode){a.isLastNode=!1;b&&e.setNodeLineIcos(c,a);break}if(a.isFirstNode)break;a=a.getPreNode()}},makeDOMNodeMainBefore:function(c,a,b){a=d.isHidden(a,b);c.push("
                                                                                                                                                                                                                                                                                                                              • ")},showNode:function(c,a){d.isHidden(c,a,!1);d.initShowForExCheck(c,a);k(a,c).show()},showNodes:function(c,a,b){if(a&&a.length!=0){var f={},g,i;for(g=0,i=a.length;g0&&!f?b[0].isFirstNode=!0:b.length>0&&e.setFirstNodeForHide(c,b)},setLastNode:function(c,a){var b=d.nodeChildren(c,a),f=d.isHidden(c,b[0]);b.length>0&&!f?b[b.length-1].isLastNode=!0:b.length>0&&e.setLastNodeForHide(c,b)},setFirstNodeForHide:function(c,a){var b,f,g;for(f=0,g=a.length;f=0;f--){b=a[f];if(b.isLastNode)break;if(!d.isHidden(c,b)&&!b.isLastNode){b.isLastNode=!0;e.setNodeLineIcos(c,b);break}else b=null}return b},setLastNodeForShow:function(c, -a){var b,f,g,i;for(f=a.length-1;f>=0;f--){b=a[f];var h=d.isHidden(c,b);if(!g&&!h&&b.isLastNode){g=b;break}else if(!g&&!h&&!b.isLastNode)b.isLastNode=!0,g=b,e.setNodeLineIcos(c,b);else if(g&&b.isLastNode){b.isLastNode=!1;i=b;e.setNodeLineIcos(c,b);break}}return{"new":g,old:i}}},data:{initHideForExCheck:function(c,a){if(d.isHidden(c,a)&&c.check&&c.check.enable){if(typeof a._nocheck=="undefined")a._nocheck=!!a.nocheck,a.nocheck=!0;a.check_Child_State=-1;e.repairParentChkClassWithSelf&&e.repairParentChkClassWithSelf(c, -a)}},initShowForExCheck:function(c,a){if(!d.isHidden(c,a)&&c.check&&c.check.enable){if(typeof a._nocheck!="undefined")a.nocheck=a._nocheck,delete a._nocheck;if(e.setChkClass){var b=k(a,m.id.CHECK,c);e.setChkClass(c,b,a)}e.repairParentChkClassWithSelf&&e.repairParentChkClassWithSelf(c,a)}}}});var j=j.fn.zTree,l=j._z.tools,m=j.consts,e=j._z.view,d=j._z.data,k=l.$;d.isHidden=function(c,a,b){if(!a)return!1;c=c.data.key.isHidden;typeof b!=="undefined"?(typeof b==="string"&&(b=l.eqs(b,"true")),a[c]=!!b): -a[c]=typeof a[c]=="string"?l.eqs(a[c],"true"):!!a[c];return a[c]};d.exSetting({data:{key:{isHidden:"isHidden"}}});d.addInitNode(function(c,a,b){a=d.isHidden(c,b);d.isHidden(c,b,a);d.initHideForExCheck(c,b)});d.addBeforeA(function(){});d.addZTreeTools(function(c,a){a.showNodes=function(a,b){e.showNodes(c,a,b)};a.showNode=function(a,b){a&&e.showNodes(c,[a],b)};a.hideNodes=function(a,b){e.hideNodes(c,a,b)};a.hideNode=function(a,b){a&&e.hideNodes(c,[a],b)};var b=a.checkNode;if(b)a.checkNode=function(f, -e,i,h){(!f||!d.isHidden(c,f))&&b.apply(a,arguments)}});var n=d.initNode;d.initNode=function(c,a,b,f,g,i,h){var j=(f?f:d.getRoot(c))[c.data.key.children];d.tmpHideFirstNode=e.setFirstNodeForHide(c,j);d.tmpHideLastNode=e.setLastNodeForHide(c,j);h&&(e.setNodeLineIcos(c,d.tmpHideFirstNode),e.setNodeLineIcos(c,d.tmpHideLastNode));g=d.tmpHideFirstNode===b;i=d.tmpHideLastNode===b;n&&n.apply(d,arguments);h&&i&&e.clearOldLastNode(c,b,h)};var o=d.makeChkFlag;if(o)d.makeChkFlag=function(c,a){(!a||!d.isHidden(c, -a))&&o.apply(d,arguments)};var p=d.getTreeCheckedNodes;if(p)d.getTreeCheckedNodes=function(c,a,b,f){if(a&&a.length>0){var e=a[0].getParentNode();if(e&&d.isHidden(c,e))return[]}return p.apply(d,arguments)};var q=d.getTreeChangeCheckedNodes;if(q)d.getTreeChangeCheckedNodes=function(c,a,b){if(a&&a.length>0){var e=a[0].getParentNode();if(e&&d.isHidden(c,e))return[]}return q.apply(d,arguments)};var r=e.expandCollapseSonNode;if(r)e.expandCollapseSonNode=function(c,a,b,f,g){(!a||!d.isHidden(c,a))&&r.apply(e, -arguments)};var s=e.setSonNodeCheckBox;if(s)e.setSonNodeCheckBox=function(c,a,b,f){(!a||!d.isHidden(c,a))&&s.apply(e,arguments)};var t=e.repairParentChkClassWithSelf;if(t)e.repairParentChkClassWithSelf=function(c,a){(!a||!d.isHidden(c,a))&&t.apply(e,arguments)}})(jQuery); diff --git a/lib/zTree_v3/log v3.x.txt b/lib/zTree_v3/log v3.x.txt deleted file mode 100755 index bdba3e5..0000000 --- a/lib/zTree_v3/log v3.x.txt +++ /dev/null @@ -1,319 +0,0 @@ -=ZTree v3.x (JQuery Tree插件) 更新日志= - -为了更好的优化及扩展zTree, 因此决定升级为v3.x,并且对之前的v2.x不兼容,会有很多结构上的修改,对此深感无奈与抱歉,请大家谅解。 - - -具体修改内容可参考: - - * [http://www.treejs.cn/v3/api.php zTree v3.x API 文档] - - * [http://www.treejs.cn/v3/demo.php#_101 zTree v3.x Demo 演示] - - * [http://www.treejs.cn/v3/faq.php#_101 zTree v3.x 常见问题] - - - -*2019.01.18* v3.5.40 - * [修改] fuzzySearch.js Thanks @yigger - -*2019.01.17* v3.5.39 - * [修改] data.nodeChecked & data.isHidden & data.nodeIsParent 的 返回值规范为 boolean Thanks @xinhochen & @田biubiu & @FelixFly - -*2019.01.08* v3.5.38 - * [修改] data.nodeChecked & data.isHidden 的 返回值规范为 boolean Thanks @xinhochen - -*2018.12.10* v3.5.37 - * [修改] fuzzySearch.js & Demo Thanks @SadWood & @JerryWang24 - -*2018.08.21* v3.5.37 - * [修改] 替换 scrollIntoViewIfNeeded 方法 Thanks @jocki84 - * [修改] 部分 API 文字错误 - -*2018.06.26* v3.5.36 - * [增加] setting.async.headers & setting.async.xhrFields - -*2018.04.24* v3.5.35 - * [增加] Demo:模糊搜索(Fuzzy Search) Thanks @bigablecat - -*2018.03.30* v3.5.35 - * [修改] 关闭拖拽方法内的 eventMouseDown.preventDefault(); 避免影响 zTree 外部的事件 Thanks @heyusysu - -*2018.02.12* v3.5.34 - * [修改] nodeChecked 方法内的错误 Thanks @勇哥 - -*2018.01.30* v3.5.33 - * [修改] nodeIsParent 方法内的错误 Thanks @netmou - -*2018.01.06* v3.5.32 - * [修改] setting.async.autoParam / otherParam 支持 function - * [修改] isParent / isHidden 允许自定义属性名称 setting.data.key.isParent / isHidden - -*2017.12.28* v3.5.31 - * [修改] 初始化节点数据的规则,支持 treeNode { name: "Node2", children: []}, 情况下自动设置为 isParent = true - -*2017.11.11* v3.5.30 - * [修改] scrollIntoViewIfNeeded 方法对 IE7 的兼容 - -*2017.06.23* v3.5.29 - * [修改] 拖拽操作后 body.css("cursor", "auto"); 修改为 body.css("cursor", "");(感谢 Jim) - -*2017.06.19* v3.5.29 - * [增加] reAsyncChildNodesPromise(parentNode, reloadType, isSilent) 方法支持 ES6 Promise - * [修改] reAsyncChildNodes 方法增加 callback 参数 - -*2017.01.20* v3.5.28 - * [修改] scrollIntoViewIfNeeded 方法对 IE8 的兼容 - -*2016.12.27* v3.5.27 - * [修改] addNodes 方法设置 index 参数后,导致 treeNode.isLastNode 错误 - -*2016.11.03* v3.5.26 - * [修改] 使用 scrollIntoViewIfNeeded 替代 scrollIntoView,兼容各种浏览器 - -*2016.09.27* v3.5.25 - * [修改] ajax 异步加载支持 contentType = 'application/json' - -*2016.06.06* v3.5.24 - * [修改] selectNode 方法中 某些情况下,isSilent 参数无效 - * [修改] 数据中 id = 'length'时, 导致 transformTozTreeFormat() 方法异常 - -*2016.04.08* v3.5.23 - * [修改] expandCollapseNode 方法被 gulp 压缩后,在 IE8 上会导致溢出 - -*2016.04.06* v3.5.23 - * [修改] 替换 arguments.callee 避免 'use strict' 严格模式下报错 - -*2016.04.01* v3.5.23 - * [修改] selectNode 方法 增加 isSilent 参数,可以禁止 选中节点时,自动滚动到视图 - -*2016.03.01* v3.5.22 - * [修改] metro Demo 的样式错误 - * [修改] 增加 的 padding 后, 导致 setting.edit.drag.inner 无效 - -*2016.02.17* v3.5.21 - * [修改] zTree js 文件名 (为了便于发布到 https://cdnjs.com/) - -*2016.01.20* v3.5.20 - * [修改] checkAllNodes() 方法不处理 (chkDisabled = true) 的父节点的子节点的 bug - -*2015.12.04* v3.5.19.3 - * [修改] 为避免定位节点时抢焦点, 使用 scrollIntoView 方法替换之前的 focus 方法(对于IE6等旧浏览器仍然使用 focus方法) - -*2015.11.15* v3.5.19.2 - * [增加] 给节点名称的 span 标签增加 class,便于用户设置 css - -*2015.10.26* v3.5.19.1 - * [修改] addNodes 新方法 导致 拖拽节点时报错 - * [增加] treeNode.getIndex 方法,可以快速获取 节点在 子节点中的位置 - * [增加] treeNode.getPath 方法,可以快速获取 节点的所有父节点 - -*2015.10.22* v3.5.19 - * [修改] addNodes 方法支持直接添加新节点到任意位置 addNodes(parentNode, index, newNodes, isSilent) - * [修改] selectstart 事件未解绑导致的内存泄漏 - -*2015.08.26* v3.5.18 - * [修改] onSelected/onUnSelected 回调参数,由 (event, treeId, node) 修改为 (treeId, node);另外 删除 已选择的节点时,也会触发 onUnSelected 回调 - * [增加] Allow nodes to specify their own icon using an 'icon' property of the 'setting.data.key' - * [增加] metro 风格 demo - * [增加] awesome 风格 demo - * [增加] 回调 onSelected / onUnSelected - -*2015.02.15* v3.5.17 - * [修改] excheck 扩展中 removeClass 与 jQueryUI 1.9 冲突的问题,目前放弃 removeClass 方法 - * [修改] 优化 exhide 扩展包初始化效率,避免数据多时 ie8 假死的 bug(感谢:https://github.com/sarxos) - * [修改] 若干 Demo & API 的小错误 - * [修改] 异步加载 低版本 IE 缓存严重的问题 - * [修改] 在 onRename 回调中使用 updateNode 方法无效的问题 - -*2014.03.09* v3.5.16 - * [增加] onDragMove 回调,便于控制 zTree 节点与其他 DOM 的拖拽操作。(感谢 yumi301) - * [增加] 针对 Mac 系统 Cmd 键的支持, Cmd 键 + 左键 也可以多选节点 - - * [修改] 使用 destory 方法销毁树以后,依然可以从 getZTreeObj 方法中获取到 zTree 对象的 bug。 - * [修改] onCheck 回调的 event,恢复为 zTree 自身的 event 事件,同时利用 srcEvent 传递原始 event 对象。(感谢 yumi301) - * [修改] 拖拽多个节点时,超出 maxShowNodeNum 设置个数的节点会失去 被选择状态的 bug - * [修改] excheck & exedit 扩展包的 zTree 方法中 setting 数据错误导致 checkNode、updateNode 等方法操作 radio 失效的 bug - * [修改] 不加载 exedit 扩展包时,使用 removeNode 方法无法触发 beforeRemove 和 onRemove 回调的 bug - -*2013.10.19* v3.5.15 - * [增加] setting.view.txtSelectedEnable 属性,满足部分项目中客户对于可以选择节点文本信息的强烈欲望。 - - * [修改] exhide 扩展包导致操作子节点后 isLastNode 属性异常 的bug - * [修改] 使用 cancelEditName 方法时,beforeRename & onRename 的 isCancel 始终为 false 的bug - * [修改] 编辑状态, beforeRename 回调 return false 时,提示信息导致 input 失去焦点后, 当树再次得到焦点时,让 input 自动获取焦点 - * [修改] 判断拖拽到节点的 标签中自定义的无 id 组件判断错误的bug - * [修改] async_edit.html demo 中 添加按钮 显示的 bug - * [修改] 当没有开启异步加载模式下,对于没有子节点的父节点,即使设置 open=true 在初始化时也不会设置为展开状态的bug (对于异步加载模式下依然会强行设置为折叠状态) - -*2013.06.28* v3.5.14 - * [修改] 拖拽节点时 iframe 遮罩异常的bug - * [修改] 清空子节点后重新添加子节点无法显示的bug - -*2013.06.02* v3.5.13 - - * [增加] beforeRename & onRename 增加 isCancel 参数,可以监控用户 ESC 取消编辑的事件 - - * [修改] 初始化时 radioType="all", 父节点未展开 且 子节点有被勾选,点击其他 radio 时,不会取消勾选该子节点的bug - * [修改] 多棵树拖拽时,拖拽无效后会导致目标书已选择的节点清空的 bug。 - * [修改] 多棵树拖拽时,会触发 addHoverDom 的bug。 - * [修改] 多棵树拖拽时,由于 beforeDrog 或 prev / inner / next 返回 false 后未触发原始节点的 addHoverDom 的bug - * [修改] 异步加载时,对于未加载子节点的父节点使用 expandNode 方法时, sonSign 设置为 true后,导致异步加载的节点无法正常显示的bug - * [修改] 一次性加载全部数据,如果父节点 A 未展开,但下一级的父节点 A1 设置了 open=true 的时候,使用 expandAll 方法导致 A1 的下一级父节点出现重复的 bug - * [修改] 增加对 iframe 的支持,可以只在主页面加载 zTree 的 js,在 iframe 内创建树 [https://github.com/zTree/zTree_v3/issues/7 Issue Info] - * [修改] 引入 exhide 扩展包 导致页面上同时加载多棵树时,根节点 的 连接线图标出现异常 的 bug [http://tieba.baidu.com/p/2277416574] - * [修改] excheck & exedit 扩展包中事件代理获取节点 tId 的方法,保证适当修改 DOM 结构也能得到 tId - -*2013.03.11* v3.5.12 - * [修改] 由于 jquery 1.9 中移除 event.srcElement 导致的 js 报错的bug。 - * [修改] 在异步加载模式下,使用 moveNode 方法,且 moveType != "inner" 时,也会导致 targetNode 自动加载子节点的 bug - * [修改] 对已经显示的节点(nocheck=true)使用 showNodes 或 showNode 方法后,导致勾选框出现的bug。 - * [修改] 对已经隐藏的节点(nocheck=false)使用 hideNodes 或 hideNode 方法后,导致勾选框消失的bug。 - * [修改] getNodesByParamFuzzy 支持 大小写模糊。 - * [修改] className 结构,提取 _consts.className.BUTTON / LEVEL / ICO_LOADING / SWITCH,便于快速修改 css 冲突。 - 例如:与 WordPress 产生冲突后,直接修改 core 中的 "button" 和 "level" 即可。 Issue: https://github.com/zTree/zTree_v3/issues/2 - -*2013.01.28* v3.5.02 - * [增加] setting.check.chkDisabledInherit 属性,用于设置 chkDisabled 在初始化时子节点是否可以继承父节点的 chkDisabled 属性 - * [删除] 内部 noSel 方法,使用 selectstart事件 和 "-moz-user-select"样式 处理禁止 节点文字被选择的功能 - * [修改] 不兼容 jQuery 1.9 的bug - * [修改] onDrop 的触发规则,保证异步加载模式下,可以在延迟加载结束后触发,避免 onDrop 中被拖拽的节点是已经更新后的数据。 - * [修改] setChkDisabled 方法,增加 inheritParent, inheritChildren 参数设置是否让父子节点继承 disabled - * [修改] 异步加载时 拼接参数的方法,由 string 修改为 json 对象 - * [修正] 1-2-3 3级节点时,如果 2级节点 全部设置为 nocheck 或 chkDisabled后,勾选3级节点时,1级节点的半勾选状态错误的 bug - * [修改] Demo: checkbox_nocheck.html & checkbox_chkDisabled.html; - * [修改] Demo: edit_super.html,增加 showRenameBtn & showRemoveBtn 的演示 - * [修改] Demo: asyncForAll, 将 post 修改为 get;为了避免由于 IE10 的 bug 造成的客户端 以及 服务端崩溃 - IE10 ajax Post 无法提交参数的bug (http://bugs.jquery.com/ticket/12790) - -*2012.12.21* v3.5.01 - * [优化] clone 方法 - * [修正] 对于初始化无 children 属性的父节点进行 reAsyncChildNodes 操作时出错的 bug - * [修正] beforeRename 回调中使用 cancelEditName 方法后,再 return false 导致无法重新进行编辑的 bug - * [修正] exedit 扩展包让 setting.data.key.url 失效的 bug - * [修正] setting.check.autoCheckTrigger 设置为 true 时,onCheck 回调缺少 event 参数的 bug - * [修正] singlepath.html Demo 中的 bug - -*2012.11.20* v3.5 - * [优化] 原先的 clone 方法 (特别感谢:愚人码头) - * [修改] 隐藏父节点后,使用 expandAll 方法导致 父节点展开的 bug - * [修改] 使用 jQuery v1.7 以上时,设置 zTree 容器 ul 隐藏(visibility: hidden;)后, 调用 selectNode 导致 IE 浏览器报错 Can't move focus 的 bug - * [修改] 正在异步加载时,执行 destory 或 init 方法后,异步加载的节点影响新树的 bug - * [修改] 方法 reAsyncChildNodes 在 refresh 的时候未清空内部 cache 导致内存泄露 的 bug - * [修改] 批量节点拖拽到其他父节点内(inner)时,导致顺序反转 的 bug - * [修改] 对于 使用 html格式的 节点无法触发 双击事件 的 bug - * [修改] onCheck 回调中的 event ,保证与触发事件中的 event 一致 - * [修改] 异步加载时,在 onNodeCreated 中执行 selectNode 后,导致节点折叠的 bug - * [修改] API 中 dataFilter 的参数名称 childNodes -> responseData - * [修改] API 中 iconSkin 的 举例内容 - * [修改] API 中 chkDisabled 的说明 - * [修改] Demo 中 index.html 内的 loadReady 重复绑定问题 - -*2012.09.03* v3.4 - * [增加] Demo —— OutLook 样式的左侧菜单 - * [增加] 清空 zTree 的方法 $.fn.zTree.destory(treeId) & zTree.destory() - - * [修改] core核心文件内 _eventProxy 方法中获取 tId 的方法,提高 DOM 的灵活性 - * [修改] 初始化时 多层父节点的 checkbox 半选状态计算错误的 bug - * [修改] 同时选中父、子节点后,利用 getSelectedNodes 获取选中节点并利用 removeNode 删除时报错的 bug - * [修改] treeNode.chkDisabled / nocheck 属性,支持字符串格式的 "false"/"true" - * [修改] 异步加载模式下无法利用 server 返回 xml 并且 在 dataFilter 中继续处理的 bug - * [修改] title 只允许设置为 string 类型值的问题。 修正后允许设置为 number 类型的值 - * [修改] zId 计数规则 & Cache 保存,减少 IE9 的 bug 造成的内存泄漏 - * [修改] API 页面搜索功能导致 IE 崩溃的 bug - -*2012.07.16* v3.3 - * [增加] 扩展库 exhide -- 节点隐藏功能 - - * [修改] getNodesByFilter 方法,添加 invokeParam 自定义参数 - * [修改] 拖拽中测试代码未删除,导致出现黄颜色的 iframe 遮罩层的 bug - * [修改] 延迟加载方法 对于使用 expandAll 进行全部展开时,导致 onNodeCreated 回调 和 addDiyDom 方法触发过早的 bug - * [修改] 使用 moveNode 移动尚未生成 DOM 的节点时,视图会出现异常的 bug - * [修改] 删除节点后,相关节点的 isFirstNode 属性未重置的 bug - * [修改] getPreNode(),getNextNode() 方法在对于特殊情况时计算错误的 bug - * [修改] 设置 title 之后,如果重新将 title 内容设置为空后,会导致无法更新 title 的 bug - * [修改] 针对 setting.check.chkStyle=="radio" && setting.check.radioType=="all" 的情况时,getTreeCheckedNodes方法优化,找到一个结果就 break - * [修改] zTreeObj.getCheckedNodes(false) 在 radioType = "all" 时计算错误的 bug - * [修改] 完善 API 中 beforeDrop / onDrop 的关于 treeId 的说明 - -*2012.05.13* v3.2 - * [增加] setting.data.key.url 允许修改 treeNode.url 属性 - * [增加] getNodesByFilter(filter, isSingle) 方法 - * [增加] "与其他 DOM 拖拽互动" 的 Demo (http://www.treejs.cn/v3/demo.php#_511) - * [增加] "异步加载模式下全部展开" 的 Demo (http://www.treejs.cn/v3/demo.php#_512) - - * [修改] 代码结构,将 addNodes、removeNode、removeChildNodes 方法 和 beforeRemove、onRemove 回调 转移到 core 内 - * [修改] IE7的环境下无子节点的父节点反复展开出现多余空行的 bug - * [修改] 异步加载时,如果出现网络异常等,会导致 图标显示错误的 bug - * [修改] dataFilter中 return null 导致异常 的 bug - * [修改] removeChildNodes 方法清空子节点后,无法正常添加节点的 bug - * [修改] moveNode 后节点中的自定义元素的事件丢失的 bug - * [修改] moveNode 方法中设置 isSilent = true 时,如果移动到已展开的 父节点后,出现异常的 bug - * [修改] onClick/onDrag/onDrop 回调中 event 不是原始 event 的 bug - * [修改] onDrop 回调中 当拖拽无效时,无法获得 treeNodes 的 bug - * [修改] onDrop 无法判断拖拽是 移动还是复制的问题 - * [修改] 未开启异步加载模式时,拖拽节点到子节点为空的父节点内时 出现异常 的 bug - * [修改] 拖拽过程中,反复在 父节点图标上划动时,会出现停顿的 bug - (需要css 结构—— button -> span.button) - - * [修改] 拖拽操作时箭头 与 targetNode 背景之间的细节现实问题,便于用户拖拽时更容易区分 prev、next 和 inner 操作 - * [修改] 拖拽操作时IE6/7 下 在 节点 右侧 10px 内会导致 targetNode = root 的 bug - * [修改] 编辑模式下 默认的编辑按钮、删除按钮点击后,如果相应的 before 回调 return false 时会触发 onClick 回调的 bug - -*2012.02.14* v3.1 - * [增加] ajax 的参数 setting.async.contentType ,让提交参数适用于 json 数据提交 (主要适用于 .Net 的开发)。 - * [增加] setting.edit.editNameSelectAll, 用于设定编辑节点名称时初次显示 input 后 text 内容为全选 - * [修改] 异步加载 规则,不再仅仅依靠父节点的子节点数来判定,增加内部属性 zAsync,保证默认状态下父节点及时无子节点也只能异步加载一次,除非使用 reAsyncChildNodes 方法强行控制异步加载。 - * [修改] 放大浏览器后导致 界面出现多余连接线的bug (需要更新:icon 图标和 css ) - * [修改] 在编辑状态,如果节点名超过编辑框宽度,左右键在框内不起作用的bug(IE 6 7 8 出现) - CSS 中 filter:alpha(opacity=80) 造成的,应该是 ie 的 bug,需要更新 css 文件 - * [修改] title 设置后,如果属性不存在,则默认为 title 为空,便于数据容错和用户灵活使用 - * [修改] editName 方法如果针对尚未展开的 父节点,会导致该父节点自动展开的 bug - * [修改] title 中存在标签时导致 title 显示异常的bug(例如:蓝色字22%"'``) - -*2012.01.10* v3.0 - * [增加] setting.check.autoCheckTrigger 默认值 false,可以设置联动选中时是否触发事件回调函数 - * [增加] setting.callback.beforeEditName 回调函数,以保证用户可以捕获点击编辑按钮的事件 - * [增加] treeNode.chkDisabled 属性,显示 checkbox 但是用户无法修改 checkbox 状态,并且该 checkbox 会影响父节点的 checkbox 的半选状态 - * [增加] setting.check.nocheckInherit 属性,用户设置子节点继承 nocheck 属性,用于批量初始化节点,不适用于已经显示的节点 - * [增加] setting.edit.drag.autoExpandTrigger 默认值 false,可以设置自动展开、折叠操作时是否触发事件回调函数 - * [增加] setting.view.nameIsHTML 默认值 false,允许用户对 name 设置 DOM 对象 - * [增加] treeNode.click 属性的说明文档 - * [增加] treeObj.setChkDisabled 方法用于设置 checkbox / radio disabled 状态 - * [增加] treeNode.halfCheck 属性,用于强制设定节点的半选状态 - - * [修改] 异步加载 & 编辑功能 共存时,拖拽节点 或 增加节点 导致 ie 上报错的 bug (apply 方法引起) - * [修改] zTreeStyle 样式冲突 - * [修改] setting.data.key.title 默认值设置为 "",初始化时自动赋值为 setting.data.key.name 这样可避免希望 title 与 name 一致的用户反复设置参数 - * [修改] 点击叶子节点的连接线会触发 expand 事件的 bug - * [修改] IE 下 点击叶子节点连线会出现虚线框的 bug - * [修改] updateNode 导致 checkbox 半选状态错误的 bug - * [修改] checkNode 方法实现 toggle 操作, 取消 expandAll 方法的 toggle 操作 - * [修改] zTree 内鼠标移动会抢页面上 input 内的焦点的 bug - * [修改] beforeRename / onRename 的触发方式——即使名称内容未改变也会触发,便于用户配合 beforeEditName 捕获编辑状态的结束,赋予用户更多调整规则的权利 - * [修改] 与 easyUI 共存时无法拖拽的bug - * [修改] beforeRename 在 Firefox 下如果利用 alert,会触发两次的 bug - * [修改] checkNode/expandNode/removeNode 方法,默认不触发回调函数,恢复 v2.6 的默认状态,同时增加 callbackFlag 参数,设置为 true 时,可以触发回调函数 - * [修改] IE9下“根据参数查找节点”的Demo 报错:行14 重新声明常量属性(Demo 自身的问题,定义了history变量) - * [修改] 初始化 zTree 时 onNodeCreated 事件回调函数中无法 用 getZTreeObj 获取 zTree 对象的 bug - * [修改] setting.edit.drag.prev / next / inner 参数,增加被拖拽的节点集合 - * [修改] 异步加载模式下,otherParam 使用Array数组会出错的 bug。例如: ["id", "1", "name", "test"] - * [修改] FireFox 下多棵树拖拽异常的 bug - * [修改] exedit 中调用 excheck库的方法时没有进行容错处理,导致如果只加入 exedit 而没有 excheck的时候,会出现 js 错误 - * [修改] 显示 checkbox 的 zTree 在编辑模式下,移动节点不会更新父节点半选状态的 bug - * [修改] treeNode.childs --> children; treeObject.removeChilds --> removeChildNodes; setting.data.key.childs --> children(英文不好惹的祸!抱歉了!) - * [修改] onRemove 回调中得到的 treeNode 还可以查找 preNode、nextNode 的bug。 修正后,getPreNode 和 getNextNode 都返回 null; 为了便于查找父节点,getParentNode 仍保留 - * [修改] 简单数据模式下,如果 id 与 pId 的值相同会导致该节点无法正常加载的 bug - * [修改] 移动或删除中间节点会导致最后一个节点连接线图标变小的 bug - -*2011.09.05* v3.0 beta - * [修改] zTree 的 js 代码架构全面修改,并且拆分 - * [修改] zTree 的 css 样式全面修改,对浏览器可以更好地兼容,同时解决了以前1个像素差的问题 - * [优化] 采用延迟加载技术,一次性加载大数据量的节点性能飞速提升 - * [增加] 支持多节点同时选中、拖拽 - * [增加] checkNode、checkAllNodes 等多种方法 - * [增加] IE6 自动取消动画展开、折叠的功能 - * [修正] 异步加载 & 编辑模式 能够更完美的共存 - * [修正] setting 配置更加合理,并且增加了若干项配置参数 - * [修正] treeNode 节点数据的属性更加合理,并且增加了一些方法 - * [修正] 拖拽操作更加灵活方便,更容易制定自己的规则 - * [修正] 其他若干修改,详细对比请参考 url:[http://www.treejs.cn/v3/faq.php#_101 zTree v3.0 常见问题] diff --git a/pages/article/article-add.html b/pages/article/article-add.html deleted file mode 100644 index 0c4a54a..0000000 --- a/pages/article/article-add.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - 添加文章 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - - - - - diff --git a/pages/article/article-edit.html b/pages/article/article-edit.html deleted file mode 100644 index ff2df2d..0000000 --- a/pages/article/article-edit.html +++ /dev/null @@ -1,114 +0,0 @@ - - - - - 编辑文章 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - - - - - diff --git a/pages/article/article.html b/pages/article/article.html deleted file mode 100644 index 4078718..0000000 --- a/pages/article/article.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - 文章列表 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                - - - - - - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                              • -
                                                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - diff --git a/pages/download/download.html b/pages/download/download.html deleted file mode 100644 index 3927e5c..0000000 --- a/pages/download/download.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 下载列表 - - -

                                                                                                                                                                                                                                                                                                                                下载列表

                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/image/image.html b/pages/image/image.html deleted file mode 100644 index 4b6c4ed..0000000 --- a/pages/image/image.html +++ /dev/null @@ -1,29 +0,0 @@ - - - - - 图片列表 - - - - - - - - - diff --git a/pages/link/link.html b/pages/link/link.html deleted file mode 100644 index 123978c..0000000 --- a/pages/link/link.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 链接列表 - - -

                                                                                                                                                                                                                                                                                                                                链接列表

                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/map/map1.html b/pages/map/map1.html deleted file mode 100644 index 6f89b7e..0000000 --- a/pages/map/map1.html +++ /dev/null @@ -1,39 +0,0 @@ - - - - - 柱状图 - - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/map/map2.html b/pages/map/map2.html deleted file mode 100644 index 6f4cb43..0000000 --- a/pages/map/map2.html +++ /dev/null @@ -1,36 +0,0 @@ - - - - - 折线图 - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/map/map3.html b/pages/map/map3.html deleted file mode 100644 index df56ae6..0000000 --- a/pages/map/map3.html +++ /dev/null @@ -1,82 +0,0 @@ - - - - - 折线堆叠图 - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/map/map4.html b/pages/map/map4.html deleted file mode 100644 index 6fb81ac..0000000 --- a/pages/map/map4.html +++ /dev/null @@ -1,94 +0,0 @@ - - - - - 饼图 - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/map/map5.html b/pages/map/map5.html deleted file mode 100644 index 8b1415b..0000000 --- a/pages/map/map5.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - 环形图 - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/map/map6.html b/pages/map/map6.html deleted file mode 100644 index 1fcbb07..0000000 --- a/pages/map/map6.html +++ /dev/null @@ -1,300 +0,0 @@ - - - - - 热力图 - - -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/message/message.html b/pages/message/message.html deleted file mode 100644 index 6d516bb..0000000 --- a/pages/message/message.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 留言列表 - - -

                                                                                                                                                                                                                                                                                                                                留言列表

                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/other/403.html b/pages/other/403.html deleted file mode 100644 index 0de85b9..0000000 --- a/pages/other/403.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - 403 - - - - - -
                                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                                哦豁,403错误!

                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/other/404.html b/pages/other/404.html deleted file mode 100644 index 6de5eb4..0000000 --- a/pages/other/404.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - 404 - - - - - -
                                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                                哦豁,404错误!

                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/other/500.html b/pages/other/500.html deleted file mode 100644 index 4e77c71..0000000 --- a/pages/other/500.html +++ /dev/null @@ -1,25 +0,0 @@ - - - - - 500 - - - - - -
                                                                                                                                                                                                                                                                                                                                - -

                                                                                                                                                                                                                                                                                                                                哦豁,500错误!

                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/other/donate.html b/pages/other/donate.html deleted file mode 100644 index bc4e941..0000000 --- a/pages/other/donate.html +++ /dev/null @@ -1,91 +0,0 @@ - - - - - 捐赠页面 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                                ID用户金额时间渠道
                                                                                                                                                                                                                                                                                                                                001*明¥3.802018-07-16
                                                                                                                                                                                                                                                                                                                                002*东¥6.802018-08-05
                                                                                                                                                                                                                                                                                                                                003**¥0.012018-08-08
                                                                                                                                                                                                                                                                                                                                004*棣¥8.802018-08-09
                                                                                                                                                                                                                                                                                                                                005**¥0.012018-08-11
                                                                                                                                                                                                                                                                                                                                006*你¥1.002018-08-22
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - - - diff --git a/pages/permission/permission-add.html b/pages/permission/permission-add.html deleted file mode 100644 index 6849181..0000000 --- a/pages/permission/permission-add.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - 添加权限 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - - - - diff --git a/pages/permission/permission-edit.html b/pages/permission/permission-edit.html deleted file mode 100644 index 567df38..0000000 --- a/pages/permission/permission-edit.html +++ /dev/null @@ -1,79 +0,0 @@ - - - - - 添加权限 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - - - - diff --git a/pages/permission/permission.html b/pages/permission/permission.html deleted file mode 100644 index 24f13c7..0000000 --- a/pages/permission/permission.html +++ /dev/null @@ -1,166 +0,0 @@ - - - - - 权限列表 - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - - - - - 共有数据: - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - - - - - - - diff --git a/pages/process/process.html b/pages/process/process.html deleted file mode 100644 index eb69ca2..0000000 --- a/pages/process/process.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - Title - - -

                                                                                                                                                                                                                                                                                                                                流程列表

                                                                                                                                                                                                                                                                                                                                - - \ No newline at end of file diff --git a/pages/product/product.html b/pages/product/product.html deleted file mode 100644 index 99916be..0000000 --- a/pages/product/product.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 产品列表 - - -

                                                                                                                                                                                                                                                                                                                                产品列表

                                                                                                                                                                                                                                                                                                                                - - diff --git a/pages/role/role-add.html b/pages/role/role-add.html deleted file mode 100644 index f40d082..0000000 --- a/pages/role/role-add.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - 添加角色 - - - - - -
                                                                                                                                                                                                                                                                                                                                - - - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                - -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  - - -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  - - - - - - - diff --git a/pages/role/role-edit.html b/pages/role/role-edit.html deleted file mode 100644 index 9db90ea..0000000 --- a/pages/role/role-edit.html +++ /dev/null @@ -1,113 +0,0 @@ - - - - - 编辑角色 - - - - - -
                                                                                                                                                                                                                                                                                                                                  - - - -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                  - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - diff --git a/pages/role/role.html b/pages/role/role.html deleted file mode 100644 index 7a889d6..0000000 --- a/pages/role/role.html +++ /dev/null @@ -1,157 +0,0 @@ - - - - - 角色列表 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - diff --git a/pages/system/system-log-detail.html b/pages/system/system-log-detail.html deleted file mode 100644 index e514d23..0000000 --- a/pages/system/system-log-detail.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 日志详情 - - -

                                                                                                                                                                                                                                                                                                                                    日志详情

                                                                                                                                                                                                                                                                                                                                    - - diff --git a/pages/system/system-log.html b/pages/system/system-log.html deleted file mode 100644 index 8968bc3..0000000 --- a/pages/system/system-log.html +++ /dev/null @@ -1,153 +0,0 @@ - - - - - 系统日志 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - diff --git a/pages/system/system-setting.html b/pages/system/system-setting.html deleted file mode 100644 index 1ca5c0d..0000000 --- a/pages/system/system-setting.html +++ /dev/null @@ -1,216 +0,0 @@ - - - - - 网站配置 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • 弹窗皮肤/动画
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • 网站皮肤
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • 系统基本参数
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • 待开发1
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • 待开发2
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 推荐配置:弹窗皮肤(墨绿色),弹窗动画(随机) -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                                    类别说明参数值
                                                                                                                                                                                                                                                                                                                                    弹窗皮肤控制了msg()、confirm()、open()方法的弹窗皮肤 - -
                                                                                                                                                                                                                                                                                                                                    弹窗动画控制了msg()、confirm()、open()方法的弹窗动画 - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    网站皮肤
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                                    参数说明变量名参数值
                                                                                                                                                                                                                                                                                                                                    网站名称website
                                                                                                                                                                                                                                                                                                                                    当前版本version
                                                                                                                                                                                                                                                                                                                                    开发作者author
                                                                                                                                                                                                                                                                                                                                    网站首页homePage
                                                                                                                                                                                                                                                                                                                                    服务器环境server
                                                                                                                                                                                                                                                                                                                                    数据库版本dataBase
                                                                                                                                                                                                                                                                                                                                    最大上传限制maxUpload
                                                                                                                                                                                                                                                                                                                                    用户权限userRights
                                                                                                                                                                                                                                                                                                                                    网站关键字keywords
                                                                                                                                                                                                                                                                                                                                    网站描述description
                                                                                                                                                                                                                                                                                                                                    版权信息powerby
                                                                                                                                                                                                                                                                                                                                    网站备案号record
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    待开发1
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    待开发2
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/system/system-shield.html b/pages/system/system-shield.html deleted file mode 100644 index 26aebf6..0000000 --- a/pages/system/system-shield.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - 屏蔽词 - - -

                                                                                                                                                                                                                                                                                                                                    屏蔽词

                                                                                                                                                                                                                                                                                                                                    - - diff --git a/pages/test/okLayer.html b/pages/test/okLayer.html deleted file mode 100644 index 23b64ef..0000000 --- a/pages/test/okLayer.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - okLayer测试 - - - - - - - diff --git a/pages/test/okProgress.html b/pages/test/okProgress.html deleted file mode 100644 index 7ca3031..0000000 --- a/pages/test/okProgress.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - okProgress测试 - - - - - - - diff --git a/pages/test/okUtils.html b/pages/test/okUtils.html deleted file mode 100644 index b8a683c..0000000 --- a/pages/test/okUtils.html +++ /dev/null @@ -1,20 +0,0 @@ - - - - - okutils测试 - - - - - - - diff --git a/pages/use/demo.html b/pages/use/demo.html deleted file mode 100644 index 22a252a..0000000 --- a/pages/use/demo.html +++ /dev/null @@ -1,37 +0,0 @@ - - - - - demo - - - - - diff --git a/pages/use/use-okLayer.html b/pages/use/use-okLayer.html deleted file mode 100644 index da49e1e..0000000 --- a/pages/use/use-okLayer.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - okLayer使用 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - okLayer.tableCheck() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 对表格进行批量操作时的预检查
                                                                                                                                                                                                                                                                                                                                    -okLayer.tableCheck(table)
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okLayer.tableOperationMsg() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 对表格操作后的提示信息
                                                                                                                                                                                                                                                                                                                                    -okLayer.tableOperationMsg("批量启用成功");
                                                                                                                                                                                                                                                                                                                                    -okLayer.tableOperationMsg("批量停用成功");
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okLayer.confirm() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -okLayer.confirm("确定要批量删除吗?", function (index) {
                                                                                                                                                                                                                                                                                                                                    -    layer.close(index);
                                                                                                                                                                                                                                                                                                                                    -    // 代码逻辑
                                                                                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okLayer.open() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -/**
                                                                                                                                                                                                                                                                                                                                    - * 弹窗打开窗口页面
                                                                                                                                                                                                                                                                                                                                    - * @param title 标题
                                                                                                                                                                                                                                                                                                                                    - * @param content 内容url
                                                                                                                                                                                                                                                                                                                                    - * @param width 弹窗宽度
                                                                                                                                                                                                                                                                                                                                    - * @param height 弹窗高度
                                                                                                                                                                                                                                                                                                                                    - * @param successFunction 弹出后回调函数
                                                                                                                                                                                                                                                                                                                                    - * @param endFunction 销毁后回调函数
                                                                                                                                                                                                                                                                                                                                    - */
                                                                                                                                                                                                                                                                                                                                    -okLayer.open("添加用户", "user-add.html", "90%", "90%", function(layero, index) {}, function() {})
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/use/use-okMenu.html b/pages/use/use-okMenu.html deleted file mode 100644 index fd2530e..0000000 --- a/pages/use/use-okMenu.html +++ /dev/null @@ -1,165 +0,0 @@ - - - - - okMenu使用 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 菜单树json串 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -{
                                                                                                                                                                                                                                                                                                                                    -  "status": 1000,
                                                                                                                                                                                                                                                                                                                                    -  "msg": "操作成功",
                                                                                                                                                                                                                                                                                                                                    -  "data": {
                                                                                                                                                                                                                                                                                                                                    -      "title": "多级菜单",
                                                                                                                                                                                                                                                                                                                                    -      "path": "",
                                                                                                                                                                                                                                                                                                                                    -      "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -      "icon": "",
                                                                                                                                                                                                                                                                                                                                    -      "spread": false,
                                                                                                                                                                                                                                                                                                                                    -      "children": [
                                                                                                                                                                                                                                                                                                                                    -        {
                                                                                                                                                                                                                                                                                                                                    -          "title": "购物网站",
                                                                                                                                                                                                                                                                                                                                    -          "path": "",
                                                                                                                                                                                                                                                                                                                                    -          "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -          "icon": "",
                                                                                                                                                                                                                                                                                                                                    -          "spread": false,
                                                                                                                                                                                                                                                                                                                                    -          "children": [
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "苏宁",
                                                                                                                                                                                                                                                                                                                                    -              "path": "https://www.suning.com",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false
                                                                                                                                                                                                                                                                                                                                    -            },
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "京东",
                                                                                                                                                                                                                                                                                                                                    -              "path": "https://www.jd.com",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false
                                                                                                                                                                                                                                                                                                                                    -            },
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "阿里",
                                                                                                                                                                                                                                                                                                                                    -              "path": "",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false,
                                                                                                                                                                                                                                                                                                                                    -              "children": [
                                                                                                                                                                                                                                                                                                                                    -                {
                                                                                                                                                                                                                                                                                                                                    -                  "title": "淘宝",
                                                                                                                                                                                                                                                                                                                                    -                  "path": "https://www.taobao.com",
                                                                                                                                                                                                                                                                                                                                    -                  "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -                  "icon": "",
                                                                                                                                                                                                                                                                                                                                    -                  "spread": false
                                                                                                                                                                                                                                                                                                                                    -                },
                                                                                                                                                                                                                                                                                                                                    -                {
                                                                                                                                                                                                                                                                                                                                    -                  "title": "天猫",
                                                                                                                                                                                                                                                                                                                                    -                  "path": "https://www.tmall.com",
                                                                                                                                                                                                                                                                                                                                    -                  "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -                  "icon": "",
                                                                                                                                                                                                                                                                                                                                    -                  "spread": false
                                                                                                                                                                                                                                                                                                                                    -                },
                                                                                                                                                                                                                                                                                                                                    -                {
                                                                                                                                                                                                                                                                                                                                    -                  "title": "聚划算",
                                                                                                                                                                                                                                                                                                                                    -                  "path": "https://ju.taobao.com",
                                                                                                                                                                                                                                                                                                                                    -                  "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -                  "icon": "",
                                                                                                                                                                                                                                                                                                                                    -                  "spread": false
                                                                                                                                                                                                                                                                                                                                    -                }
                                                                                                                                                                                                                                                                                                                                    -              ]
                                                                                                                                                                                                                                                                                                                                    -            }
                                                                                                                                                                                                                                                                                                                                    -          ]
                                                                                                                                                                                                                                                                                                                                    -        },
                                                                                                                                                                                                                                                                                                                                    -        {
                                                                                                                                                                                                                                                                                                                                    -          "title": "新浪微博",
                                                                                                                                                                                                                                                                                                                                    -          "path": "https://www.sina.com.cn",
                                                                                                                                                                                                                                                                                                                                    -          "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -          "icon": "",
                                                                                                                                                                                                                                                                                                                                    -          "spread": false
                                                                                                                                                                                                                                                                                                                                    -        },
                                                                                                                                                                                                                                                                                                                                    -        {
                                                                                                                                                                                                                                                                                                                                    -          "title": "搜索引擎",
                                                                                                                                                                                                                                                                                                                                    -          "path": "",
                                                                                                                                                                                                                                                                                                                                    -          "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -          "icon": "",
                                                                                                                                                                                                                                                                                                                                    -          "spread": false,
                                                                                                                                                                                                                                                                                                                                    -          "children": [
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "百度",
                                                                                                                                                                                                                                                                                                                                    -              "path": "https://www.baidu.com",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false
                                                                                                                                                                                                                                                                                                                                    -            },
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "谷歌",
                                                                                                                                                                                                                                                                                                                                    -              "path": "https://www.google.com",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false
                                                                                                                                                                                                                                                                                                                                    -            },
                                                                                                                                                                                                                                                                                                                                    -            {
                                                                                                                                                                                                                                                                                                                                    -              "title": "360搜索",
                                                                                                                                                                                                                                                                                                                                    -              "path": "https://www.so.com",
                                                                                                                                                                                                                                                                                                                                    -              "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -              "icon": "",
                                                                                                                                                                                                                                                                                                                                    -              "spread": false
                                                                                                                                                                                                                                                                                                                                    -            }
                                                                                                                                                                                                                                                                                                                                    -          ]
                                                                                                                                                                                                                                                                                                                                    -        },
                                                                                                                                                                                                                                                                                                                                    -        {
                                                                                                                                                                                                                                                                                                                                    -          "title": "搜狐",
                                                                                                                                                                                                                                                                                                                                    -          "path": "http://www.sohu.com",
                                                                                                                                                                                                                                                                                                                                    -          "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -          "icon": "",
                                                                                                                                                                                                                                                                                                                                    -          "spread": false
                                                                                                                                                                                                                                                                                                                                    -        },
                                                                                                                                                                                                                                                                                                                                    -        {
                                                                                                                                                                                                                                                                                                                                    -          "title": "网易",
                                                                                                                                                                                                                                                                                                                                    -          "path": "https://www.163.com",
                                                                                                                                                                                                                                                                                                                                    -          "font": "layui-icon",
                                                                                                                                                                                                                                                                                                                                    -          "icon": "",
                                                                                                                                                                                                                                                                                                                                    -          "spread": false
                                                                                                                                                                                                                                                                                                                                    -        }
                                                                                                                                                                                                                                                                                                                                    -      ]
                                                                                                                                                                                                                                                                                                                                    -    }
                                                                                                                                                                                                                                                                                                                                    -}
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - 调用生成菜单树 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 生成左侧菜单树
                                                                                                                                                                                                                                                                                                                                    -okMenu.generatorMenu("data/menu.json", "get");
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/use/use-okTab-sub.html b/pages/use/use-okTab-sub.html deleted file mode 100644 index 41e6f3b..0000000 --- a/pages/use/use-okTab-sub.html +++ /dev/null @@ -1,64 +0,0 @@ - - - - - 子页面 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法1:用按钮点击打开 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -/**
                                                                                                                                                                                                                                                                                                                                    - * 添加tab
                                                                                                                                                                                                                                                                                                                                    - * @param title 标题
                                                                                                                                                                                                                                                                                                                                    - * @param path 路径
                                                                                                                                                                                                                                                                                                                                    - */
                                                                                                                                                                                                                                                                                                                                    -okTab.tabAdd("ok-tool", "http://www.xlbweb.cn")
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/use/use-okTab.html b/pages/use/use-okTab.html deleted file mode 100644 index 7188eea..0000000 --- a/pages/use/use-okTab.html +++ /dev/null @@ -1,106 +0,0 @@ - - - - - okTab使用 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法1:在index.html左侧中添加 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                  • - - XX管理 - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    xx列表
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法2:在index.html顶部中添加 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    个人中心
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    基本资料
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    安全设置
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    锁定账户
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法3:用按钮点击打开 -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -/**
                                                                                                                                                                                                                                                                                                                                    - * 添加tab
                                                                                                                                                                                                                                                                                                                                    - * @param title 标题
                                                                                                                                                                                                                                                                                                                                    - * @param path 路径
                                                                                                                                                                                                                                                                                                                                    - */
                                                                                                                                                                                                                                                                                                                                    -okTab.tabAdd("ok-tool", "http://www.xlbweb.cn")
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/use/use-okUtils.html b/pages/use/use-okUtils.html deleted file mode 100644 index 127de81..0000000 --- a/pages/use/use-okUtils.html +++ /dev/null @@ -1,85 +0,0 @@ - - - - - okUtils使用 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - okUtils.ajax() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -/**
                                                                                                                                                                                                                                                                                                                                    - * 弹窗打开窗口页面
                                                                                                                                                                                                                                                                                                                                    - * @param url 请求url
                                                                                                                                                                                                                                                                                                                                    - * @param type 请求类型
                                                                                                                                                                                                                                                                                                                                    - * @param param 请求参数
                                                                                                                                                                                                                                                                                                                                    - */
                                                                                                                                                                                                                                                                                                                                    -okUtils.ajax("/user/batchDel", "post", {idsStr: idsStr}).done(function (response) {
                                                                                                                                                                                                                                                                                                                                    -    console.log(response)
                                                                                                                                                                                                                                                                                                                                    -    okLayer.tableOperationMsg("批量删除成功");
                                                                                                                                                                                                                                                                                                                                    -}).fail(function (error) {
                                                                                                                                                                                                                                                                                                                                    -    console.log(error)
                                                                                                                                                                                                                                                                                                                                    -});
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okUtils.table.xxx() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 做批量操作时,table行数据检查
                                                                                                                                                                                                                                                                                                                                    -okUtils.table.batchCheck(table)
                                                                                                                                                                                                                                                                                                                                    -// table页面操作执行成功后的提示
                                                                                                                                                                                                                                                                                                                                    -okUtils.table.successMsg()
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okUtils.isNum() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 判断是否为一个正常的数字
                                                                                                                                                                                                                                                                                                                                    -okUtils.isNum()
                                                                                                                                                                                                                                                                                                                                    -// 判断一个数字是否包括在某个范围
                                                                                                                                                                                                                                                                                                                                    -okUtils.isNum(num, begin, end)
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - okUtils.date.xxx() -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -// 格式化日期时间
                                                                                                                                                                                                                                                                                                                                    -okUtils.dateFormat(date, fmt)
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - diff --git a/pages/use/use-tab.html b/pages/use/use-tab.html deleted file mode 100644 index 1f4bd0d..0000000 --- a/pages/use/use-tab.html +++ /dev/null @@ -1,80 +0,0 @@ - - - - - Tab使用 - - - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法1:在index.html左侧中添加 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                  • - - XX管理 - -
                                                                                                                                                                                                                                                                                                                                    - // tab-id不可和其它菜单重复 -
                                                                                                                                                                                                                                                                                                                                    xx列表
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                  • -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法2:在index.html顶部中添加 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    个人中心
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    基本资料
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    安全设置
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    锁定账户
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    - 使用方法3:用按钮点击打开 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -/**
                                                                                                                                                                                                                                                                                                                                    - * 添加tab
                                                                                                                                                                                                                                                                                                                                    - * @param title 标题
                                                                                                                                                                                                                                                                                                                                    - * @param path 路径
                                                                                                                                                                                                                                                                                                                                    - * @param tabId tabId必须唯一
                                                                                                                                                                                                                                                                                                                                    - */
                                                                                                                                                                                                                                                                                                                                    -tabAdd("百度", "http://www.xlbweb.cn", "11-1")
                                                                                                                                                                                                                                                                                                                                    -    
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - - - - - - diff --git a/pages/user/login.html b/pages/user/login.html deleted file mode 100644 index f24eb3a..0000000 --- a/pages/user/login.html +++ /dev/null @@ -1,98 +0,0 @@ - - - - - ok-admin v1.0 | 很赞的后台模版 - - - - - - - - - - - - - diff --git a/pages/user/user-add.html b/pages/user/user-add.html deleted file mode 100644 index 138981a..0000000 --- a/pages/user/user-add.html +++ /dev/null @@ -1,139 +0,0 @@ - - - - - 添加用户 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/user/user-center.html b/pages/user/user-center.html deleted file mode 100644 index 23ec991..0000000 --- a/pages/user/user-center.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - user-center - - -

                                                                                                                                                                                                                                                                                                                                    user-center

                                                                                                                                                                                                                                                                                                                                    - - diff --git a/pages/user/user-edit.html b/pages/user/user-edit.html deleted file mode 100644 index bf6ed90..0000000 --- a/pages/user/user-edit.html +++ /dev/null @@ -1,148 +0,0 @@ - - - - - 编辑用户 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - diff --git a/pages/user/user-info.html b/pages/user/user-info.html deleted file mode 100644 index 7eb7940..0000000 --- a/pages/user/user-info.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - user-info - - -

                                                                                                                                                                                                                                                                                                                                    user-info

                                                                                                                                                                                                                                                                                                                                    - - diff --git a/pages/user/user-security.html b/pages/user/user-security.html deleted file mode 100644 index 123c2a2..0000000 --- a/pages/user/user-security.html +++ /dev/null @@ -1,10 +0,0 @@ - - - - - user-security - - -

                                                                                                                                                                                                                                                                                                                                    user-security

                                                                                                                                                                                                                                                                                                                                    - - diff --git a/pages/user/user.html b/pages/user/user.html deleted file mode 100644 index 1fba76e..0000000 --- a/pages/user/user.html +++ /dev/null @@ -1,215 +0,0 @@ - - - - - 用户列表 - - - - -
                                                                                                                                                                                                                                                                                                                                    - - - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - diff --git a/pages/welcome.html b/pages/welcome.html deleted file mode 100644 index 1fcc782..0000000 --- a/pages/welcome.html +++ /dev/null @@ -1,253 +0,0 @@ - - - - - ok-admin v1.0 | 很赞的后台模版 - - - - - - - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 欢迎管理员:bobi!当前时间: -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 数据统计 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 用户总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 文章总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 评论总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 商品总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 角色总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - 100 - 页面总数 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 系统基本参数 -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                                    本机IP地址1.1.1.1
                                                                                                                                                                                                                                                                                                                                    ok-admin v1.0 服务器地址http://ok-admin-v1.xlbweb.cn
                                                                                                                                                                                                                                                                                                                                    ok-admin v2.0 服务器地址http://ok-admin.xlbweb.cn
                                                                                                                                                                                                                                                                                                                                    操作系统CentOS
                                                                                                                                                                                                                                                                                                                                    运行环境JDK 1.8.0_171
                                                                                                                                                                                                                                                                                                                                    数据库版本MySQL 5.7
                                                                                                                                                                                                                                                                                                                                    最大上传限制5M
                                                                                                                                                                                                                                                                                                                                    当前用户权限超级管理员
                                                                                                                                                                                                                                                                                                                                    剩余空间888888M
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 作者信息 -
                                                                                                                                                                                                                                                                                                                                    - - - - - - - - - - - - - - - - - - - -
                                                                                                                                                                                                                                                                                                                                    开发者bobi - bobi1234@foxmail.com
                                                                                                                                                                                                                                                                                                                                    下载地址1 - Gitee -     目前正在不间断迭代开发中,请大家多多 - Star - ,您的鼓励就是我开发的动力,O(∩_∩)O谢谢~ -
                                                                                                                                                                                                                                                                                                                                    下载地址2 - Github -   目前正在不间断迭代开发中,请大家多多 - Star - ,您的鼓励就是我开发的动力,O(∩_∩)O谢谢~ -
                                                                                                                                                                                                                                                                                                                                    - -
                                                                                                                                                                                                                                                                                                                                    - 更新日志 -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • - -
                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      6月15日

                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      - ok-admin大体架构成型。 -
                                                                                                                                                                                                                                                                                                                                      不枉近半个月日日夜夜与之为伴。 -
                                                                                                                                                                                                                                                                                                                                      无论它能走多远,抑或如何支撑?至少我曾倾注全心,无怨无悔 -

                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • - -
                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      5月13日

                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      毕业答辩结束,至此感觉大学,就这样结束了。送两句话给自己:

                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                                                                      • 但行好事 莫问前程
                                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                                      • 纵有疾风起 人生不言弃
                                                                                                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • - -
                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      5月4日

                                                                                                                                                                                                                                                                                                                                      -

                                                                                                                                                                                                                                                                                                                                      - 正在准备毕业答辩 -
                                                                                                                                                                                                                                                                                                                                      常常在想,要是有一个满足我项目所有基础页面的CMS该多好 -
                                                                                                                                                                                                                                                                                                                                      今天,初始化项目 -

                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    • - -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      过去
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                    • -
                                                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                                                    - - - - - -