8 lines
6.6 KiB
JavaScript
8 lines
6.6 KiB
JavaScript
// Lean Modal
|
|
(function($){$.fn.extend({leanModal: function(options) {var defaults = {top: '100%',overlay: 0.5,closeButton: null,escapeClose: true,clickClose: true};options = $.extend(defaults, options);var overlay = $('<div id="lean-overlay"></div>');$('body').append(overlay);function close_modal(modal_id){$('#lean-overlay').fadeOut(200);$(modal_id).css({'display': 'none'});$(document).off('keydown.leanModal');}return this.each(function() {var o = options;$(this).click(function(e) {var modal_id = $(this).attr('href');if (o.closeButton) {$(o.closeButton).one('click', function() {close_modal(modal_id);});}if (o.clickClose) {$('#lean-overlay').one('click', function() {close_modal(modal_id);});}if (o.escapeClose) {$(document).on('keydown.leanModal', function(event) {if (event.which === 27) {close_modal(modal_id);}});}var modal_height = $(modal_id).outerHeight();var modal_width = $(modal_id).outerWidth();$('#lean-overlay').css({'display': 'block', opacity: 0});$('#lean-overlay').fadeTo(200, o.overlay);$(modal_id).css({'display': 'block','position': 'fixed','opacity': 0,'z-index': 11000,'left': 50 + '%','margin-left': -(modal_width / 2) + 'px','top': o.top});$(modal_id).fadeTo(200,1);e.preventDefault();});});}});})(jQuery);
|
|
|
|
// Button Dropdown
|
|
+function($){var backdrop=".dropdown-backdrop";var toggle="[data-toggle=dropdown]";var Dropdown=function(element){var $el=$(element).on("click.bs.dropdown",this.toggle);};Dropdown.prototype.toggle=function(e){var $this=$(this);if($this.is(".disabled, :disabled")){return;}var $parent=getParent($this);var isActive=$parent.hasClass("open");clearMenus();if(!isActive){if("ontouchstart" in document.documentElement&&!$parent.closest(".navbar-nav").length){$('<div class="dropdown-backdrop"/>').insertAfter($(this)).on("click",clearMenus);}$parent.trigger(e=$.Event("show.bs.dropdown"));if(e.isDefaultPrevented()){return;}$parent.toggleClass("open").trigger("shown.bs.dropdown");$this.focus();}return false;};Dropdown.prototype.keydown=function(e){if(!/(38|40|27)/.test(e.keyCode)){return;}var $this=$(this);e.preventDefault();e.stopPropagation();if($this.is(".disabled, :disabled")){return;}var $parent=getParent($this);var isActive=$parent.hasClass("open");if(!isActive||(isActive&&e.keyCode==27)){if(e.which==27){$parent.find(toggle).focus();}return $this.click();}var $items=$("[role=menu] li:not(.divider):visible a",$parent);if(!$items.length){return;}var index=$items.index($items.filter(":focus"));if(e.keyCode==38&&index>0){index--;}if(e.keyCode==40&&index<$items.length-1){index++;}if(!~index){index=0;}$items.eq(index).focus();};function clearMenus(){$(backdrop).remove();$(toggle).each(function(e){var $parent=getParent($(this));if(!$parent.hasClass("open")){return;}$parent.trigger(e=$.Event("hide.bs.dropdown"));if(e.isDefaultPrevented()){return;}$parent.removeClass("open").trigger("hidden.bs.dropdown");});}function getParent($this){var selector=$this.attr("data-target");if(!selector){selector=$this.attr("href");selector=selector&&/#/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,"");}var $parent=selector&&$(selector);return $parent&&$parent.length?$parent:$this.parent();}var old=$.fn.dropdown;$.fn.dropdown=function(option){return this.each(function(){var $this=$(this);var data=$this.data("dropdown");if(!data){$this.data("dropdown",(data=new Dropdown(this)));}if(typeof option=="string"){data[option].call($this);}});};$.fn.dropdown.Constructor=Dropdown;$.fn.dropdown.noConflict=function(){$.fn.dropdown=old;return this;};$(document).on("click.bs.dropdown.data-api",clearMenus).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation();}).on("click.bs.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.bs.dropdown.data-api",toggle+", [role=menu]",Dropdown.prototype.keydown);}(window.jQuery);
|
|
|
|
// Tiny Scrollbar
|
|
(function(a){a.tiny=a.tiny||{};a.tiny.scrollbar={options:{axis:"y",wheel:40,scroll:true,lockscroll:true,size:"auto",sizethumb:"auto",invertscroll:false}};a.fn.tinyscrollbar=function(d){var c=a.extend({},a.tiny.scrollbar.options,d);this.each(function(){a(this).data("tsb",new b(a(this),c))});return this};a.fn.tinyscrollbar_update=function(c){return a(this).data("tsb").update(c)};function b(q,g){var k=this,t=q,j={obj:a(".viewport",q)},h={obj:a(".overview",q)},d={obj:a(".scrollbar",q)},m={obj:a(".track",d.obj)},p={obj:a(".thumb",d.obj)},l=g.axis==="x",n=l?"left":"top",v=l?"Width":"Height",r=0,y={start:0,now:0},o={},e="ontouchstart" in document.documentElement;function c(){k.update();s();return k}this.update=function(z){j[g.axis]=j.obj[0]["offset"+v];h[g.axis]=h.obj[0]["scroll"+v];h.ratio=j[g.axis]/h[g.axis];d.obj.toggleClass("disable",h.ratio>=1);m[g.axis]=g.size==="auto"?j[g.axis]:g.size;p[g.axis]=Math.min(m[g.axis],Math.max(0,(g.sizethumb==="auto"?(m[g.axis]*h.ratio):g.sizethumb)));d.ratio=g.sizethumb==="auto"?(h[g.axis]/m[g.axis]):(h[g.axis]-j[g.axis])/(m[g.axis]-p[g.axis]);r=(z==="relative"&&h.ratio<=1)?Math.min((h[g.axis]-j[g.axis]),Math.max(0,r)):0;r=(z==="bottom"&&h.ratio<=1)?(h[g.axis]-j[g.axis]):isNaN(parseInt(z,10))?r:parseInt(z,10);w()};function w(){var z=v.toLowerCase();p.obj.css(n,r/d.ratio);h.obj.css(n,-r);o.start=p.obj.offset()[n];d.obj.css(z,m[g.axis]);m.obj.css(z,m[g.axis]);p.obj.css(z,p[g.axis])}function s(){if(!e){p.obj.bind("mousedown",i);m.obj.bind("mouseup",u)}else{j.obj[0].ontouchstart=function(z){if(1===z.touches.length){i(z.touches[0]);z.stopPropagation()}}}if(g.scroll&&window.addEventListener){t[0].addEventListener("DOMMouseScroll",x,false);t[0].addEventListener("mousewheel",x,false);t[0].addEventListener("MozMousePixelScroll",function(z){z.preventDefault()},false)}else{if(g.scroll){t[0].onmousewheel=x}}}function i(A){a("body").addClass("noSelect");var z=parseInt(p.obj.css(n),10);o.start=l?A.pageX:A.pageY;y.start=z=="auto"?0:z;if(!e){a(document).bind("mousemove",u);a(document).bind("mouseup",f);p.obj.bind("mouseup",f)}else{document.ontouchmove=function(B){B.preventDefault();u(B.touches[0])};document.ontouchend=f}}function x(B){if(h.ratio<1){var A=B||window.event,z=A.wheelDelta?A.wheelDelta/120:-A.detail/3;r-=z*g.wheel;r=Math.min((h[g.axis]-j[g.axis]),Math.max(0,r));p.obj.css(n,r/d.ratio);h.obj.css(n,-r);if(g.lockscroll||(r!==(h[g.axis]-j[g.axis])&&r!==0)){A=a.event.fix(A);A.preventDefault()}}}function u(z){if(h.ratio<1){if(g.invertscroll&&e){y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+(o.start-(l?z.pageX:z.pageY)))))}else{y.now=Math.min((m[g.axis]-p[g.axis]),Math.max(0,(y.start+((l?z.pageX:z.pageY)-o.start))))}r=y.now*d.ratio;h.obj.css(n,-r);p.obj.css(n,y.now)}}function f(){a("body").removeClass("noSelect");a(document).unbind("mousemove",u);a(document).unbind("mouseup",f);p.obj.unbind("mouseup",f);document.ontouchmove=document.ontouchend=null}return c()}}(jQuery)); |