public/static/layui-treetable/lay/modules/tree.js
(开头部分) 8KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
layui.define("jquery",function(e){"use strict";var t=layui.jquery,n=layui.hint(),r="layui-tree-enter",a=function(e){this.options=e},i={arrow:["",""],checkbox:["",""],radio:["",""],branch:["",""],leaf:""},o=1,l={},d=function(){this.mapping={}},c=function(e){this.item=e,this.nodes=[]},s=function(e,t,n){var r=e.nodes;if(r&&r.length>0)for(var a=0;a<r.length;a++){var i=r[a],o=document.getElementById(i.id);o&&(t?(n.data("spread",!0),o.setAttribute("class","")):(n.data("spread",null),o.setAttribute("class","layui-hide"))),(!t||i.isOpened)&&s(i,t,n)}};a.prototype.traverseModel=function(e,t,n,r){var a=this;if(n){var i=new c(n);t?(i.parentId=t.id,i.id=n.id,i.level=t.level+1,t.nodes[t.nodes.length]=i,i.parent=t):(i.id=n.id,i.level=0),i.isOpened=!1,e.mapping[i.id]=i;var o=n[r];if(o&&o.constructor==Array)for(var l=0;l<o.length;l++)a.traverseModel(e,i,o[l],r)}},a.prototype.init=function(e){var t=this;e.addClass("layui-box layui-tree"),t.options.skin&&e.addClass("layui-tree-skin-"+t.options.skin),t.tree(e),t.on(e)},a.prototype.initGird=function(e){for(var t=this,n="<thead><tr><th></th>",r=0;r<t.options.layout.length;r++){var a=t.options.layout[r].headerClass?' class="'+t.options.layout[r].headerClass+'"':"";n+="<th"+a+">"+t.options.layout[r].name+"</th>"}n+="</tr></thead>",l=new d;var i={id:"root",children:t.options.nodes};t.traverseModel(l,null,i,["children"]),e.addClass("layui-tree"),t.options.skin&&e.addClass("layui-tree-skin-"+t.options.skin),t.treeGird(e),e.wrapInner("<tbody></tbody"),e.append(n),e.wrapInner('<table class="layui-table"></table>'),e.wrapInner('<div class="layui-form"></div>'),t.on(e)},a.prototype.tree=function(e,n){var r=this,a=r.options,o=n||a.nodes;layui.each(o,function(n,o){o.children&&layui.each(o.children,function(e,t){t.pid=o.id});var l=o.children&&o.children.length>0,d=t('<ul class="'+(o.spread?"layui-show":"")+'"></ul>'),c=t(["<li "+(o.spread?'data-spread="'+o.spread+'"':"")+">",function(){return l?'<i class="layui-icon layui-tree-spread">'+(o.spread?i.arrow[1]:i.arrow[0])+"</i>":""}(),function(){return a.check&&"checkbox"==a.check?'<input type="checkbox" name="'+a.checkboxName+'" '+(o.checked&&1==o.checked?'checked="checked"':"")+(o.checkboxValue?'value="'+o.checkboxValue+'"':"")+'data-parent-id="'+o.pid+'"id="'+o.id+'"'+(a.checkboxStyle?'style="'+a.checkboxStyle+'"':"")+" />":""}(),function(){return'<a href="'+(o.href||"javascript:;")+'" '+(a.target&&o.href?'target="'+a.target+'"':"")+">"+('<i class="layui-icon layui-tree-'+(l?"branch":"leaf")+'">'+(l?o.spread?i.branch[1]:i.branch[0]:i.leaf)+"</i>")+("<cite>"+(o.name||"未命名")+"</cite></a>")}(),"</li>"].join(""));l&&(c.append(d),r.tree(d,o.children)),e.append(c),"function"==typeof a.click&&r.click(c,o),r.spread(c,o),a.drag&&r.drag(c,o),r.changed(c,o)})},a.prototype.treeGird=function(e,n){var r=this,a=r.options,d=n||a.nodes;layui.each(d,function(n,d){d.children&&layui.each(d.children,function(e,t){t.pid=d.id});var c=l.mapping[d.id],s="";if(c.level>1)for(var u=1;u<c.level;u++)s+='<span style="display: inline-block;width: 16px;"></span>';var h="root"==c.parentId?null:c.parentId,p=d.children&&d.children.length>0,f=t(['<tr class="'+(h?"layui-hide":"")+'" id="'+d.id+'">',function(){return'<td style="width:2%">'+o+"</td>"}(),function(){for(var e="",t=0;t<a.layout.length;t++)e+=a.layout[t].treeNodes?'<td class="'+a.layout[t].colClass+'" style="'+a.layout[t].style+'"><li '+(d.spread?'data-spread="'+d.spread+'"':"")+">"+(s+(p?'<i class="layui-icon layui-tree-spread">'+(d.spread?i.arrow[1]:i.arrow[0])+"</i>":""))+'<a href="'+(d.href||"javascript:;")+'" '+(a.target&&d.href?'target="'+a.target+'"':"")+">"+('<i class="layui-icon layui-tree-'+(p?"branch":"leaf")+'">'+(p?d.spread?i.branch[1]:i.branch[0]:i.leaf)+"</i>")+("<cite>"+(d.name||"未命名")+"</cite></a></li></td>"):a.layout[t].render?'<td class="'+a.layout[t].colClass+'" style="'+a.layout[t].style+'">'+a.layout[t].render(d)+"</td>":'<td class="'+a.layout[t].colClass+'" style="'+a.layout[t].style+'">'+d[a.layout[t].field]+"</td>";return e}(),"</tr>"].join(""));e.append(f),o++,p&&r.treeGird(e,d.children),r.spreadGird(f,d),a.drag&&r.drag(f,d),r.changed(f,d)})},a.prototype.changed=function(e,t){var n=this;void 0==t.pid||null==t.pid?e.children("input").on("change",function(){var t=e.children("ul"),n=this.checked;t.find("input").prop("checked",n)}):e.children("input").on("change",function(){var r=this;if(this.checked){if(n.parentsChecked(this,this.checked),t.children&&t.children.length>0){var a=e.children("ul"),i=this.checked;a.find("input").prop("checked",i)}}else{if(t.children&&t.children.length>0){var a=e.children("ul"),i=this.checked;a.find("input").prop("checked",i)}n.cancelParentsCheckboxCheck(r)}})},a.prototype.cancelParentsCheckboxCheck=function(e){if(e){var t=this,n=t.siblingInputs(e),r=e.getAttribute("data-parent-id"),a=null,i=!0,o=null,l=!1;"undefined"!=r&&(a=document.getElementById(r),o=t.currentChildrenInputs(a));for(var d=0,c=n.length;c>d;d++)if(n[d].checked){i=!1;break}if(o&&0!=o.length){for(var s=0,u=o.length;u>s;s++)if("undefined"!=o[s].getAttribute("data-parent-id")&&o[s].checked){console.log(1158),l=!0;break}}else l=!1;i&&!l&&t.inputChecked(a,!1),this.cancelParentsCheckboxCheck(a)}},a.prototype.siblingInputs=function(e){if(!e)return null;for(var t=e.parentElement,n=t.parentElement,r=n.children,a=[],i=0,o=r.length;o>i;i++)r[i]!=t&&("INPUT"==r[i].children[0].nodeName&&a.push(r[i].children[0]),"INPUT"==r[i].children[1].nodeName&&a.push(r[i].children[1]));return t=null,n=null,r=null,a},a.prototype.currentChildrenInputs=function(e){var t=e.parentElement,n=[];if(t.getElementsByTagName("ul").length>0)for(var r=t.getElementsByTagName("ul"),a=0,i=r.length;i>a;a++)for(var o=r[a].getElementsByTagName("input"),l=0,d=o.length;d>l;l++)n.push(o[l]);return n},a.prototype.inputChecked=function(e,t){e.checked=t},a.prototype.parentsChecked=function(e,t){var n=this,r=n.options,a=(r.elem,e);if(a&&"INPUT"==a.nodeName){var i=a.getAttribute("data-parent-id");setTimeout(function(){n.check(a,t),i&&n.parentsChecked(document.getElementById(i),t)},50)}},a.prototype.findParents=function(e,t){var n=e.parentElement,r=this;if("#"==t.substr(0,1)){if(n){if(n.id==t.substr(1))return n;r.findParents(n,t)}}else if("."==t.substr(0,1)&&n){var a=n.className.split(" "),i=a.length,o=t.substr(1),l=!1;if(i>0)for(var d=0;i>d;d++)if(a[d]==o){l=!0;break}if(l){if(l)return n}else r.findParents(n,t)}},a.prototype.num=1,a.prototype.uuid=function(){var e=this,t=["l","a","y","e","r","n","i"],n=Math.floor(6*Math.random());return function(){for(var r="",a=0;n>=a;a++)r+=t[Math.floor(6*Math.random())];return"layer_"+(new Date).getTime()+"_"+e.num++ +"_"+ ++e.num+"_"+r}()},a.prototype.check=function(e,t){e.checked=t?!0:!1},a.prototype.click=function(e,t){var n=this,r=n.options;e.children("a").on("click",function(e){layui.stope(e),r.click(t)})},a.prototype.spread=function(e){var t=this,n=(t.options,e.children(".layui-tree-spread")),r=e.children("ul"),a=e.children("a"),o=function(){e.data("spread")?(e.data("spread",null),r.removeClass("layui-show"),n.html(i.arrow[0]),a.find(".layui-icon").html(i.branch[0])):(e.data("spread",!0),r.addClass("layui-show"),n.html(i.arrow[1]),a.find(".layui-icon").html(i.branch[1]))};r[0]&&(n.on("click",o),a.on("dblclick",o))},a.prototype.spreadGird=function(e){var t=this,n=(t.options,e.find(".layui-tree-spread")),r=e[0].id,a=e.find(".layui-tree-branch"),o=function(){var t=l.mapping[r],o=t.isOpened;s(t,!o,e),o?(e.data("spread",null),n.html(i.arrow[0]),a.html(i.branch[0])):(e.data("spread",!0),n.html(i.arrow[1]),a.html(i.branch[1])),t.isOpened=!o};n.on("click",o)},a.prototype.on=function(e){var n=this,a=n.options,i="layui-tree-drag";e.find("i").on("selectstart",function(){return!1}),a.drag&&t(document).on("mousemove",function(e){var r=n.move;if(r.from){var a=(r.to,t('<div class="layui-box '+i+'"></div>'));e.preventDefault(),t("."+i)[0]||t("body").append(a);var o=t("."+i)[0]?t("."+i):a;o.addClass("layui-show").html(r.from.elem.children("a").html()),o.css({left:e.pageX+10,top:e.pageY+10})}}).on("mouseup",function(){var e=n.move;e.from&&(e.from.elem.children("a").removeClass(r),e.to&&e.to.elem.children("a").removeClass(r),n.move={},t("."+i).remove())})},a.prototype.move={},a.prototype.drag=function(e,n){var a=this,i=(a.options,e.children("a")),o=function(){var i=t(this),o=a.move;o.from&&(o.to={item:n,elem:e},i.addClass(r))};i.on("mousedown",function(){var t=a.move;t.from={item:n,elem:e}}),i.on("mouseenter",o).on("mousemove",o).on("mouseleave",function(){var e=t(this),n=a.move;n.from&&(delete n.to,e.removeClass(r))})},e("tree",function(e){var r=new a(e=e||{}),i=t(e.elem);return i[0]?void r.init(i):n.error("layui.tree 没有找到"+e.elem+"元素")}),e("treeGird",function(e){var r=new a(e=e||{}),i=t(e.elem);return i[0]?void r.initGird(i):n.error("layui.tree 没有找到"+e.elem+"元素")})});
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。