2.1.0
This commit is contained in:
parent
9d9b5f6ad1
commit
d75470cbb6
@ -1,5 +1,6 @@
|
||||
|
||||
# 更新日志
|
||||
* [2.1.0](http://www.layui.com/doc/base/changelog.html#2-1-0)
|
||||
* [2.0.2](http://www.layui.com/doc/base/changelog.html#2-0-2)
|
||||
* [2.0.1](http://www.layui.com/doc/base/changelog.html#2-0-1)
|
||||
* [2.0.0](http://www.layui.com/doc/base/changelog.html#2-0-0)
|
||||
|
@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "layui",
|
||||
"main": "src/layui.js",
|
||||
"version": "2.0.2",
|
||||
"version": "2.1.0",
|
||||
"homepage": "https://github.com/sentsin/layui",
|
||||
"authors": [
|
||||
"sentsin <xu@sentsin.com>"
|
||||
|
4
dist/css/layui.css
vendored
4
dist/css/layui.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/layui.mobile.css
vendored
2
dist/css/layui.mobile.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/modules/code.css
vendored
2
dist/css/modules/code.css
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://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}
|
2
dist/css/modules/laydate/default/laydate.css
vendored
2
dist/css/modules/laydate/default/laydate.css
vendored
File diff suppressed because one or more lines are too long
2
dist/css/modules/layer/default/layer.css
vendored
2
dist/css/modules/layer/default/layer.css
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/carousel.js
vendored
2
dist/lay/modules/carousel.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://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",o=">*[carousel-item]>*",l="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(o),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.indicator(),e.elemItem.length<=1||(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(['<button class="layui-icon '+u+'" lay-type="sub">'+("updown"===n.anim?"":"")+"</button>",'<button class="layui-icon '+u+'" lay-type="add">'+("updown"===n.anim?"":"")+"</button>"].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(['<div class="'+c+'"><ul>',function(){var i=[];return layui.each(e.elemItem,function(e){i.push("<li"+(n.index===e?' class="layui-this"':"")+"></li>")}),i.join("")}(),"</ul></div>"].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<n.index&&e.slide("sub",n.index-a)})},m.prototype.slide=function(e,i){var n=this,o=n.elemItem,u=n.config,c=u.index,m=u.elem.attr("lay-filter");n.haveSlide||("sub"===e?(n.subIndex(i),setTimeout(function(){o.eq(u.index).addClass(d),setTimeout(function(){o.eq(c).addClass(r),o.eq(u.index).addClass(r)},50)},50)):(n.addIndex(i),setTimeout(function(){o.eq(u.index).addClass(s),setTimeout(function(){o.eq(c).addClass(l),o.eq(u.index).addClass(l)},50)},50)),setTimeout(function(){o.removeClass(a+" "+d+" "+s+" "+l+" "+r),o.eq(u.index).addClass(a),n.haveSlide=!1},300),n.elemInd.find("li").eq(u.index).addClass(a).siblings().removeClass(a),n.haveSlide=!0,layui.event.call(this,t,"change("+m+")",{index:u.index,prevIndex:c,item:o.eq(u.index)}))},m.prototype.events=function(){var e=this,i=e.config;i.elem.data("haveEvents")||(i.elem.on("mouseenter",function(){clearInterval(e.timer)}).on("mouseleave",function(){e.autoplay()}),i.elem.data("haveEvents",!0))},n.render=function(e){var i=new m(e);return i},e(t,n)});
|
2
dist/lay/modules/code.js
vendored
2
dist/lay/modules/code.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;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,"'").replace(/"/g,""")),c.html('<ol class="layui-code-ol"><li>'+o.replace(/[\r\t\n]+/g,"</li><li>")+"</li></ol>"),c.find(">.layui-code-h3")[0]||c.prepend('<h3 class="layui-code-h3">'+(c.attr("lay-title")||e.title||"code")+(e.about?'<a href="'+l+'" target="_blank">layui.code</a>':"")+"</h3>");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");
|
4
dist/lay/modules/element.js
vendored
4
dist/lay/modules/element.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/flow.js
vendored
2
dist/lay/modules/flow.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;layui.define("jquery",function(e){"use strict";var l=layui.$,o=function(e){},t='<i class="layui-anim layui-anim-rotate layui-anim-loop layui-icon "></i>';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="<cite>加载更多</cite>",h=l('<div class="layui-flow-more"><a href="javascript:;">'+d+"</a></div>");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;s<t.lazyimg.elem.length;s++){var v=t.lazyimg.elem.eq(s),y=a?function(){return v.offset().top-n.offset().top+m}():v.offset().top;if(c(v,f),i=s,y>u)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)});
|
2
dist/lay/modules/form.js
vendored
2
dist/lay/modules/form.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/jquery.js
vendored
2
dist/lay/modules/jquery.js
vendored
File diff suppressed because one or more lines are too long
4
dist/lay/modules/laydate.js
vendored
4
dist/lay/modules/laydate.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/layedit.js
vendored
2
dist/lay/modules/layedit.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/layer.js
vendored
2
dist/lay/modules/layer.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/laypage.js
vendored
2
dist/lay/modules/laypage.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;layui.define(function(e){"use strict";var a=document,t="getElementById",r="getElementsByTagName",n="laypage",i="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;a.layout="object"==typeof a.layout?a.layout:["prev","page","next"],a.count=0|a.count,a.curr=0|a.curr||1,a.groups=0|a.groups||5,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),a.groups<0?a.groups=0:a.groups>a.pages&&(a.groups=a.pages),a.prev="prev"in a?a.prev:"上一页",a.next="next"in a?a.next:"下一页";var t=a.pages>a.groups?Math.ceil((a.curr+(a.groups>1?1:0))/(a.groups>0?a.groups:1)):1,r={prev:function(){return a.prev?'<a href="javascript:;" class="layui-laypage-prev'+(1==a.curr?" "+i:"")+'" data-page="'+(a.curr-1)+'">'+a.prev+"</a>":""}(),page:function(){var e=[];if(a.count<1)return"";t>1&&a.first!==!1&&0!==a.groups&&e.push('<a href="javascript:;" class="layui-laypage-first" data-page="1" title="首页">'+(a.first||1)+"</a>");var r=Math.floor((a.groups-1)/2),n=t>1?a.curr-r:1,i=t>1?function(){var e=a.curr+(a.groups-r-1);return e>a.pages?a.pages:e}():a.groups;for(i-n<a.groups-1&&(n=i-a.groups+1),a.first!==!1&&n>2&&e.push('<span class="layui-laypage-spr">…</span>');n<=i;n++)n===a.curr?e.push('<span class="layui-laypage-curr"><em class="layui-laypage-em" '+(/^#/.test(a.theme)?'style="background-color:'+a.theme+';"':"")+"></em><em>"+n+"</em></span>"):e.push('<a href="javascript:;" data-page="'+n+'">'+n+"</a>");return a.pages>a.groups&&a.pages>i&&a.last!==!1&&(i+1<a.pages&&e.push('<span class="layui-laypage-spr">…</span>'),0!==a.groups&&e.push('<a href="javascript:;" class="layui-laypage-last" title="尾页" data-page="'+a.pages+'">'+(a.last||a.pages)+"</a>")),e.join("")}(),next:function(){return a.next?'<a href="javascript:;" class="layui-laypage-next'+(a.curr==a.pages?" "+i:"")+'" data-page="'+(a.curr+1)+'">'+a.next+"</a>":""}(),count:'<span class="layui-laypage-count">共 '+a.count+" 条</span>",limit:function(){var e=['<span class="layui-laypage-limits"><select lay-ignore>'];return layui.each(a.limits,function(t,r){e.push('<option value="'+r+'"'+(r===a.limit?"selected":"")+">"+r+" 条/页</option>")}),e.join("")+"</select></span>"}(),skip:function(){return['<span class="layui-laypage-skip">到第','<input type="text" min="1" value="'+a.curr+'" class="layui-input">','页<button type="button" class="layui-laypage-btn">确定</button>',"</span>"].join("")}()};return['<div class="layui-box layui-laypage layui-laypage-'+(a.theme?/^#/.test(a.theme)?"molv":a.theme:"default")+'" id="layui-laypage-'+a.index+'">',function(){var e=[];return layui.each(a.layout,function(a,t){r[t]&&e.push(r[t])}),e.join("")}(),"</div>"].join("")},u.prototype.jump=function(e,a){if(e){var t=this,n=t.config,i=e.children,u=e[r]("button")[0],p=e[r]("input")[0],l=e[r]("select")[0],o=function(){var e=0|p.value.replace(/\s|\D/g,"");e&&(n.curr=e,t.render())};if(a)return o();for(var c=0,g=i.length;c<g;c++)"a"===i[c].nodeName.toLowerCase()&&s.on(i[c],"click",function(){var e=0|this.getAttribute("data-page");e<1||e>n.pages||(n.curr=e,t.render())});l&&s.on(l,"change",function(){var e=this.value;n.curr*e>n.count&&(n.curr=Math.ceil(n.count/e)),n.limit=e,t.render()}),u&&s.on(u,"click",function(){o()})}},u.prototype.skip=function(e){if(e){var a=this,t=e[r]("input")[0];t&&s.on(t,"keyup",function(t){var r=this.value,n=t.keyCode;/^(37|38|39|40)$/.test(n)||(/\D/.test(r)&&(this.value=r.replace(/\D/,"")),13===n&&a.jump(e,!0))})}},u.prototype.render=function(e){var r=this,n=r.config,i=r.type(),u=r.view();2===i?n.elem&&(n.elem.innerHTML=u):3===i?n.elem.html(u):a[t](n.elem)&&(a[t](n.elem).innerHTML=u),n.jump&&n.jump(n,e);var s=a[t]("layui-laypage-"+n.index);r.jump(s),n.hash&&!e&&(location.hash="!"+n.hash+"="+n.curr),r.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){t.call(e,a)}):e.addEventListener(a,t,!1),this}};e(n,s)});
|
2
dist/lay/modules/laytpl.js
vendored
2
dist/lay/modules/laytpl.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},n={exp:function(e){return new RegExp(e,"g")},query:function(e,n,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return c((n||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var n="Laytpl Error:";return"object"==typeof console&&console.error(n+e+"\n"+(r||"")),n+e}},c=n.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=c("^"+r.open+"#",""),l=c(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(c(r.open+"#"),r.open+"# ").replace(c(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(/(?="|')/g,"\\").replace(n.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(n.query(1),function(e){var n='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(c(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),n='"+_escape_('),n+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,n.escape)}catch(u){return delete o.cache,n.error(u,p)}},t.pt.render=function(e,r){var c,t=this;return e?(c=t.cache?t.cache(e,n.escape):t.parse(t.tpl,e),r?void r(c):c):n.error("no data")};var o=function(e){return"string"!=typeof e?n.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var n in e)r[n]=e[n]},o.v="1.2.0",e("laytpl",o)});
|
2
dist/lay/modules/mobile.js
vendored
2
dist/lay/modules/mobile.js
vendored
File diff suppressed because one or more lines are too long
4
dist/lay/modules/table.js
vendored
4
dist/lay/modules/table.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/tree.js
vendored
2
dist/lay/modules/tree.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://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('<ul class="'+(n.spread?"layui-show":"")+'"></ul>'),s=o(["<li "+(n.spread?'data-spread="'+n.spread+'"':"")+">",function(){return l?'<i class="layui-icon layui-tree-spread">'+(n.spread?t.arrow[1]:t.arrow[0])+"</i>":""}(),function(){return r.check?'<i class="layui-icon layui-tree-check">'+("checkbox"===r.check?t.checkbox[0]:"radio"===r.check?t.radio[0]:"")+"</i>":""}(),function(){return'<a href="'+(n.href||"javascript:;")+'" '+(r.target&&n.href?'target="'+r.target+'"':"")+">"+('<i class="layui-icon layui-tree-'+(l?"branch":"leaf")+'">'+(l?n.spread?t.branch[1]:t.branch[0]:t.leaf)+"</i>")+("<cite>"+(n.name||"未命名")+"</cite></a>")}(),"</li>"].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('<div class="layui-box '+t+'"></div>'));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+"元素")})});
|
4
dist/lay/modules/upload.js
vendored
4
dist/lay/modules/upload.js
vendored
File diff suppressed because one or more lines are too long
2
dist/lay/modules/util.js
vendored
2
dist/lay/modules/util.js
vendored
@ -1,2 +1,2 @@
|
||||
/** layui-v2.0.2 MIT License By http://www.layui.com */
|
||||
/** layui-v2.1.0 MIT License By http://www.layui.com */
|
||||
;layui.define("jquery",function(e){"use strict";var o=layui.$,t={fixbar:function(e){var t,a,i="layui-fixbar",l="layui-fixbar-top",r=o(document),c=o("body");e=o.extend({showHeight:200},e),e.bar1=e.bar1===!0?"":e.bar1,e.bar2=e.bar2===!0?"":e.bar2,e.bgcolor=e.bgcolor?"background-color:"+e.bgcolor:"";var n=[e.bar1,e.bar2,""],u=o(['<ul class="'+i+'">',e.bar1?'<li class="layui-icon" lay-type="bar1" style="'+e.bgcolor+'">'+n[0]+"</li>":"",e.bar2?'<li class="layui-icon" lay-type="bar2" style="'+e.bgcolor+'">'+n[1]+"</li>":"",'<li class="layui-icon '+l+'" lay-type="top" style="'+e.bgcolor+'">'+n[2]+"</li>","</ul>"].join("")),s=u.find("."+l),b=function(){var o=r.scrollTop();o>=e.showHeight?t||(s.show(),t=1):t&&(s.hide(),t=0)};o("."+i)[0]||("object"==typeof e.css&&u.css(e.css),c.append(u),b(),u.find("li").on("click",function(){var t=o(this),a=t.attr("lay-type");"top"===a&&o("html,body").animate({scrollTop:0},200),e.click&&e.click.call(this,a)}),r.on("scroll",function(){clearTimeout(a),a=setTimeout(function(){b()},100)}))},countdown:function(e,o,t){var a=this,i="function"==typeof o,l=new Date(e).getTime(),r=new Date(!o||i?(new Date).getTime():o).getTime(),c=l-r,n=[Math.floor(c/864e5),Math.floor(c/36e5)%24,Math.floor(c/6e4)%60,Math.floor(c/1e3)%60];i&&(t=o);var u=setTimeout(function(){a.countdown(e,r+1e3,t)},1e3);return t&&t(c>0?n:[0,0,0,0],o,u),c<=0&&clearTimeout(u),u},timeAgo:function(e,o){var t=(new Date).getTime()-new Date(e).getTime();return t>2592e6?(t=new Date(e).toLocaleString(),o&&(t=t.replace(/\s[\S]+$/g,"")),t):t>=864e5?(t/1e3/60/60/24|0)+"天前":t>=36e5?(t/1e3/60/60|0)+"小时前":t>=18e4?(t/1e3/60|0)+"分钟前":t<0?"未来":"刚刚"}};e("util",t)});
|
6
dist/layui.all.js
vendored
6
dist/layui.all.js
vendored
File diff suppressed because one or more lines are too long
4
dist/layui.js
vendored
4
dist/layui.js
vendored
File diff suppressed because one or more lines are too long
@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "layui",
|
||||
"version": "2.0.2",
|
||||
"version": "2.1.0",
|
||||
"layimV": "3.7.0",
|
||||
"description": "经典模块化前端框架",
|
||||
"main": "layui.js",
|
||||
|
@ -22,11 +22,11 @@ pre{white-space: pre-wrap; white-space: -moz-pre-wrap; white-space: -pre-wrap; w
|
||||
|
||||
/** 图标字体 **/
|
||||
@font-face {font-family: 'layui-icon';
|
||||
src: url('../font/iconfont.eot?v=2.0.0');
|
||||
src: url('../font/iconfont.eot?v=2.0.0#iefix') format('embedded-opentype'),
|
||||
url('../font/iconfont.svg?v=2.0.0#iconfont') format('svg'),
|
||||
url('../font/iconfont.woff?v=2.0.0') format('woff'),
|
||||
url('../font/iconfont.ttf?v=2.0.0') format('truetype');
|
||||
src: url('../font/iconfont.eot?v=2');
|
||||
src: url('../font/iconfont.eot?v=2#iefix') format('embedded-opentype'),
|
||||
url('../font/iconfont.svg?v=2#iconfont') format('svg'),
|
||||
url('../font/iconfont.woff?v=2') format('woff'),
|
||||
url('../font/iconfont.ttf?v=2') format('truetype');
|
||||
|
||||
}
|
||||
|
||||
@ -119,14 +119,14 @@ a cite{font-style: normal; *cursor:pointer;}
|
||||
.layui-col-xs-offset11{margin-left: 91.66666667%;}
|
||||
.layui-col-xs-offset12{margin-left: 100%;}
|
||||
|
||||
/* 超小屏幕(手机) */@media screen and (max-width: 780px) {
|
||||
/* 超小屏幕(手机) */@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: 780px) {
|
||||
/* 小型屏幕(平板) */@media screen and (min-width: 768px) {
|
||||
.layui-container{width: 750px;}
|
||||
.layui-hide-sm{display: none!important;}
|
||||
.layui-show-sm-block{display: block!important;}
|
||||
@ -160,7 +160,7 @@ a cite{font-style: normal; *cursor:pointer;}
|
||||
.layui-col-sm-offset11{margin-left: 91.66666667%;}
|
||||
.layui-col-sm-offset12{margin-left: 100%;}
|
||||
}
|
||||
/* 中型屏幕(桌面) */@media screen and (min-width: 1000px) {
|
||||
/* 中型屏幕(桌面) */@media screen and (min-width: 992px) {
|
||||
.layui-container{width: 970px;}
|
||||
.layui-hide-md{display: none!important;}
|
||||
.layui-show-md-block{display: block!important;}
|
||||
|
@ -36,8 +36,10 @@ layui.define('jquery', function(exports){
|
||||
var TITLE = '.layui-tab-title'
|
||||
,tabElem = $('.layui-tab[lay-filter='+ filter +']')
|
||||
,titElem = tabElem.children(TITLE)
|
||||
,contElem = tabElem.children('.layui-tab-content');
|
||||
titElem.append('<li lay-id="'+ (options.id||'') +'">'+ (options.title||'unnaming') +'</li>');
|
||||
,barElem = titElem.children('.layui-tab-bar')
|
||||
,contElem = tabElem.children('.layui-tab-content')
|
||||
,li = '<li lay-id="'+ (options.id||'') +'">'+ (options.title||'unnaming') +'</li>';
|
||||
barElem[0] ? barElem.before(li) : titElem.append(li);
|
||||
contElem.append('<div class="layui-tab-item">'+ (options.content||'') +'</div>');
|
||||
call.hideTabMore(true);
|
||||
call.tabAuto();
|
||||
|
@ -1,6 +1,6 @@
|
||||
/**
|
||||
|
||||
@Name : layDate 5.0.2 日期时间控件
|
||||
@Name : layDate 5.0.3 日期时间控件
|
||||
@Author: 贤心
|
||||
@Site:http://www.layui.com/laydate/
|
||||
@License:MIT
|
||||
@ -55,7 +55,7 @@
|
||||
}
|
||||
|
||||
,laydate = {
|
||||
v: '5.0.2'
|
||||
v: '5.0.3'
|
||||
,config: {} //全局配置项
|
||||
,index: (window.laydate && window.laydate.v) ? 100000 : 0
|
||||
,path: ready.getPath
|
||||
@ -945,7 +945,6 @@
|
||||
,options = that.config, timestrap = {}
|
||||
,dateTime = options[index > 41 ? 'endDate' : 'dateTime']
|
||||
,isOut, thisDateTime = lay.extend({}, dateTime, date || {});
|
||||
|
||||
lay.each({
|
||||
now: thisDateTime
|
||||
,min: options.min
|
||||
@ -1118,12 +1117,18 @@
|
||||
lay.each(new Array(15), function(i){
|
||||
var li = lay.elem('li', {
|
||||
'lay-ym': yearNum
|
||||
});
|
||||
}), ymd = {year: yearNum};
|
||||
yearNum == listYM[0] && lay(li).addClass(THIS);
|
||||
li.innerHTML = yearNum + text;
|
||||
ul.appendChild(li);
|
||||
|
||||
that.limit(lay(li), {year: yearNum}, index);
|
||||
if(yearNum < that.firstDate.year){
|
||||
ymd.month = options.min.month;
|
||||
ymd.date = options.min.date;
|
||||
} else if(yearNum > that.firstDate.year){
|
||||
ymd.month = options.max.month;
|
||||
ymd.date = options.max.date;
|
||||
}
|
||||
that.limit(lay(li), ymd, index);
|
||||
yearNum++;
|
||||
});
|
||||
lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', (yearNum - 8) + '-' + listYM[1])
|
||||
@ -1132,12 +1137,16 @@
|
||||
lay.each(new Array(12), function(i){
|
||||
var li = lay.elem('li', {
|
||||
'lay-ym': i
|
||||
});
|
||||
}), ymd = {year: listYM[0], month: i};
|
||||
i + 1 == listYM[1] && lay(li).addClass(THIS);
|
||||
li.innerHTML = lang.month[i] + (isCN ? '月' : '');
|
||||
ul.appendChild(li);
|
||||
|
||||
that.limit(lay(li), {year: listYM[0], month: i}, index);
|
||||
if(listYM[0] < that.firstDate.year){
|
||||
ymd.date = options.min.date;
|
||||
} else if(listYM[0] > that.firstDate.year){
|
||||
ymd.date = options.max.date;
|
||||
}
|
||||
that.limit(lay(li), ymd, index);
|
||||
});
|
||||
lay(elemYM[isCN ? 0 : 1]).attr('lay-ym', listYM[0] + '-' + listYM[1])
|
||||
.html(listYM[0] + text);
|
||||
@ -1704,8 +1713,12 @@
|
||||
//选择年月
|
||||
lay(header[2]).find('span').on('click', function(e){
|
||||
var othis = lay(this)
|
||||
,layYM = othis.attr('lay-ym').split('-')
|
||||
,layYM = othis.attr('lay-ym')
|
||||
,layType = othis.attr('lay-type');
|
||||
|
||||
if(!layYM) return;
|
||||
|
||||
layYM = layYM.split('-');
|
||||
|
||||
that.listYM[i] = [layYM[0] | 0, layYM[1] | 0];
|
||||
that.list(layType, i);
|
||||
|
@ -21,6 +21,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
,table = {
|
||||
config: {
|
||||
checkName: 'LAY_CHECKED' //是否选中状态的字段名
|
||||
,indexName: 'LAY_TABLE_INDEX' //下标索引名
|
||||
} //全局配置项
|
||||
,cache: {} //数据缓存
|
||||
,index: layui.table ? (layui.table.index + 10000) : 0
|
||||
@ -40,12 +41,17 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
|
||||
//操作当前实例
|
||||
,thisTable = function(){
|
||||
var that = this;
|
||||
var that = this
|
||||
,options = that.config
|
||||
,id = options.id;
|
||||
|
||||
id && (thisTable.config[id] = options);
|
||||
|
||||
return {
|
||||
reload: function(options){
|
||||
that.reload.call(that, options);
|
||||
}
|
||||
,config: that.config
|
||||
,config: options
|
||||
}
|
||||
}
|
||||
|
||||
@ -174,19 +180,42 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
};
|
||||
|
||||
//表格渲染
|
||||
Class.prototype.render = function(){
|
||||
var that = this, options = that.config;
|
||||
|
||||
Class.prototype.render = function(sets){
|
||||
var that = this, options;
|
||||
|
||||
if(sets) that.config = sets;
|
||||
options = that.config;
|
||||
|
||||
options.elem = $(options.elem);
|
||||
options.where = options.where || {};
|
||||
|
||||
//请求参数的自定义格式
|
||||
options.request = $.extend({
|
||||
pageName: 'page'
|
||||
,limitName: 'limit'
|
||||
}, options.request)
|
||||
|
||||
//响应数据的自定义格式
|
||||
options.response = $.extend({
|
||||
statusName: 'code'
|
||||
,statusCode: 0
|
||||
,msgName: 'msg'
|
||||
,dataName: 'data'
|
||||
,countName: 'count'
|
||||
}, options.response)
|
||||
|
||||
if(!options.elem[0]) return that;
|
||||
|
||||
var othis = options.elem
|
||||
,hasRender = othis.next('.' + ELEM_VIEW)
|
||||
,hasRender = othis.next('.' + ELEM_VIEW);
|
||||
|
||||
if(options.height && /^full-\d+$/.test(options.height)){ //full-差距值
|
||||
that.fullHeightGap = options.height.split('-')[1];
|
||||
options.height = _WIN.height() - that.fullHeightGap;
|
||||
}
|
||||
|
||||
//替代元素
|
||||
,reElem = that.elem = $(laytpl(TPL_MAIN).render({
|
||||
var reElem = that.elem = $(laytpl(TPL_MAIN).render({
|
||||
VIEW_CLASS: ELEM_VIEW
|
||||
,data: options
|
||||
,index: that.index //索引
|
||||
@ -209,11 +238,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
|
||||
//设置body区域高度
|
||||
if(options.height){
|
||||
var bodyHeight = parseFloat(options.height) - parseFloat(that.layHeader.height()) - 1;
|
||||
if(options.page){
|
||||
bodyHeight = bodyHeight - parseFloat(that.layTool.outerHeight() + 1);
|
||||
}
|
||||
that.layBody.css('height', bodyHeight);
|
||||
that.fullSize();
|
||||
}
|
||||
|
||||
that.pullData(1);
|
||||
@ -230,39 +255,44 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
//获得数据
|
||||
Class.prototype.pullData = function(curr, loadIndex){
|
||||
var that = this
|
||||
,options = that.config;
|
||||
,options = that.config
|
||||
,request = options.request
|
||||
,response = options.response;
|
||||
|
||||
if(options.url){ //Ajax请求
|
||||
var params = {};
|
||||
params[request.pageName] = curr;
|
||||
params[request.limitName] = options.limit;
|
||||
|
||||
$.ajax({
|
||||
type: options.method || 'get'
|
||||
,url: options.url
|
||||
,data: $.extend({
|
||||
page: curr
|
||||
,limit: options.limit
|
||||
}, options.where)
|
||||
,data: $.extend(params, options.where)
|
||||
,dataType: 'json'
|
||||
,success: function(res){
|
||||
if(res.code != 0){
|
||||
return layer.msg(res.msg);
|
||||
if(res[response.statusName] != response.statusCode){
|
||||
that.renderForm();
|
||||
return that.layMain.html('<div class="layui-none">'+ (res[response.msgName] || '返回的数据状态异常') +'</div>');;
|
||||
}
|
||||
that.renderData(res, curr, res.count);
|
||||
that.renderData(res, curr, res[response.countName]);
|
||||
loadIndex && layer.close(loadIndex);
|
||||
typeof options.done === 'function' && options.done(res, curr, res.count);
|
||||
typeof options.done === 'function' && options.done(res, curr, res[response.countName]);
|
||||
}
|
||||
,error: function(e, m){
|
||||
layer.msg('数据请求异常');
|
||||
hint.error('初始table时的接口'+ options.url + '异常:'+ m);
|
||||
that.layMain.html('<div class="layui-none">数据接口请求异常</div>');
|
||||
that.renderForm();
|
||||
loadIndex && layer.close(loadIndex);
|
||||
}
|
||||
});
|
||||
} else if(options.data && options.data.constructor === Array){ //已知数据
|
||||
var startLimit = curr*options.limit - options.limit
|
||||
,res = {
|
||||
data: options.data.concat().splice(startLimit, options.limit)
|
||||
,count: options.data.length
|
||||
};
|
||||
var res = {}
|
||||
,startLimit = curr*options.limit - options.limit
|
||||
|
||||
res[response.dataName] = options.data.concat().splice(startLimit, options.limit);
|
||||
res[response.countName] = options.data.length;
|
||||
|
||||
that.renderData(res, curr, options.data.length);
|
||||
typeof options.done === 'function' && options.done(res, curr, res.count);
|
||||
typeof options.done === 'function' && options.done(res, curr, res[response.countName]);
|
||||
}
|
||||
};
|
||||
|
||||
@ -281,8 +311,8 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
//数据渲染
|
||||
Class.prototype.renderData = function(res, curr, count, sort){
|
||||
var that = this
|
||||
,data = res.data
|
||||
,options = that.config
|
||||
,data = res[options.response.dataName] || []
|
||||
,trs = []
|
||||
,trs_fixed = []
|
||||
,trs_fixed_r = []
|
||||
@ -294,6 +324,10 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
}
|
||||
layui.each(data, function(i1, item1){
|
||||
var tds = [], tds_fixed = [], tds_fixed_r = [];
|
||||
if(item1.length === 0) return;
|
||||
if(!sort){
|
||||
item1[table.config.indexName] = i1;
|
||||
}
|
||||
that.eachCols(function(i3, item3){
|
||||
var content = item1[item3.field||i3];
|
||||
if(content === undefined || content === null) content = '';
|
||||
@ -346,7 +380,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
that.layFixLeft.find('tbody').html(trs_fixed.join(''));
|
||||
that.layFixRight.find('tbody').html(trs_fixed_r.join(''));
|
||||
|
||||
form.render('checkbox', 'LAY-table-'+that.index);
|
||||
that.renderForm();
|
||||
that.syncCheckAll();
|
||||
that.haveInit ? that.scrollPatch() : setTimeout(function(){
|
||||
that.scrollPatch();
|
||||
@ -360,11 +394,11 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
//排序
|
||||
if(sort){
|
||||
return render();
|
||||
} else {
|
||||
that.cacheData = data;
|
||||
}
|
||||
|
||||
if(data.length === 0){
|
||||
that.renderForm();
|
||||
that.layFixed.remove();
|
||||
return that.layMain.html('<div class="layui-none">无数据</div>');
|
||||
}
|
||||
|
||||
@ -396,12 +430,18 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
}
|
||||
};
|
||||
|
||||
//渲染表单
|
||||
Class.prototype.renderForm = function(type){
|
||||
form.render((type || 'checkbox'), 'LAY-table-'+ this.index);
|
||||
}
|
||||
|
||||
//数据排序
|
||||
Class.prototype.sort = function(th, type, pull){
|
||||
var that = this
|
||||
,field
|
||||
,config = that.config
|
||||
,thisData = table.cache[that.key];
|
||||
,filter = config.elem.attr('lay-filter')
|
||||
,data = table.cache[that.key], thisData;
|
||||
|
||||
//字段匹配
|
||||
if(typeof th === 'string'){
|
||||
@ -415,7 +455,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
try {
|
||||
var field = field || th.data('field');
|
||||
|
||||
@ -431,20 +471,21 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
elemSort.attr('lay-sort', type || null);
|
||||
that.layFixed.find('th')
|
||||
} catch(e){
|
||||
return hint.error('未到匹配field');
|
||||
return hint.error('Did not match to field');
|
||||
}
|
||||
|
||||
//记录排序索引和类型
|
||||
that.sortKey = {
|
||||
field: field
|
||||
,sort: type
|
||||
};
|
||||
|
||||
if(type === 'asc'){ //升序
|
||||
thisData = layui.sort(thisData, field);
|
||||
thisData = layui.sort(data, field);
|
||||
} else if(type === 'desc'){ //降序
|
||||
thisData = layui.sort(thisData, field, true);
|
||||
thisData = layui.sort(data, field, true);
|
||||
} else { //清除排序
|
||||
thisData = that.cacheData;
|
||||
thisData = layui.sort(data, table.config.indexName);
|
||||
delete that.sortKey;
|
||||
}
|
||||
|
||||
@ -452,6 +493,11 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
data: thisData
|
||||
}, that.page, that.count, true);
|
||||
layer.close(that.tipsIndex);
|
||||
|
||||
layui.event.call(th, MOD_NAME, 'sort('+ filter +')', {
|
||||
field: field
|
||||
,type: type
|
||||
});
|
||||
};
|
||||
|
||||
//请求loading
|
||||
@ -478,7 +524,6 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
,thisData = table.cache[that.key];
|
||||
if(!thisData[index]) return;
|
||||
thisData[index][config.checkName] = checked;
|
||||
that.cacheData[index][config.checkName] = checked;
|
||||
};
|
||||
|
||||
//同步全选按钮状态
|
||||
@ -500,13 +545,13 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
if(table.checkStatus(that.key).isAll){
|
||||
if(!checkAllElem[0].checked){
|
||||
checkAllElem.prop('checked', true);
|
||||
form.render('checkbox', 'LAY-table-'+that.index);
|
||||
that.renderForm();
|
||||
}
|
||||
syncColsCheck(true);
|
||||
} else {
|
||||
if(checkAllElem[0].checked){
|
||||
checkAllElem.prop('checked', false);
|
||||
form.render('checkbox', 'LAY-table-'+that.index);
|
||||
that.renderForm();
|
||||
}
|
||||
syncColsCheck(false);
|
||||
}
|
||||
@ -525,6 +570,26 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
});
|
||||
};
|
||||
|
||||
//尺寸始终铺满
|
||||
Class.prototype.fullSize = function(){
|
||||
var that = this
|
||||
,options = that.config
|
||||
,height = options.height, bodyHeight;
|
||||
|
||||
if(that.fullHeightGap){
|
||||
height = _WIN.height() - that.fullHeightGap;
|
||||
if(height < 135) height = 135;
|
||||
that.elem.css('height', height);
|
||||
}
|
||||
|
||||
//tbody区域高度
|
||||
bodyHeight = parseFloat(height) - parseFloat(that.layHeader.height()) - 1;
|
||||
if(options.page){
|
||||
bodyHeight = bodyHeight - parseFloat(that.layTool.outerHeight() + 1);
|
||||
}
|
||||
that.layBody.css('height', bodyHeight);
|
||||
};
|
||||
|
||||
//滚动条补丁
|
||||
Class.prototype.scrollPatch = function(){
|
||||
var that = this
|
||||
@ -650,7 +715,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
that.setCheckData(i, checked);
|
||||
});
|
||||
that.syncCheckAll();
|
||||
form.render('checkbox', 'LAY-table-'+that.index);
|
||||
that.renderForm();
|
||||
} else {
|
||||
that.setCheckData(index, checked);
|
||||
that.syncCheckAll();
|
||||
@ -679,9 +744,13 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
,value = this.value
|
||||
,field = othis.parent().data('field')
|
||||
,index = othis.parents('tr').eq(0).data('index')
|
||||
,data = table.cache[that.key][index];
|
||||
|
||||
data[field] = value; //更新缓存中的值
|
||||
|
||||
layui.event.call(this, MOD_NAME, 'edit('+ filter +')', {
|
||||
value: value
|
||||
,data: table.cache[that.key][index]
|
||||
,data: data
|
||||
,field: field
|
||||
});
|
||||
}).on('blur', '.'+ELEM_EDIT, function(){
|
||||
@ -754,20 +823,19 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
var othis = $(this)
|
||||
,index = othis.parents('tr').eq(0).data('index')
|
||||
,tr = that.layBody.find('tr[data-index="'+ index +'"]')
|
||||
,ELEM_CLICK = 'layui-table-click';
|
||||
,ELEM_CLICK = 'layui-table-click'
|
||||
,data = table.cache[that.key][index];
|
||||
|
||||
layui.event.call(this, MOD_NAME, 'tool('+ filter +')', {
|
||||
data: table.cache[that.key][index]
|
||||
data: table.clearCacheKey(data)
|
||||
,event: othis.attr('lay-event')
|
||||
,tr: tr
|
||||
,del: function(){
|
||||
var data = this.data;
|
||||
delete data[table.config.checkName];
|
||||
table.cache[that.key][index] = [];
|
||||
tr.remove();
|
||||
that.scrollPatch();
|
||||
}
|
||||
,update: function(fields){
|
||||
var data = this.data;
|
||||
fields = fields || {};
|
||||
layui.each(fields, function(key, value){
|
||||
if(key in data){
|
||||
@ -801,6 +869,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
});
|
||||
|
||||
_WIN.on('resize', function(){ //自适应
|
||||
that.fullSize();
|
||||
that.scrollPatch();
|
||||
});
|
||||
};
|
||||
@ -809,7 +878,8 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
table.init = function(filter, settings){
|
||||
settings = settings || {};
|
||||
var that = this
|
||||
,elemTable = filter ? $('table[lay-filter="'+ filter +'"]') : $(ELEM + '[lay-data]');
|
||||
,elemTable = filter ? $('table[lay-filter="'+ filter +'"]') : $(ELEM + '[lay-data]')
|
||||
,errorTips = 'Table element property lay-data configuration item has a syntax error: ';
|
||||
|
||||
//遍历数据表格
|
||||
elemTable.each(function(){
|
||||
@ -818,7 +888,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
try{
|
||||
tableData = new Function('return '+ tableData)();
|
||||
} catch(e){
|
||||
hint.error('table元素属性lay-data配置项存在语法错误:'+ tableData)
|
||||
hint.error(errorTips + tableData)
|
||||
}
|
||||
|
||||
var cols = [], options = $.extend({
|
||||
@ -841,7 +911,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
try{
|
||||
itemData = new Function('return '+ itemData)();
|
||||
} catch(e){
|
||||
return hint.error('table元素属性lay-data配置项存在语法错误:'+ itemData)
|
||||
return hint.error(errorTips + itemData)
|
||||
}
|
||||
|
||||
var row = $.extend({
|
||||
@ -888,7 +958,7 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
layui.each(data, function(i, item){
|
||||
if(item[table.config.checkName]){
|
||||
nums++;
|
||||
arr.push(item);
|
||||
arr.push(table.clearCacheKey(item));
|
||||
}
|
||||
});
|
||||
return {
|
||||
@ -896,6 +966,14 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
,isAll: nums === data.length //是否全选
|
||||
};
|
||||
};
|
||||
|
||||
//表格重载
|
||||
thisTable.config = {};
|
||||
table.reload = function(id, options){
|
||||
var config = thisTable.config[id];
|
||||
if(!config) return hint.error('The ID option was not found in the table instance');
|
||||
return table.render($.extend({}, config, options));
|
||||
};
|
||||
|
||||
//核心入口
|
||||
table.render = function(options){
|
||||
@ -903,6 +981,14 @@ layui.define(['laytpl', 'laypage', 'layer', 'form'], function(exports){
|
||||
return thisTable.call(inst);
|
||||
};
|
||||
|
||||
//清除临时Key
|
||||
table.clearCacheKey = function(data){
|
||||
data = $.extend({}, data);
|
||||
delete data[table.config.checkName];
|
||||
delete data[table.config.indexName];
|
||||
return data;
|
||||
};
|
||||
|
||||
//自动完成渲染
|
||||
table.init();
|
||||
|
||||
|
@ -283,7 +283,6 @@ layui.define('layer' , function(exports){
|
||||
});
|
||||
return that.files;
|
||||
}
|
||||
,elemFile: elemFile
|
||||
}
|
||||
|
||||
//提交上传
|
||||
@ -389,6 +388,18 @@ layui.define('layer' , function(exports){
|
||||
|
||||
//点击上传容器
|
||||
options.elem.off('upload.start').on('upload.start', function(){
|
||||
var othis = $(this), data = othis.attr('lay-data');
|
||||
|
||||
if(data){
|
||||
try{
|
||||
data = new Function('return '+ data)();
|
||||
that.config = $.extend({}, options, data);
|
||||
} catch(e){
|
||||
hint.error('Upload element property lay-data configuration item has a syntax error: ' + data)
|
||||
}
|
||||
}
|
||||
|
||||
that.config.item = othis;
|
||||
that.elemFile[0].click();
|
||||
});
|
||||
|
||||
|
@ -19,7 +19,7 @@
|
||||
}
|
||||
|
||||
,Layui = function(){
|
||||
this.v = '2.0.2'; //版本号
|
||||
this.v = '2.1.0'; //版本号
|
||||
}
|
||||
|
||||
//获取layui所在目录
|
||||
@ -430,6 +430,7 @@
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
desc && clone.reverse(); //倒序
|
||||
return clone;
|
||||
};
|
||||
|
@ -134,8 +134,8 @@ layui.use('laydate', function(){
|
||||
elem: '#test2'
|
||||
,format: 'y年MM月dd日'
|
||||
//,value: new Date(2017,7,20)
|
||||
//,min: -1 //负数代表为n天前,正数代表为n天后。或这种格式:min: '2017-8-20'
|
||||
//,max: 1 //最大日期为n天后
|
||||
,min: '2016-9-20'
|
||||
,max: '2018-9-20'
|
||||
,ready: function(date){
|
||||
console.log(date);
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ body{padding: 20px;}
|
||||
<button class="layui-btn" data-type="isAll">验证是否全选</button>
|
||||
</div>
|
||||
|
||||
<table class="layui-table" lay-data="{width:900, height:330, url:'json/table/demo1.json', page:true, id:'test'}" lay-filter="test">
|
||||
<table class="layui-table" lay-data="{width:900, height:'full-100', url:'json/table/demo1.json', page:true, id:'test'}" lay-filter="test">
|
||||
<thead>
|
||||
<tr>
|
||||
<th lay-data="{checkbox:true, fixed: true}"></th>
|
||||
@ -31,7 +31,7 @@ body{padding: 20px;}
|
||||
<th lay-data="{field:'sex', width:80}">性别</th>
|
||||
<th lay-data="{field:'city', width:100}">城市</th>
|
||||
<th lay-data="{field:'sign', width:150}">签名</th>
|
||||
<th lay-data="{field:'experience', width:80, sort: true}">积分</th>
|
||||
<th lay-data="{field:'experience', width:80, sort: true, edit: 'text'}">积分</th>
|
||||
<th lay-data="{field:'ip', width:120}">IP</th>
|
||||
<th lay-data="{field:'logins', width:100}">登入次数</th>
|
||||
<th lay-data="{field:'joinTime', width:120}">加入时间</th>
|
||||
@ -61,13 +61,13 @@ body{padding: 20px;}
|
||||
<th lay-data="{field:'ip', width:120}">IP</th>
|
||||
<th lay-data="{field:'logins', width:100, sort: true}">登入次数</th>
|
||||
<th lay-data="{field:'joinTime', width:120}">加入时间</th>
|
||||
<th lay-data="{fixed: 'right', toolbar: '#barDemo', width:150, align:'center'}">操作</th>
|
||||
<th lay-data="{fixed: 'right', toolbar: '#barDemo', width:150}">操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
</table>
|
||||
|
||||
<script type="text/html" id="usernameTpl">
|
||||
<a href="" class="layui-table-link">{{d.username}}</a>
|
||||
<a href="" class="layui-table-link">{{d.username || ''}}</a>
|
||||
</script>
|
||||
<script type="text/html" id="LAY_table_tpl_email">
|
||||
<span {{# if(!d.activate){ }}style="color:#999"{{# } }}>{{ d.email }}</span>
|
||||
@ -256,6 +256,7 @@ layui.use('table', function(){
|
||||
,{field: 'experience', title: '积分', width: 80, sort: true}
|
||||
]]
|
||||
|
||||
,id:'test111'
|
||||
,skin: 'row' //表格风格
|
||||
,even: true
|
||||
//,size: 'lg' //尺寸
|
||||
@ -279,7 +280,6 @@ layui.use('table', function(){
|
||||
,data = obj.data //得到所在行所有键值
|
||||
,field = obj.field; //得到字段
|
||||
|
||||
data[field] = value; //更新缓存中的值
|
||||
});
|
||||
|
||||
//监听工具条
|
||||
@ -295,6 +295,11 @@ layui.use('table', function(){
|
||||
}
|
||||
});
|
||||
|
||||
//监听排序
|
||||
table.on('sort(test)', function(obj){
|
||||
console.log(this, obj)
|
||||
});
|
||||
|
||||
|
||||
var $ = layui.jquery, active = {
|
||||
getCheckData: function(){
|
||||
|
@ -51,14 +51,19 @@ hr{margin: 30px 0;}
|
||||
|
||||
<hr>
|
||||
|
||||
<button type="button" class="layui-btn" id="test3"><i class="layui-icon"></i>上传文件</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary" id="test33"><i class="layui-icon"></i>换个样式</button>
|
||||
<button type="button" class="layui-btn test333" lay-data="{size:10,url:'a'}" id="test3"><i class="layui-icon"></i>上传文件</button>
|
||||
<button type="button" class="layui-btn layui-btn-primary test333" lay-data="{size:20,url:'b'}" id="test33"><i class="layui-icon"></i>换个样式</button>
|
||||
|
||||
<button type="button" class="layui-btn" id="test4"><i class="layui-icon"></i>上传视频</button>
|
||||
<button type="button" class="layui-btn" id="test5"><i class="layui-icon"></i>上传音频</button>
|
||||
|
||||
<hr>
|
||||
|
||||
<button class="layui-btn testm" lay-data="{url: '/a/'}">参数设在元素上</button>
|
||||
<button class="layui-btn testm" lay-data="{url: '/b/', accept: 'file',size:5}">参数设在元素上</button>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="layui-upload">
|
||||
<button type="button" class="layui-btn layui-btn-normal" id="test6">选择文件</button>
|
||||
<button type="button" class="layui-btn" id="test7">开始上传</button>
|
||||
@ -184,13 +189,26 @@ layui.use('upload', function(){
|
||||
|
||||
|
||||
upload.render({
|
||||
elem: '#test3'
|
||||
,url: ''
|
||||
elem: '.test333'
|
||||
,url: 'a'
|
||||
,accept: 'file'
|
||||
,before: function(obj){
|
||||
console.log(this.item);
|
||||
}
|
||||
,done: function(res){
|
||||
console.log(res)
|
||||
}
|
||||
});
|
||||
|
||||
upload.render({
|
||||
elem: '.testm'
|
||||
,done: function(res, index, upload){
|
||||
//获取当前触发上传的元素,一般用于 elem 绑定 class 的情况,注意:此乃 layui 2.1.0 新增
|
||||
var item = this.item;
|
||||
}
|
||||
})
|
||||
|
||||
/*
|
||||
upload.render({
|
||||
elem: '#test33'
|
||||
,url: ''
|
||||
@ -198,7 +216,7 @@ layui.use('upload', function(){
|
||||
,done: function(res){
|
||||
console.log(res)
|
||||
}
|
||||
});
|
||||
});*/
|
||||
|
||||
upload.render({
|
||||
elem: '#test4'
|
||||
|
Loading…
Reference in New Issue
Block a user