mobilemode.api.popup_wev8.js 13.9 KB
define("mApi/popup",["mUtil","layer","i18n"],function(v,m,u){var p=require("pageEvent"),c=function(e){return function(){m.close(e)}},f=function(e,t,n){var i,a,o,r,d=e.offset(),l=n||"right",s=$("body");switch(n=0,o=t.height(),r=t.width(),i=d.top+e.height(),l){case"right":a=d.left+e.width()-r;break;case"left":a=d.left;break;case"center":a=d.left+e.width()/2-r/2}return a+r>s.width()&&(a=s.width()-r-10),a<0&&(a=10),i+o>s.height()&&(i=d.top-o,n=1),t.css({top:i,left:a}),n},g=function(e,t,n,i,a){var o=(n=n||document).getElementById(e+".css");return o?i&&(o.innerHTML=t):(t+="\n/*# sourceURL="+e+" */",(o=n.createElement("style")).appendChild(n.createTextNode(t)),o.id=e+".css",a?a(o):void n.querySelector("head").appendChild(o))},b=function(e,t,n){var i=$(".wev-badge",e);if(t.badge){var a=v.getActionUrl("NavHeader",{action:"getBadge",mec_id:t.mec_id,btn_id:t.btn_id},t.pageid);require(["remindHelper"],function(e){e.renderBadge(a,i,n)})}else{var o=[];(t&&t.items||[]).reduce(function(e,t){var i=$.Deferred();return e.done(function(){if(t.badge){if(!isNaN(t.badge))return o.push(t.badge),void i.resolve();v.ajax(t.badge,function(){},{complete:function(t){var e=t&&t.responseText;try{t=JSON.parse(e)}catch(e){t={}}if("1"==t.status){var n=t.data||"";o.push(Number(n))}else o.push("");i.resolve()}})}else i.resolve()}),i},$.Deferred().resolve()).done(function(){require(["remindHelper"],function(e){e.renderBadge(o,i,[])})})}};return{msg:function(e,t){m.open({content:e||"",position:"bottom",skin:"msg",time:t||2})},alert:function(e,t,n){var i=u.SURE;t&&(v.isString(t)?i=t:v.isFunction(t)&&(n=t));var a=m.open({content:e||"",btn:i,shadeClose:!1,yes:function(e){m.close(e),n&&n()},end:function(){p.destory("change",o)}}),o=c(a);p.register("change",o)},Alert:function(e,t,n){"boolean"!=typeof t||t?this.msg(e):v.isArray(n)?this.alert(e,n[0],n[1]):v.isFunction(n)?this.alert(e,n):this.alert(e)},confirm:function(e,t,n,i){var a=[u.SURE,u.CANCEL];t&&(v.isString(t)?a[0]=t:v.isArray(t)?a=$.extend(a,t):v.isFunction(t)&&(v.isFunction(n)&&(i=n),n=t));var o=m.open({content:e||"",btn:a,shadeClose:!1,yes:function(e){m.close(e),n&&n()},no:function(){i&&i()},end:function(){p.destory("change",r)}}),r=c(o);p.register("change",r)},Confirm:function(e,t,n,i){var a=[],o=null,r=null;v.isArray(i)?(a.push(i[0]),o=i[1]):v.isFunction(i)&&(a.push(u.SURE),o=i),v.isArray(n)?(a.push(n[0]),r=n[1]):v.isFunction(n)&&(a.push(u.CANCEL),r=n),this.confirm(e,a,o,r)},prompt:function(e,t,n,i,a){var o=[u.SURE,u.CANCEL],r="";t&&(v.isString(t)?r=t:v.isArray(t)?o=$.extend(o,t):v.isFunction(t)&&(v.isFunction(n)&&(a=n),i=t,n="")),n&&(v.isArray(n)?o=$.extend(o,n):v.isFunction(n)&&(v.isFunction(i)&&(a=i),i=n));var d=m.open({content:"<span>"+e+'</span><br><br><div><input type="text" id="layer-prompt-input" class="layer-content-prompt-input" value="'+r+'"></div>',btn:o,shadeClose:!1,yes:function(e){var t=$("#layer-prompt-input").val();m.close(e),i&&i(t)},no:function(){a&&a()},end:function(){p.destory("change",l)}}),l=c(d);p.register("change",l)},showLoader:function(e){this.loaderIndex=m.open({type:2,shadeClose:!1,content:e||u.LOADING_DATA,end:function(){p.destory("change",t)}});var t=c(this.loaderIndex);p.register("change",t)},hideLoader:function(){m.close(this.loaderIndex)},footerMenu:function(e,o){v.isArray(e)&&(e={items:e});var t=e&&e.layout||"menu",f=e&&e.iconPosition||"left",r=e.items;if("menu"==t){var w="<ul>",h=[];r.forEach(function(e,t){e.remind&&e.remindapi&&e.remindapi.api&&(e.uuid=e.remindapi.uuid=v.UUID(),e.apiid=e.remindapi.api.id,h.push(e.remindapi));var n=e.menuValue||"",i=e.url||"",a="",o=e.text||e.menuText||"",r=e.icon||"",d=e.iconStyle||"",l="",s=e.apiid?' data-api="'+e.uuid+"_"+e.apiid+'"':"",m="no-icon";""!=r&&(l='<img class="m-icon" src="'+r+'" '+((m="")!=d?'style="'+d+'"':"")+"/>");var u=e.badge||e.remind?'<span class="wev-badge" '+s+"></span>":"",p=u?"":"no-badge",c="right"==f?'<div class="m-text">'+o+"</div>"+u+l:l+'<div class="m-text">'+o+"</div>"+u;a+=e.dataAjax?' data-ajax="'+e.dataAjax+'"':"",a+=' data-reload="true"',a+=e.queryString?' data-formdata="'+e.queryString+'"':"",w+='<li class="'+f+" "+m+" "+p+'" data-index="'+t+'" data-value="'+n+'"><a href="${url}" '+a+">"+c+"</a></li>",w=v.parseTemplate(w,{url:i})}),w+="</ul>";var d=m.open({content:w,className:"wev-footer-menu",btn:[u.CANCEL],skin:"footer",yes:function(e){m.close(e)},success:function(e){$("li[data-index]",e).on("click",function(){var t=$(this),n=t.attr("data-index"),i=t.attr("data-value"),a=t.html();t.addClass("active"),setTimeout(function(){t.removeClass("active"),m.close(d);var e=r[n].callback;v.isFunction(e)&&e.call(t[0]),v.isFunction(o)&&o.call(t[0],{index:n,menuValue:i,menuText:a})},100)})},end:function(){p.destory("change",n)}}),n=c(d);p.register("change",n),b($("#layui-m-layer"+d),e,h)}else{$("#panel-menu").remove();var i=e&&e.items||[];if(0==i.length)return;h=[];i.forEach(function(e){var t=v.isFunction(e.callback)&&"javascript:Mobile_NS.eval("+e.callback+");"||"";t+=v.isFunction(o)&&"javascript:Mobile_NS.eval("+o+");"||"",e.url=e.url?e.url+t:t,e.remind&&e.remindapi&&e.remindapi.api&&(e.uuid=e.remindapi.uuid=v.UUID(),e.apiid=e.remindapi.api.id,h.push(e.remindapi))});for(var a=['<div id="panel-menu">','<div class="panel-menu-mask"></div>','<div class="items-container">','<ul class="wev-table wev-table-view">',"{@each items as item,index}","{@if index % 4 === 0 }<div>{@/if}","{@if item.fillIn}",'<li class="wev-table-view-cell"></li>',"{@else}",'<li class="wev-table-view-cell">','<a id="${item.id}" href="${item.url}" data-ajax="${item.dataAjax}" data-reload="true" data-formdata="${item.queryString}">','<img class="wev-big-icon ${item.iconClass}" src="${item.icon}"/>','<div class="wev-media-body">',"$${item.text}","</div>","{@if item.remind || item.badge}",'<span class="wev-badge" data-index="${index}" {@if item.apiid}data-api="${item.uuid}_${item.apiid}"{@/if}></span>',"{@/if}","</a>","</li>","{@/if}","{@if (parseInt(index) + 1) % 4 === 0 || index == item.length - 1 }</div>{@/if}","{@/each}","</ul>","</div>",'<div id="cancel-btn"><span>'+u.CANCEL+"</span></div>","</div>"].join("");i.length%4!=0;)i.push({fillIn:!0});a=v.parseTemplate(a,e);var l=$(a);g("panel-menu","#panel-menu { position: absolute; bottom: 0; z-index: 110; max-height: 322px; width: 100%; background: #fff; }\t\t\t\t\t\t   #panel-menu.anim-up { -webkit-animation-duration: .25s; animation-duration: .25s; -webkit-animation-timing-function: linear; animation-timing-function: linear; -webkit-animation-name: panel-menu-anim-up; animation-name: panel-menu-anim-up; }\t\t\t\t\t\t   @keyframes panel-menu-anim-up{0%{-webkit-transform:translateY(100%);transform:translateY(100%);}100%{-webkit-transform:translateY(0);transform:translateY(0);}}\t\t\t\t\t\t   #panel-menu.anim-down { -webkit-animation-name: panel-menu-anim-down; animation-name: panel-menu-anim-down; -webkit-animation-timing-function: linear; -webkit-animation-duration: .25s; animation-timing-function: linear; animation-duration: .25s; }\t\t\t\t\t\t   @keyframes panel-menu-anim-down{0%{transform: translateY(0);}100%{transform: translateY(100%); }}\t\t\t\t\t\t   #panel-menu .items-container { max-height: 271px; overflow-y: auto; }\t\t\t\t\t\t   #panel-menu ul.wev-table-view { padding-top: 4px; padding-bottom: 8px; }\t\t\t\t\t\t   #panel-menu ul , #panel-menu li { background: #f5f5f5; }\t\t\t\t\t\t   #panel-menu li.wev-table-view-cell { padding: 0; }\t\t\t\t\t\t   #panel-menu li a { margin: auto; text-align: center; padding: 10px 0 0; }\t\t\t\t\t\t   #panel-menu li a .wev-big-icon { height: 50px; width: 50px; border-radius: 6px; }\t\t\t\t\t\t   #panel-menu li .wev-media-body { height: 25px; line-height: 25px; white-space: nowrap; text-overflow: ellipsis; font-size: 12px; }\t\t\t\t\t\t   #panel-menu .wev-table-view-cell:after, #panel-menu .wev-table-view-cell:before { height: 0; }\t\t\t\t\t\t   #panel-menu .wev-table-view-cell>a>.wev-badge {top: 5px; right: 8px; bottom: auto; -webkit-transform: translateX(3px); -ms-transform: translatex(3px); transform: translatex(3px);}\t\t\t\t\t\t   #panel-menu #cancel-btn { position: fixed; width: 100%; height: 50px; bottom: 0; z-index: 10; text-align: center; line-height: 50px; border-top: 1px solid #c5c5c5; background: #e7e7e7; }\t\t\t\t\t\t   #panel-menu .panel-menu-mask { position: fixed; display: block; width: 100%; height: 100%; top: 0; left: 0; -webkit-animation: maskfadein .5s; animation: maskfadein .5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-timing-function: linear; animation-timing-function: linear; }\t\t\t\t\t\t   #panel-menu .panel-menu-mask.mask-down {-webkit-animation: maskfadeout .5s; animation: maskfadeout .5s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-timing-function: linear; animation-timing-function: linear; }\t\t\t\t\t\t   @keyframes maskfadein { 0%{background-color: transparent;}100%{background-color: rgba(0, 0, 0, .35);}}\t\t\t\t\t\t   @keyframes maskfadeout{ 0%{background-color: rgba(0, 0, 0, .35)}100%{background-color: transparent;} }\t\t\t\t\t\t  "),l.height(89*Math.ceil(i.length/4)+63),$("body").append(l.addClass("anim-up"));var s=function(){l.removeClass("anim-up").addClass("anim-down").addClass("mask-down"),setTimeout(function(){l.remove()},200)};$("#cancel-btn",l).on("click.cancel",s),$(".panel-menu-mask",l).one("click.closeMenu",s),$("body").one("click.closeMenu",s),p.destory("change",s).register("change",s),b(l,e,h)}},dropDownMenu:function(e,t,n){v.isFunction(t)&&(n=t,t=window._event&&window._event.target&&$(window._event.target)),t=t||window._event&&window._event.target&&$(window._event.target),$("#dropdown-menu").remove(),v.isArray(e)&&(e={items:e});var i=e&&e.items||[];if(0!=i.length){var a=[];i.forEach(function(e){var t=v.isFunction(e.callback)&&"javascript:Mobile_NS.eval("+e.callback+");"||"";t+=v.isFunction(n)&&"javascript:Mobile_NS.eval("+n+");"||"",e.url=e.url?e.url+t:t,e.remind&&e.remindapi&&e.remindapi.api&&(e.uuid=e.remindapi.uuid=v.UUID(),e.apiid=e.remindapi.api.id,a.push(e.remindapi))});var o=['<div id="dropdown-menu" class="float-menu">','<div class="dropdown-menu-mask"></div>','<div id="dropdown-menu-arrow"></div>','<ul class="wev-table-view">',"{@each items as item,index}",'<li class="dropdown-menu-li {@if !item.icon}no-img{@/if}">','<a class="dropdown-menu-link" href="${item.url}" data-ajax="${item.dataAjax}" data-reload="true" data-formdata="${item.queryString}">',"{@if !item.icon}",'<div class="wev-media-body no-img">',"{@else}",'<img class="wev-icon wev-pull-left" src="${item.icon}"/>','<div class="wev-media-body">',"{@/if}","$${item.text}","</div>","{@if item.remind || item.badge}",'<span class="wev-badge" {@if item.apiid}data-api="${item.uuid}_${item.apiid}"{@/if} data-index="${index}"></span>',"{@/if}","</a>","</li>","{@/each}","</ul>","</div>"].join("");o=v.parseTemplate(o,e);var r=$(o);$("body").append(r),g("dropdown-menu",'#dropdown-menu.float-menu { position: fixed; z-index: 110; max-height: 50%; max-width: calc(100% - 30px); margin-top: 6px; border-radius: 6px; padding: 0 2px 0 5px; background: #4c4c4c; opacity: 1; transition: opacity .3s ease; }\t\t                       #dropdown-menu.zoomout { opacity: 0; }\t\t                       #dropdown-menu.float-menu #dropdown-menu-arrow { position: fixed; z-index: 110; }\t\t                       #dropdown-menu.float-menu #dropdown-menu-arrow.top:before { content: ""; position: absolute; right: -4px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 6px solid #4c4c4c; }\t\t                       #dropdown-menu.float-menu #dropdown-menu-arrow.bottom:before { content: ""; position: absolute; right: -4px; border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 6px solid #4c4c4c; }\t\t                       #dropdown-menu.float-menu ul.wev-table-view { max-height: 50%; overflow-y: auto;}\t\t                       #dropdown-menu.float-menu li.dropdown-menu-li { position: relative; height: 25px; padding: 15px 36px 15px 20px; overflow: hidden; white-space: nowrap; }\t\t                       #dropdown-menu.float-menu li.dropdown-menu-li:before { content: ""; position: absolute; right: 0; top: 0; left: 55px; height: 2px; webkit-transform: scaleY(.5); -ms-transform: scaleY(.5); transform: scaleY(.5); background-color: #515151; }\t\t                       #dropdown-menu.float-menu li.dropdown-menu-li.no-img:before { left: 20px; }\t\t                       #dropdown-menu.float-menu li.dropdown-menu-li:first-child:before { height: 0; }                               #dropdown-menu.float-menu li .wev-media-body { display: inline-block; max-width: calc(100% - 35px); min-width: 20px; height: 25px; line-height: 25px; text-overflow: ellipsis;}                               #dropdown-menu.float-menu li .wev-media-body.no-img { max-width: 100%;}                               #dropdown-menu.float-menu li .wev-icon { height: 25px; width: 25px; background-size: 25px; }                               #dropdown-menu.float-menu li.dropdown-menu-li a { position: relative; display: block; color: #fff; }                               #dropdown-menu.float-menu li.dropdown-menu-li a .wev-badge { position: absolute; margin: 3px 6px 3px 2px; vertical-align: top; }                               #dropdown-menu .dropdown-menu-mask { position: fixed; display: block; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0, 0, 0, 0); }');var d=window.innerHeight,l=t.offset().top,s=d/2<l?l:d-(l+t.height()+6);r.css("max-height",s),$("ul.wev-table-view",r).css("max-height",s),f(t,r,"center"),r.offset().top>t.offset().top?f(t,$("#dropdown-menu.float-menu #dropdown-menu-arrow").addClass("top"),"center"):(f(r,$("#dropdown-menu.float-menu #dropdown-menu-arrow").addClass("bottom"),"center"),$("#dropdown-menu.float-menu #dropdown-menu-arrow").css("left",t.offset().left+t.offset().width/2));var m=function(){r.addClass("zoomout"),$("#dropdown-menu.float-menu #dropdown-menu-arrow",r).hide(),setTimeout(function(){r.remove()},250)};$(".dropdown-menu-mask",r).one("click.closeMenu",function(e){m(),e.stopPropagation()}),$("body").one("click.closeMenu",m),p.destory("change",m).register("change",m),b(r,e,a)}}}});