/* * jquery mmenu dragopen addon * mmenu.frebsite.nl * * copyright (c) fred heusschen */ !function(e){function t(e,t,n){return t>e&&(e=t),e>n&&(e=n),e}var n="mmenu",o="dragopen";e[n].addons[o]={setup:function(){if(this.opts.offcanvas){var i=this,a=this.opts[o],p=this.conf[o];if(r=e[n].glbl,"boolean"==typeof a&&(a={open:a}),"object"!=typeof a&&(a={}),a=this.opts[o]=e.extend(!0,{},e[n].defaults[o],a),a.open){var d,f,c,u,h,l={},m=0,g=!1,v=!1,w=0,_=0;switch(this.opts.offcanvas.position){case"left":case"right":l.events="panleft panright",l.typelower="x",l.typeupper="x",v="width";break;case"top":case"bottom":l.events="panup pandown",l.typelower="y",l.typeupper="y",v="height"}switch(this.opts.offcanvas.position){case"right":case"bottom":l.negative=!0,u=function(e){e>=r.$wndw[v]()-a.maxstartpos&&(m=1)};break;default:l.negative=!1,u=function(e){e<=a.maxstartpos&&(m=1)}}switch(this.opts.offcanvas.position){case"left":l.open_dir="right",l.close_dir="left";break;case"right":l.open_dir="left",l.close_dir="right";break;case"top":l.open_dir="down",l.close_dir="up";break;case"bottom":l.open_dir="up",l.close_dir="down"}switch(this.opts.offcanvas.zposition){case"front":h=function(){return this.$menu};break;default:h=function(){return e("."+s.slideout)}}var b=this.__valueorfn(a.pagenode,this.$menu,r.$page);"string"==typeof b&&(b=e(b));var y=new hammer(b[0],a.vendors.hammer);y.on("panstart",function(e){u(e.center[l.typelower]),r.$slideoutnodes=h(),g=l.open_dir}).on(l.events+" panend",function(e){m>0&&e.preventdefault()}).on(l.events,function(e){if(d=e["delta"+l.typeupper],l.negative&&(d=-d),d!=w&&(g=d>=w?l.open_dir:l.close_dir),w=d,w>a.threshold&&1==m){if(r.$html.hasclass(s.opened))return;m=2,i._opensetup(),i.trigger("opening"),r.$html.addclass(s.dragging),_=t(r.$wndw[v]()*p[v].perc,p[v].min,p[v].max)}2==m&&(f=t(w,10,_)-("front"==i.opts.offcanvas.zposition?_:0),l.negative&&(f=-f),c="translate"+l.typeupper+"("+f+"px )",r.$slideoutnodes.css({"-webkit-transform":"-webkit-"+c,transform:c}))}).on("panend",function(){2==m&&(r.$html.removeclass(s.dragging),r.$slideoutnodes.css("transform",""),i[g==l.open_dir?"_openfinish":"close"]()),m=0})}}},add:function(){return"function"!=typeof hammer||hammer.version<2?(e[n].addons[o].setup=function(){},void 0):(s=e[n]._c,i=e[n]._d,a=e[n]._e,s.add("dragging"),void 0)},clickanchor:function(){}},e[n].defaults[o]={open:!1,maxstartpos:100,threshold:50,vendors:{hammer:{}}},e[n].configuration[o]={width:{perc:.8,min:140,max:440},height:{perc:.8,min:140,max:880}};var s,i,a,r}(jquery);