-
Notifications
You must be signed in to change notification settings - Fork 6
/
jquery.minimap.min.js
2 lines (2 loc) · 2.96 KB
/
jquery.minimap.min.js
1
2
/*! jquery.minimap 0.1.0 (2013-11-07) */
!function(a){a.fn.minimap=function(b){var b=a.extend({body_col:"",map_col:"",toggle_btn:"",draggable:"undefined"!=typeof a.fn.draggable,scrollto:"undefined"!=typeof a.fn.scrollTo,map_header:"",minimap_opacity:"",minimap_left_border:"",overlay_background_color:""},b),c=b.body_col?a(b.body_col):a(this),d=b.map_col?a(b.map_col):a('<aside class="map_col"></aside>'),e=b.minimap_opacity?b.minimap_opacity:1,f=b.minimap_left_border?b.minimap_left_border:"none",g=b.overlay_background_color?b.overlay_background_color:"rgba(26, 45, 58, .1)",h=a(b.map_header).appendTo(d);d.insertBefore(c);var i=!1,j=!1,k=!1;!function(){if(!i){var b,l=d,m=l.outerHeight(),n=h?h.outerHeight():0,o=l.outerWidth(),p=c,q=p.outerHeight(),r=a(".body_col").width()-o,s=Math.min((o-12)/r,(m-24)/q),t=a("<div></div>").addClass("map-col-background").css({position:"fixed",width:o-1,height:m,top:n,overflow:"hidden",borderLeft:f}).appendTo(l),u=p.clone(!1).css({background:"transparent",color:"black",width:r,position:"absolute",top:"6px",right:(o-s*r)/2,opacity:e,transform:"scale("+s+")","-ms-transform":"scale("+s+")","-webkit-transform":"scale("+s+")","transform-origin":"top right","-ms-transform-origin":"top right","-webkit-transform-origin":"top right"});u.find("script").remove(),u.appendTo(t),miniMapOverlay=a("<div></div>").css({width:"100%",height:"100%",position:"absolute",top:0,left:0}).addClass("mini-map-clickable").appendTo(t),b=a('<div class="miniMapOverlay ui-draggable"></div>').css({background:g,width:"100%",position:"absolute"}).appendTo(t),a(window).on("resize.minimap",function(){k||(k=!0,q=p.height(),r=p.width(),m=l.outerHeight(),o=l.outerWidth(),n=h?h.height():0,winHeight=a(window).height(),s=Math.min((o-12)/r,(m-24)/q),t.css({width:o-1,height:m}),u.css({width:r,right:(o-s*r)/2,transform:"scale("+s+")","-ms-transform":"scale("+s+")","-webkit-transform":"scale("+s+")","transform-origin":"top right","-ms-transform-origin":"top right","-webkit-transform-origin":"top right"}),a(window).trigger("scroll.minimap"),k=!1)}),a(window).on("scroll.minimap",function(){if(!j){j=!0;var c=a(window).scrollTop(),d=a(window).height();b.css({top:c*s+6,height:d*s}),j=!1}}),i=!0,a(".miniMapOverlay").draggable({axis:"y",containment:"parent",drag:function(b,c){var d=parseFloat(a(c.helper).css("top"))-6;a(window).scrollTop(d/s)}}),a(".mini-map-clickable").click(function(b){var c=b.clientY-a(".map_col").offset().top-60,d=(a(window).height()-n)*s;clickCenter=Math.max(0,c-d/2),a(window).scrollTop(clickCenter/s)})}}(),a(window).load(function(){l.toggle(window.localStorage.getItem("miniMapActive"))});var l={toggle:function(b){if("undefined"==typeof b){var c=window.localStorage.getItem("miniMapActive");b=!(c&&"false"!==c)}b?a("body").addClass("mini-map-active"):a("body").removeClass("mini-map-active"),localStorage.setItem("miniMapActive",b),a(window).trigger("resize.minimap")},show:function(){return this.toggle(!0)},hide:function(){return this.toggle(!1)}};a.minimap=this,a.extend(a.minimap,l)}}(jQuery);