layui.define("form",function(e){"use strict";function n(e){var i=this;i.index=++t.index,i.config=v.extend({},i.config,t.config,e),i.render()}var v=layui.$,i=layui.form,C=layui.layer,a="tree",t={config:{},index:layui[a]?layui[a].index+1e4:0,set:function(e){var i=this;return i.config=v.extend({},i.config,e),i},on:function(e,i){return layui.onevent.call(this,a,e,i)}},l=function(){var i=this,e=i.config,n=e.id||i.index;return l.that[n]=i,{config:l.config[n]=e,reload:function(e){i.reload.call(i,e)},getChecked:function(){return i.getChecked.call(i)},setChecked:function(e){return i.setChecked.call(i,e)}}},k="layui-hide",s="layui-disabled",m="layui-tree-set",x="layui-tree-iconClick",b="layui-icon-addition",g="layui-icon-subtraction",w="layui-tree-entry",o="layui-tree-main",N="layui-tree-txt",T="layui-tree-pack",L="layui-tree-spread",A="layui-tree-setLineShort",I="layui-tree-showLine",F="layui-tree-lineExtend";n.prototype.config={data:[],showCheckbox:!1,showLine:!0,accordion:!1,onlyIconControl:!1,isJump:!1,edit:!1,text:{defaultNodeName:"未命名",none:"无数据"}},n.prototype.reload=function(e){var n=this;layui.each(e,function(e,i){i.constructor===Array&&delete n.config[e]}),n.config=v.extend(!0,{},n.config,e),n.render()},n.prototype.render=function(){var e=this,i=e.config;e.checkids=[];var n=v('
');e.tree(n);var a=i.elem=v(i.elem);if(a[0]){if(e.key=i.id||e.index,e.elem=n,e.elemNone=v(''+i.text.none+"
"),a.html(e.elem),0==e.elem.find(".layui-tree-set").length)return e.elem.append(e.elemNone);i.showCheckbox&&e.renderForm("checkbox"),e.elem.find(".layui-tree-set").each(function(){var e=v(this);e.parent(".layui-tree-pack")[0]||e.addClass("layui-tree-setHide"),!e.next()[0]&&e.parents(".layui-tree-pack").eq(1).hasClass("layui-tree-lineExtend")&&e.addClass(A),e.next()[0]||e.parents(".layui-tree-set").eq(0).next()[0]||e.addClass(A)}),e.events()}},n.prototype.renderForm=function(e){i.render(e,"LAY-tree-"+this.index)},n.prototype.tree=function(l,e){var r=this,c=r.config,i=e||c.data;layui.each(i,function(e,i){var n=i.children&&0'),t=v(['','
','
',c.showLine?n?'
':'
':'
',c.showCheckbox?'
':"",c.isJump&&i.href?'
'+(i.title||i.label||c.text.defaultNodeName)+"":'
'+(i.title||i.label||c.text.defaultNodeName)+"","
",function(){if(!c.edit)return"";var n={add:'
',update:'
',del:'
'},a=['
'];return!0===c.edit&&(c.edit=["update","del"]),"object"==typeof c.edit?(layui.each(c.edit,function(e,i){a.push(n[i]||"")}),a.join("")+"
"):void 0}(),"
"].join(""));n&&(t.append(a),r.tree(a,i.children)),l.append(t),t.prev("."+m)[0]&&t.prev().children(".layui-tree-pack").addClass("layui-tree-showLine"),n||t.parent(".layui-tree-pack").addClass("layui-tree-lineExtend"),r.spread(t,i),c.showCheckbox&&(i.checked&&r.checkids.push(i.id),r.checkClick(t,i)),c.edit&&r.operate(t,i)})},n.prototype.spread=function(t,e){var l=this.config,i=t.children("."+w),n=i.children("."+o),a=i.find("."+x),r=i.find("."+N),c=l.onlyIconControl?a:n,d="";c.on("click",function(e){var i,n=t.children("."+T),a=c.children(".layui-icon")[0]?c.children(".layui-icon"):c.find(".layui-tree-icon").children(".layui-icon");n[0]?t.hasClass(L)?(t.removeClass(L),n.slideUp(200),a.removeClass(g).addClass(b)):(t.addClass(L),n.slideDown(200),a.addClass(g).removeClass(b),l.accordion&&((i=t.siblings("."+m)).removeClass(L),i.children("."+T).slideUp(200),i.find(".layui-tree-icon").children(".layui-icon").removeClass(g).addClass(b))):d="normal"}),r.on("click",function(){v(this).hasClass(s)||(d=t.hasClass(L)?l.onlyIconControl?"open":"close":l.onlyIconControl?"close":"open",l.click&&l.click({elem:t,state:d,data:e}))})},n.prototype.setCheckbox=function(e,i,n){var l,r=(this.config,n.prop("checked"));n.prop("disabled")||("object"!=typeof i.children&&!e.find("."+T)[0]||e.find("."+T).find('input[same="layuiTreeCheck"]').each(function(){this.disabled||(this.checked=r)}),(l=function(e){var i,n,a,t;e.parents("."+m)[0]&&(a=(n=e.parent("."+T)).parent(),t=n.prev().find('input[same="layuiTreeCheck"]'),r?t.prop("checked",r):(n.find('input[same="layuiTreeCheck"]').each(function(){this.checked&&(i=!0)}),i||t.prop("checked",!1)),l(a))})(e),this.renderForm("checkbox"))},n.prototype.checkClick=function(a,t){var l=this,r=l.config;a.children("."+w).children("."+o).on("click",'input[same="layuiTreeCheck"]+',function(e){layui.stope(e);var i=v(this).prev(),n=i.prop("checked");i.prop("disabled")||(l.setCheckbox(a,t,i),r.oncheck&&r.oncheck({elem:a,checked:n,data:t}))})},n.prototype.operate=function(h,u){var p=this,y=p.config,e=h.children("."+w),f=e.children("."+o);e.children(".layui-tree-btnGroup").on("click",".layui-icon",function(e){layui.stope(e);var i,n,a=v(this).data("type"),c=h.children("."+T),d={data:u,type:a,elem:h};if("add"==a){c[0]||(y.showLine?(f.find("."+x).addClass("layui-tree-icon"),f.find("."+x).children(".layui-icon").addClass(b).removeClass("layui-icon-file")):f.find(".layui-tree-iconArrow").removeClass(k),h.append(''));var t,l,r,s=y.operate&&y.operate(d),o={};if(o.title=y.text.defaultNodeName,o.id=s,p.tree(h.children("."+T),[o]),y.showLine&&(c[0]?(c.hasClass(F)||c.addClass(F),h.find("."+T).each(function(){v(this).children("."+m).last().addClass(A)}),c.children("."+m).last().prev().hasClass(A)?c.children("."+m).last().prev().removeClass(A):c.children("."+m).last().removeClass(A),!h.parent("."+T)[0]&&h.next()[0]&&c.children("."+m).last().removeClass(A)):(t=h.siblings("."+m),l=1,r=h.parent("."+T),layui.each(t,function(e,i){v(i).children("."+T)[0]||(l=0)}),1==l?(t.children("."+T).addClass(I),t.children("."+T).children("."+m).removeClass(A),h.children("."+T).addClass(I),r.removeClass(F),r.children("."+m).last().children("."+T).children("."+m).last().addClass(A)):h.children("."+T).children("."+m).addClass(A))),!y.showCheckbox)return;f.find('input[same="layuiTreeCheck"]')[0].checked&&(h.children("."+T).children("."+m).last().find('input[same="layuiTreeCheck"]')[0].checked=!0),p.renderForm("checkbox")}else{"update"==a?(i=f.children("."+N).html(),f.children("."+N).html(""),f.append(''),f.children(".layui-tree-editInput").val(i).focus(),n=function(e){var i=(i=e.val().trim())||y.text.defaultNodeName;e.remove(),f.children("."+N).html(i),d.data.title=i,y.operate&&y.operate(d)},f.children(".layui-tree-editInput").blur(function(){n(v(this))}),f.children(".layui-tree-editInput").on("keydown",function(e){13===e.keyCode&&(e.preventDefault(),n(v(this)))})):C.confirm('确认删除该节点 "'+(u.title||"")+'" 吗?',function(e){if(y.operate&&y.operate(d),d.status="remove",C.close(e),!h.prev("."+m)[0]&&!h.next("."+m)[0]&&!h.parent("."+T)[0])return h.remove(),void p.elem.append(p.elemNone);var r,i,n,a,t,l;h.siblings("."+m).children("."+w)[0]?(y.showCheckbox&&(r=function(e){var i,n,a,t,l;e.parents("."+m)[0]&&(i=e.siblings("."+m).children("."+w),a=(n=e.parent("."+T).prev()).find('input[same="layuiTreeCheck"]')[0],t=1,(l=0)==a.checked&&(i.each(function(e,i){var n=v(i).find('input[same="layuiTreeCheck"]')[0];0!=n.checked||n.disabled||(t=0),n.disabled||(l=1)}),1==t&&1==l&&(a.checked=!0,p.renderForm("checkbox"),r(n.parent("."+m)))))})(h),y.showLine&&(i=h.siblings("."+m),n=1,a=h.parent("."+T),layui.each(i,function(e,i){v(i).children("."+T)[0]||(n=0)}),1==n?(c[0]||(a.removeClass(F),i.children("."+T).addClass(I),i.children("."+T).children("."+m).removeClass(A)),h.next()[0]?a.children("."+m).last().children("."+T).children("."+m).last().addClass(A):h.prev().children("."+T).children("."+m).last().addClass(A),h.next()[0]||h.parents("."+m)[1]||h.parents("."+m).eq(0).next()[0]||h.prev("."+m).addClass(A)):!h.next()[0]&&h.hasClass(A)&&h.prev().addClass(A))):(t=h.parent("."+T).prev(),y.showLine?(t.find("."+x).removeClass("layui-tree-icon"),t.find("."+x).children(".layui-icon").removeClass(g).addClass("layui-icon-file"),(l=t.parents("."+T).eq(0)).addClass(F),l.children("."+m).each(function(){v(this).children("."+T).children("."+m).last().addClass(A)})):t.find(".layui-tree-iconArrow").addClass(k),h.parents("."+m).eq(0).removeClass(L),h.parent("."+T).remove()),h.remove()})}})},n.prototype.events=function(){var t=this,l=t.config;t.elem.find(".layui-tree-checkedFirst"),t.setChecked(t.checkids),t.elem.find(".layui-tree-search").on("keyup",function(){var e=v(this),n=e.val(),i=e.nextAll(),a=[];i.find("."+N).each(function(){var i,e=v(this).parents("."+w);-1!=v(this).html().indexOf(n)&&(a.push(v(this).parent()),(i=function(e){e.addClass("layui-tree-searchShow"),e.parent("."+T)[0]&&i(e.parent("."+T).parent("."+m))})(e.parent("."+m)))}),i.find("."+w).each(function(){var e=v(this).parent("."+m);e.hasClass("layui-tree-searchShow")||e.addClass(k)}),0==i.find(".layui-tree-searchShow").length&&t.elem.append(t.elemNone),l.onsearch&&l.onsearch({elem:a})}),t.elem.find(".layui-tree-search").on("keydown",function(){v(this).nextAll().find("."+w).each(function(){v(this).parent("."+m).removeClass("layui-tree-searchShow "+k)}),v(".layui-tree-emptyText")[0]&&v(".layui-tree-emptyText").remove()})},n.prototype.getChecked=function(){var e=this.config,i=[],n=[];this.elem.find(".layui-form-checked").each(function(){i.push(v(this).prev()[0].value)});var l=function(e,t){layui.each(e,function(e,a){layui.each(i,function(e,i){if(a.id==i){var n=v.extend({},a);return delete n.children,t.push(n),a.children&&(n.children=[],l(a.children,n.children)),!0}})})};return l(v.extend({},e.data),n),n},n.prototype.setChecked=function(l){this.config,this.elem.find("."+m).each(function(e,i){var n=v(this).data("id"),a=v(i).children("."+w).find('input[same="layuiTreeCheck"]'),t=a.next();if("number"==typeof l){if(n==l)return a[0].checked||t.click(),!1}else"object"==typeof l&&layui.each(l,function(e,i){if(i==n&&!a[0].checked)return t.click(),!0})})},l.that={},l.config={},t.reload=function(e,i){var n=l.that[e];return n.reload(i),l.call(n)},t.getChecked=function(e){return l.that[e].getChecked()},t.setChecked=function(e,i){return l.that[e].setChecked(i)},t.render=function(e){var i=new n(e);return l.call(i)},e(a,t)});