imgViewerHelper.js 2.75 KB
define(["i18n","photoswipe","photoswipe_ui","mUtil"],function(s,n,a,p){var i='<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true"> \t<div class="pswp__bg"></div> \t<div class="pswp__scroll-wrap"> \t\t<div class="pswp__container"> \t\t\t<div class="pswp__item pswp__item--fit"></div> \t\t\t<div class="pswp__item pswp__item--fit"></div> \t\t\t<div class="pswp__item pswp__item--fit"></div> \t\t</div> \t\t<div class="pswp__ui pswp__ui--hidden"> \t\t\t<div class="pswp__top-bar"> \t\t\t\t<div class="pswp__counter"></div> \t\t\t\t<div class="pswp__preloader"> \t\t\t\t\t<div class="pswp__preloader__icn"> \t\t\t\t\t\t<div class="pswp__preloader__cut"> \t\t\t\t\t\t\t<div class="pswp__preloader__donut"></div> \t\t\t\t\t\t</div> \t\t\t\t\t</div> \t\t\t\t</div> \t\t\t</div> \t\t\t<div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap"> \t\t\t\t<div class="pswp__share-tooltip"></div> \t\t\t</div> \t\t\t<div class="pswp__caption"> \t\t\t\t<div class="pswp__caption__center"></div> \t\t\t</div> \t\t</div> \t</div> </div>',o={history:!0,focus:!1,maxSpreadZoom:4,tapToClose:!0,mouseUsed:!0,errorMsg:"<div class='pswp__error-msg'>"+s.IMAGE_LOADING_ERROER+"</div>",loop:!1,preloaderEl:!1},r={id:"img-viewer",$el:null,preInit:function(){var t=document.createElement("div"),e=$(t);t.id=this.id,this.$el=e,$(document.body).append(t),this.$el.html(i)},init:function(t,e){var i=this.$el.find(".pswp")[0],s=$.extend({},o,e),p=new n(i,a,t,s);p.init(),p.listen("imageLoadComplete",d.pressImgForSave)},clean:function(){return this.$el.html(i)},_:{parseToPwspItems:function(t){return t.map(function(t){return{src:t.src,msrc:t.src,w:t.naturalWidth,h:t.naturalHeight,fit:!0}})},pressImgForSave:function(){(p.runtime.isEmobile()||p.runtime.isEmobile7())&&require(["hammer"],function(t){new t(r.$el[0],{recognizers:[[t.Press,{time:500}]]}).on("press",function(t){var e=$(t.target).attr("src"),i=t.srcEvent;i&&(i.stopPropagation(),i.preventDefault()),e&&Mobile_NS.footerMenu([{text:"<div style='text-align: center;margin-left: -18px;font-size: 20px;color: #017afd;'>"+s.SAVE_IMAGE+"</div>",callback:function(){if(p.checkEmpJsApi("downloadImage"))return p.invokeEmApi("downloadImage",{url:e,isShowProgressTips:1,success:function(){Mobile_NS.msg(s.SAVE_SUCCESS)}});if(0==e.indexOf("data:image"))try{var t=e.split(",")[1];p.checkEmpJsApi("saveBase64Image")&&p.invokeEmApi("saveBase64Image",{base64Img:t,success:function(){Mobile_NS.msg(s.SAVE_SUCCESS)}})}catch(t){console.log(t.message)}else location="emobile:saveImage:"+e+":111"}}])})})}}},d=r._;return r.preInit(),function(p,t){var e={index:t,getThumbBoundsFn:function(t){var e=p[t],i=window.pageYOffset||document.documentElement.scrollTop,s=e.getBoundingClientRect();return{x:s.left,y:s.top+i,w:s.width,h:s.w}}},i=d.parseToPwspItems(p);r.init(i,e)}});