~stephen-stewart/online-services-common-js/update-global-nav

« back to all changes in this revision

Viewing changes to build/carousel/carousel-min.js

  • Committer: Stephen Stewart
  • Date: 2014-02-22 15:05:16 UTC
  • Revision ID: stephen.stewart@canonical.com-20140222150516-rkzti2c43ggwr2ta
import latest js, convert

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
YUI.add("carousel",function(e,t){"use strict";function i(){i.superclass.constructor.apply(this,arguments)}var n=e.Node,r=e.NodeList;i.NAME="carousel",i.ATTRS={autoPlay:{value:!0},preserveAspectRatio:{value:!1},aspectRatio:{value:null,setter:function(t){var n,r;return r=function(){},typeof t=="object"&&e.Object.hasKey(t,"width")&&e.Object.hasKey(t,"height")?t:t&&t.indexOf(":")>-1?(n=t.split(":"),n.length!==2?(r(),!1):{width:parseFloat(n[0],10),height:parseFloat(n[1],10)}):(r(),!1)}},noMqAspectRatio:{value:null},noMqNumSlidesVisible:{value:null},noMqNumSlidesAdvance:{value:null},carouselClassName:{value:"carousel"},isContinuous:{value:!0},resizeFonts:{value:!1},fontNodes:{setter:function(t){var n=e.all(t);return n}},containerWidth:{value:null},numSlidesVisible:{value:1},numSlidesAdvance:{value:1},defaultNumSlidesVisible:{value:null},defaultNumSlidesAdvance:{value:null},slideAnimDuration:{value:1},slideAnimInterval:{value:5e3},slideAnimEasing:{value:e.Easing.easeBoth},pixelRoundingFunc:{value:null},viewportConfig:{value:null},pagingAppendRefNode:{setter:function(t){var n=e.one(t);return n}},pagingAppendRefWhere:{value:null},maxPagingItems:{value:5},controlsRefNode:{setter:function(t){var n=e.one(t);return n}},controlsRefWhere:{value:null},loadingClassname:{value:"loading"},loadedClassname:{value:"loaded"},debug:{value:!1}},e.extend(i,e.Widget,{initializer:function(){var t={},n,r,i,s,o=this.get("viewportConfig"),u=this.get("preserveAspectRatio"),a,f,l;if(u&&o&&e.UA.ie&&e.UA.ie<9){r=this.get("noMqAspectRatio"),s=this.get("noMqNumSlidesVisible"),i=this.get("noMqNumSlidesAdvance");if(!(r&&s&&i))throw new Error("please configure explicit values for noMqAspectRatio/noMqNumSlidesAdvance/noMqNumSlidesVisible");this.set("aspectRatio",r),this.set("numSlidesAdvance",i),this.set("numSlidesVisible",s)}this.set("defaultNumSlidesAdvance",this.get("numSlidesAdvance")),this.set("defaultNumSlidesVisible",this.get("numSlidesVisible")),this.set("defaultAspectRatio",this.get("aspectRatio")),n=this.validVpConfOverrides=["numSlidesVisible","numSlidesAdvance","aspectRatio","autoPlay"];for(a=0,f=n.length;a<f;a++)l=n[a],t[l]=this.get(l);this.defaultVpConf=t},destructor:function(){},renderUI:function(){var t,n=this.get("srcNode"),r=this.get("carouselClassName"),i=this.get("isContinuous"),s=this.get("loadingClassname"),o=this.get("loadedClassname");this.IE=e.UA.ie,this.interval=null,this.curSlide=0,t=this.getCarouselNodeList(),this.nodeCarousel=n.one("."+r),this.numSlides=t.size(),this.caroAnim=new e.Anim({node:this.nodeCarousel}),this.caroAnim.set("duration",this.get("slideAnimDuration")),this.caroAnim.set("easing",this.get("slideAnimEasing")),this.caroAnim.on("end",function(){this.flip(),this.updatePagination()},this),this.handleResize(),this.get("autoPlay")&&this.autoPlay(),this.generateControls(),this.generatePagination(),i===!0&&this.cloneSlides(),this.get("boundingBox").all("."+s).removeClass(s),n.addClass(o)},bindUI:function(){e.on("windowresize",e.bind(this.handleResize,this))},syncUI:function(){var e=this.get("isContinuous");this.updatePagination(),e===!0&&this.gotoSlide(0,0)},getCarouselNodeList:function(){var e=this.get("srcNode"),t=this.get("carouselClassName");return e.all("."+t+" > li")},updatePagination:function(){var e=this.get("srcNode"),t=this.get("numSlidesVisible"),n=this.get("pagingAppendRefNode")||e,r=n.get("parentNode").all(".pagination li a");r.each(function(e){var n=e.get("className");parseInt(n.replace("p-",""),10)===Math.ceil(parseInt(this.curSlide/t,10))?e.addClass("active"):e.removeClass("active")},this)},insertItem:function(e,t,n){switch(n){case"prepend":t.prepend(e);break;case"before":t.insert(e,"before");break;case"after":t.insert(e,"after");break;default:t.append(e)}},generatePagination:function(){var t="Page",n,r,i,s,o,u,a=this.get("numSlidesVisible"),f=this.get("pagingAppendRefNode")||this.get("srcNode"),l=this.get("pagingAppendRefWhere"),c=this.get("maxPagingItems"),h,p,d;p=f.get("parentNode").one(".pagination"),p&&p.remove(),h=Math.ceil(this.numSlides/a);if(h<=c){u=document.createElement("ol"),u.className="pagination";for(d=0;d<h;d++)n=document.createElement("li"),r=document.createElement("a"),i=document.createElement("span"),r.href="#",s=document.createTextNode(t+(d+1)),i.appendChild(s),r.appendChild(i),r.className="p-"+d,n.appendChild(r),u.appendChild(n);this.insertItem(u,f,l),o=e.one(u),o.delegate("click",this.handlePageClick,"a",this)}},handlePageClick:function(e){var t,n=this.get("numSlidesAdvance");e.preventDefault(),this.caroAnim.get("running")===!1&&(e&&this.autoPlayTimer&&window.clearInterval(this.autoPlayTimer),t=e.currentTarget.get("className"),this.gotoSlide(parseInt(t.replace("p-",""),10)*n))},generateControls:function(){var e=n.create('<a href="#" class="prev"><span>Previous Slide</span></a>'),t=n.create('<a href="#" class="next"><span>Next Slide</span></a>'),r=this.get("controlsRefNode")||this.get("srcNode"),i=this.get("controlsRefWhere");t.on("click",this.next,this),e.on("click",this.prev,this),this.insertItem(e,r,i),this.insertItem(t,r,i)},advance:function(e,t){e&&e.preventDefault(),e&&this.autoPlayTimer&&window.clearInterval(this.autoPlayTimer);if(this.caroAnim.get("running")===!0)return;this.gotoSlide(t)},next:function(e){this.advance(e,this.curSlide+this.get("numSlidesAdvance"))},prev:function(e){this.advance(e,this.curSlide-this.get("numSlidesAdvance"))},gotoSlide:function(e,t){var n,r,i=this.get("isContinuous"),s=this.get("numSlidesAdvance"),o=this.slideWidth;this.requestedIndex=e,t=t===0?t:t||this.get("slideAnimDuration"),e<0?i===!0?(this.animateTo(0,t),this.curSlide=this.numSlides-s):(this.animateTo(-(o*(this.numSlides-s)),t),this.curSlide=this.numSlides-s):e>=this.numSlides?i===!0?(n=-(o*(this.numSlides+s)),this.animateTo(n,t),this.curSlide=this.numSlides):(this.animateTo(0,t),this.curSlide=0):(r=i===!0?s:0,n=-(o*(e+r)),this.animateTo(n,t),this.curSlide=e)},autoPlay:function(){var e=this;this.autoPlayTimer=window.setInterval(function(){e.next()},e.get("slideAnimInterval"
 
2
))},animateTo:function(e,t){var n;t===0?this.nodeCarousel.setStyle("left",e):(t&&(n=this.caroAnim.get("duration"),this.caroAnim.set("duration",t)),this.caroAnim.set("to",{left:e}),this.caroAnim.run(),this.caroAnim.set("duration",n))},transitionTo:function(e,t){this.nodeCarousel.transition({duration:t,left:e+"px"})},flip:function(){var e=this.get("isContinuous"),t=this.get("numSlidesAdvance"),n,r;e===!0&&this.requestedIndex&&(n=this.slideWidth,this.requestedIndex<0?(r=-(n*this.numSlides),this.animateTo(r,0),this.curSlide=this.numSlides-t):this.requestedIndex>this.numSlides-1&&(this.animateTo(-(n*t),0),this.curSlide=0))},cloneSlides:function(){var e,t,n,i,s,o,u=this.get("numSlidesVisible"),a,f=this.get("srcNode"),l,c,h,p;e=f.all(".clone");if(e.size()===0||e.size()/2!==u){e.remove(!0),o=this.getCarouselNodeList(),a=o.size(),t=o.item(0),n=o.item(this.numSlides-1),i=new r([]),s=new r([]);for(l=a-u,c=a;l<c;l++)s.push(o.item(l).cloneNode(!0));for(h=0,p=u;h<p;h++)i.push(o.item(h).cloneNode(!0));i.addClass("clone"),s.addClass("clone"),n.insert(i,"after"),t.insert(s,"before")}},applyConfigOverrides:function(t){var n;e.Object.each(t,function(t,r){n=r;if(!(e.Array.indexOf(this.validVpConfOverrides,n)>-1))throw new Error("viewportConfKey: "+n+" is not a valid key");this.set(r,t)},this)},handleResize:function(){var t,n,r=this.get("srcNode"),i=this.getCarouselNodeList(),s,o,u,a,f,l,c,h,p=this.get("viewportConfig"),d,v,m,g=this.get("containerWidth"),y=this.get("preserveAspectRatio"),b=this.get("resizeFonts"),w,E,S,x;if(y){if(p&&(!e.UA.ie||e.UA.ie>=9)){v=e.one("body").get("winWidth"),m=e.Object.keys(p),m.sort(e.Array.numericSort),d=this.defaultVpConf;for(S=0,x=m.length;S<x;S++)v>=m[S]&&(d=e.merge(d,p[m[S]]));this.applyConfigOverrides(d)}o=this.get("aspectRatio"),u=this.get("numSlidesAdvance"),a=this.get("numSlidesVisible"),s=r.get("offsetWidth"),n=parseInt(s/o.width*o.height,10),r.setStyle("height",n+"px"),l=n,c=s/a,f=this.get("pixelRoundingFunc"),f&&(l=f(l),c=f(c)),i.each(function(e){e.setStyle("width",c),e.setStyle("height",l)}),this.slideWidth=c,this.slideHeight=l,this.get("isContinuous")&&this.cloneSlides(),this.generatePagination(),b===!0&&(t=Math.round(100/g*s*100)/100,h=this.get("fontNodes"),h.each(function(e){var n=this.getFontSize(e);t===100?e.setStyle("fontSize",n+"px"):e.setStyle("fontSize",parseInt(n,10)/100*t+"px")},this)),w=this.curSlide,E=w%a,E!==0&&(w-=E),this.caroAnim.get("running")===!1?this.gotoSlide(w,0):this.caroAnim.once("end",function(){this.gotoSlide(w,0)},this)}},getFontSize:function(e){var t=e.getAttribute("origFontSize"),n;return t||(this.IE&&this.IE<9?(n=e.get("currentStyle"),t=parseInt(n.fontSize,10)/100*13):t=parseInt(e.getStyle("fontSize"),10),e.setAttribute("origFontSize",t)),t}}),e.namespace("u1"),e.u1.Carousel=i},"@VERSION@",{requires:["widget-base","widget-htmlparser","widget-uievents","widget-skin","anim-base","anim-color","anim-curve","anim-easing","anim-node-plugin","anim-scroll","anim-xy","event-resize","event-touch","transition","substitute"]});