UNPKG

tbg-foundation-sites

Version:

TBG fork of the most advanced responsive front-end framework in the world.

1 lines 4.83 kB
function _classCallCheck(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var _createClass=function(){function e(e,t){for(var i=0;i<t.length;i++){var n=t[i];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,i,n){return i&&e(t.prototype,i),n&&e(t,n),t}}();!function(e){var t=function(){function t(i,n){_classCallCheck(this,t),this.$element=i,this.options=e.extend({},t.defaults,this.$element.data(),n),this.id=this.$element[0].id||Foundation.GetYoDigits(6,"flickity"),this.nextPrevEls=[],this._init(),Foundation.registerPlugin(this,"FlickityCarousel")}return _createClass(t,[{key:"_init",value:function(){this.options.horizontalScrolling&&(this.options.cellAlign||(this.options.cellAlign="left"),this.options.cellAlign||(this.options.freeScroll=!0)),this.$element.attr({"data-resize":this.id,id:this.id}),""===this.options.disableBreakpoint&&""===this.options.enableBreakpoint?(this._enableFlickity(),""!==this.options.autoPlayBreakpoint&&this._autoplayIfMediaQuery(this.options.autoPlayBreakpoint)):(""!==this.options.disableBreakpoint&&this._disableIfMediaQuery(this.options.disableBreakpoint),""!==this.options.enableBreakpoint&&this._enableIfMediaQuery(this.options.enableBreakpoint)),this._events()}},{key:"_events",value:function(){var t=this,i=this.mediaqueryListener="changed.zf.mediaquery."+this.id;if(this.options.horizontalScrolling&&this.$element.off("mousewheel.zf.flickity DOMMouseScroll.zf.flickity").on("mousewheel.zf.flickity DOMMouseScroll.zf.flickity",function(e){if(t.$element.data("flickity")){var i=t.$element.data("flickity");window.wheeling||(e.deltaX>0||e.deltaY<0?i.selectedIndex!==i.slides.length-1&&(t.$element.flickity("next"),e.preventDefault()):(e.deltaX<0||e.deltaY>0)&&0!==i.selectedIndex&&(t.$element.flickity("previous"),e.preventDefault())),clearTimeout(window.wheeling),window.wheeling=setTimeout(function(){delete window.wheeling,window.wheeldata&&(window.wheeldelta.x=0,window.wheeldelta.y=0)},250),window.wheeldelta&&(window.wheeldelta.x+=e.deltaFactor*e.deltaX,window.wheeldelta.y+=e.deltaFactor*e.deltaY,(window.wheeldelta.x>500||window.wheeldelta.y>500||window.wheeldelta.x<-500||window.wheeldelta.y<-500)&&(window.wheeldelta.x=0,window.wheeldelta.y=0,e.deltaX>0||e.deltaY<0?i.selectedIndex!==i.slides.length-1&&t.$element.flickity("next"):(e.deltaX<0||e.deltaY>0)&&0!==i.selectedIndex&&t.$element.flickity("previous")))}}),""!==this.options.previousElement){var n=this.options.previousElement.split(",");e.each(n,function(i,n){var l=e(n);l.length>0&&(l.off("click.zf.flickity").on("click.zf.flickity",function(e){t.$element.flickity("previous"),e.preventDefault()}),t.nextPrevEls.push(l))})}if(""!==this.options.nextElement){var l=this.options.nextElement.split(",");e.each(l,function(i,n){var l=e(n);l.length>0&&(l.off("click.zf.flickity").on("click.zf.flickity",function(e){t.$element.flickity("next"),e.preventDefault()}),t.nextPrevEls.push(l))})}this.$element.data("flickity")&&t.$element.data("flickity").options.resize&&this.$element.on("settle.flickity",function(){t.$element.flickity("resize")}),""!==this.options.autoPlayBreakpoint&&e(window).off(i).on(i,function(){t._autoplayIfMediaQuery(t.options.autoPlayBreakpoint)}),""!==this.options.disableBreakpoint&&e(window).off(i).on(i,function(){t._disableIfMediaQuery(t.options.disableBreakpoint)}),""!==this.options.enableBreakpoint&&e(window).off(i).on(i,function(){t._enableIfMediaQuery(t.options.enableBreakpoint)}),this.options.noDragging&&this.$element.data("flickity")&&this.$element.flickity("unbindDrag")}},{key:"_autoplayIfMediaQuery",value:function(e){this.$element.data("flickity")&&(Foundation.MediaQuery.atLeast(e)?this.$element.flickity("playPlayer"):this.$element.flickity("stopPlayer"))}},{key:"_disableIfMediaQuery",value:function(e){Foundation.MediaQuery.atLeast(e)?this._disableFlickity():this._enableFlickity()}},{key:"_enableIfMediaQuery",value:function(e){Foundation.MediaQuery.atLeast(e)?this._enableFlickity():this._disableFlickity()}},{key:"_disableFlickity",value:function(){this.$element.data("flickity")&&this.$element.flickity("destroy"),this.$element.off(".zf.flickity").find("*").off(".zf.flickity"),this.nextPrevEls.length>0&&e.each(this.nextPrevEls,function(e,t){t.off(".zf.flickity")})}},{key:"_enableFlickity",value:function(){this.$element.flickity(this.options),this._events()}},{key:"destroy",value:function(){e(window).off(this.mediaqueryListener),this._disableFlickity(),this.$element.hide(),Foundation.unregisterPlugin(this)}}]),t}();t.defaults={horizontalScrolling:!1,previousElement:"",nextElement:"",autoPlayBreakpoint:"",disableBreakpoint:"",enableBreakpoint:"",noDragging:!1,prevNextButtons:!1,pageDots:!1,imagesLoaded:!0},Foundation.plugin(t,"FlickityCarousel")}(jQuery);