1
|
|
|
!function(a){var b,c,d,e=null,f={},g=[],h=[],i=function(){if(g.length||h.length){var a=g.length?g[g.length-1]:h[h.length-1],i=d.width(),j=d.height(),k=f[a].config.height,l=k,m=f[a].config.width,n=0,o=!1,p=!1;if(e&&b.addClass("has-uix-modal"),n=(j-f[a].config.height)/2.2,0>n&&(n=0),k+2*f[a].config.padding>j&&e&&(k=j-2*f[a].config.padding,l="100%",e&&e.css({paddingTop:f[a].config.padding,paddingBottom:f[a].config.padding}),p=!0),m+2*f[a].config.padding>=i&&(m="100%",e&&e.css({paddingLeft:f[a].config.padding,paddingRight:f[a].config.padding}),p=!0),!0===p&&(700>=i&&i>600?(e&&(k=j-2*f[a].config.padding),m=i,l=k-2*f[a].config.padding,m="100%",n=0,e&&e.css({padding:f[a].config.padding})):600>=i&&(e&&(k=j),m=i,l="100%",n=0,e&&e.css({padding:0}))),e&&e.is(":hidden")&&(o=!0,e.show()),f[a].header&&(e&&e.show(),k-=f[a].header.outerHeight(),f[a].closer.css({padding:f[a].header.outerHeight()/2-.5}),f[a].title.css({paddingRight:f[a].closer.outerWidth()})),f[a].footer&&(e&&e.show(),k-=f[a].footer.outerHeight()),e&&o===!0&&(e.hide(),o=!1),k!=l&&f[a].body.css({height:k}),f[a].modal.css({width:m}),f[a].config.sticky&&f[a].config.minimized){var q={},r=f[a].title.outerHeight()-f[a].modal.outerHeight();f[a].config.sticky.indexOf("bottom")>-1?q["margin-bottom"]=r:f[a].config.sticky.indexOf("top")>-1&&(q["margin-top"]=r),f[a].modal.css(q),f[a].config.sticky.length>=3&&(c.css("margin-"+f[a].config.sticky[0],f[a].title.outerHeight()),p?f[a].modal.css(f[a].config.sticky[1],0):f[a].modal.css(f[a].config.sticky[1],parseFloat(f[a].config.sticky[2])))}return e&&(f[a].modal.css({marginTop:n,height:l}),setTimeout(function(){f[a].modal.addClass("uix-animate")},10),e.fadeIn(f[a].config.speed)),f}},j=function(c){var d=a(c).data("modal"),h=0,i={};if(c&&f[d].config.sticky)return f[d].config.minimized?(f[d].config.minimized=!1,h=0):(f[d].config.minimized=!0,h=f[d].title.outerHeight()-f[d].modal.outerHeight()),f[d].config.sticky.indexOf("bottom")>-1?i["margin-bottom"]=h:f[d].config.sticky.indexOf("top")>-1&&(i["margin-top"]=h),void f[d].modal.stop().animate(i,f[d].config.speed);var j;g.length&&(j=g.pop(),f[j].modal.hasClass("uix-animate")&&!g.length?(f[j].modal.removeClass("uix-animate"),setTimeout(function(){f[j].modal.remove(),delete f[j]},500)):e&&f[j].modal.hide(0,function(){a(this).remove(),delete f[j]})),g.length?f[g[g.length-1]].modal.show():(e&&e.fadeOut(250,function(){a(this).remove(),e=null}),b.removeClass("has-uix-modal"))};a.uixModal=function(b,d){var k=a.extend(!0,{element:"div",height:550,width:620,padding:12,speed:250,content:conduitModal},b);k.trigger=d,e||k.sticky||(e=a("<div>",{"class":"uix-backdrop"}),k.focus||e.on("click",function(a){a.target==this&&j()}),c.append(e),e.hide());var l=k.element,m=k.modal;if(g.length&&g[g.length-1]!==m&&f[g[g.length-1]].modal.hide(),"undefined"==typeof f[m]?(k.sticky&&(k.sticky=k.sticky.split(" "),k.sticky.length<2&&(k.sticky=null),h.push(m)),f[m]={config:k,modal:a("<"+l+">",{id:m+"_uixModal",tabIndex:-1,"ariaLabelled-by":m+"_uixModalLable","class":"uix-modal-wrap"+(k.sticky?" uix-sticky-modal "+k.sticky[0]+"-"+k.sticky[1]:"")})},k.sticky||g.push(m)):(f[m].config=k,f[m].modal.empty()),k.animate&&e){var n=k.animate.split(" "),o=k.speed+"ms",p=k.animateEase?k.animateEase:"ease";1===n.length&&(n[1]=0),f[m].modal.css({transform:"translate("+n[0]+", "+n[1]+")","-web-kit-transition":"transform "+o+" "+p,"-moz-transition":"transform "+o+" "+p,transition:"transform "+o+" "+p})}if(f[m].body=a("<div>",{"class":"uix-modal-body",id:m+"_uixModalBody"}),f[m].content=a("<div>",{"class":"uix-modal-content",id:m+"_uixModalContent"}),f[m].content.css({margin:k.padding}),f[m].body.append(f[m].content).appendTo(f[m].modal),e?e.append(f[m].modal):f[m].modal.appendTo(a("body")),k.footer)if(f[m].footer=a("<div>",{"class":"uix-modal-footer",id:m+"_uixModalFooter"}),f[m].footer.css({padding:k.padding}),f[m].footer.appendTo(f[m].modal),"function"==typeof window[k.footer])f[m].footer.append(window[k.footer](k,f[m]));else if("string"==typeof k.footer)try{var q=a(k.footer);f[m].footer.html(q.html())}catch(r){f[m].footer.html(k.footer)}if(k.title){var s="prependTo";f[m].header=a("<div>",{"class":"uix-modal-title",id:m+"_uixModalTitle"}),f[m].closer=a("<a>",{href:"#close","class":"uix-modal-closer","data-dismiss":"modal","aria-hidden":"true",id:m+"_uixModalCloser"}).html("×"),f[m].title=a("<h3>",{"class":"modal-label",id:m+"_uixModalLable"}),f[m].title.html(k.title).appendTo(f[m].header),f[m].title.css({padding:k.padding}),f[m].title.append(f[m].closer),f[m].config.sticky?(f[m].config.minimized&&!0!==f[m].config.minimized&&(setTimeout(function(){f[m].title.trigger("click")},parseInt(f[m].config.minimized)),f[m].config.minimized=!1),f[m].closer.hide(),f[m].title.addClass("uix-modal-closer").data("modal",m).appendTo(f[m].header),f[m].config.sticky.indexOf("top")>-1&&(s="appendTo")):f[m].closer.data("modal",m).appendTo(f[m].header),f[m].header[s](f[m].modal)}if(f[m].modal.outerHeight(k.height),f[m].modal.outerWidth(k.width),k.content)if("function"==typeof k.content)f[m].content.append(k.content(k,f[m]));else if("string"==typeof k.content)try{var t=a(k.content);t.length?(f[m].content.append(t.detach()),t.show()):f[m].content.html(k.content)}catch(r){f[m].content.html(k.content)}return i(),f[m]},a.fn.uixModal=function(e){return b=a("html"),c=a("body"),d=a(window),e||(e={}),e=a.extend({},this.data(),e),a.uixModal(e,this)},window.addEventListener?(window.addEventListener("resize",i,!1),window.addEventListener("keypress",function(a){27===a.keyCode&&null!==e&&e.trigger("click")},!1)):window.attachEvent?window.attachEvent("onresize",i):window.onresize=i,a(document).on("click","[data-modal]:not(.uix-modal-closer)",function(b){b.preventDefault(),a(this).uixModal()}),a(document).on("click",".uix-modal-closer",function(b){b.preventDefault(),a(window).trigger("close.modal")}),a(window).on("close.modal",function(a){j()}),a(window).on("modal.init",function(b){a("[data-modal][data-autoload]").each(function(){a(this).uixModal()})}),a(window).load(function(){a(window).trigger("modal.init")})}(jQuery); |
This check looks for functions where a
return
statement is found in some execution paths, but not in all.Consider this little piece of code
The function
isBig
will only return a specific value when its parameter is bigger than 5000. In any other case, it will implicitly returnundefined
.This behaviour may not be what you had intended. In any case, you can add a
return undefined
to the other execution path to make the return value explicit.