From 85439f02173c16f7d12f71a0c0080eedd20636f7 Mon Sep 17 00:00:00 2001 From: Elijah Manor Date: Thu, 23 Jan 2014 16:32:30 -0600 Subject: [PATCH 1/5] Add support for progressive slides with pager --- .gitignore | 3 + Gruntfile.js | 50 +- build/core/jquery.cycle2.autoheight.min.js | 4 +- build/core/jquery.cycle2.caption.min.js | 4 +- build/core/jquery.cycle2.command.min.js | 4 +- build/core/jquery.cycle2.core.min.js | 4 +- build/core/jquery.cycle2.hash.min.js | 4 +- build/core/jquery.cycle2.loader.min.js | 4 +- build/core/jquery.cycle2.pager.min.js | 4 +- build/core/jquery.cycle2.prevnext.min.js | 4 +- build/core/jquery.cycle2.progressive.min.js | 4 +- build/core/jquery.cycle2.tmpl.min.js | 4 +- build/jquery.cycle2.js | 155 +- build/jquery.cycle2.js.map | 2 +- build/jquery.cycle2.min.js | 24 +- build/plugin/jquery.cycle2.caption2.min.js | 4 +- build/plugin/jquery.cycle2.carousel.min.js | 4 +- build/plugin/jquery.cycle2.center.min.js | 4 +- build/plugin/jquery.cycle2.flip.min.js | 4 +- build/plugin/jquery.cycle2.ie-fade.min.js | 4 +- build/plugin/jquery.cycle2.scrollVert.min.js | 4 +- build/plugin/jquery.cycle2.shuffle.min.js | 4 +- build/plugin/jquery.cycle2.swipe.min.js | 4 +- build/plugin/jquery.cycle2.tile.min.js | 4 +- build/plugin/jquery.cycle2.video.min.js | 4 +- package.json | 6 +- spec/fixtures/progressive-pager.html | 26 + spec/index.html | 25 + spec/index.tmpl | 21 + spec/jquery.cycle2.progressive.spec.js | 176 ++ spec/lib/jasmine-2.0.0/boot.js | 181 ++ spec/lib/jasmine-2.0.0/console.js | 160 ++ spec/lib/jasmine-2.0.0/jasmine-html.js | 359 +++ spec/lib/jasmine-2.0.0/jasmine.css | 55 + spec/lib/jasmine-2.0.0/jasmine.js | 2402 ++++++++++++++++++ spec/lib/jasmine-2.0.0/jasmine_favicon.png | Bin 0 -> 2057 bytes spec/lib/jasmine-jquery.js | 813 ++++++ src/jquery.cycle2.progressive.js | 151 +- 38 files changed, 4479 insertions(+), 210 deletions(-) create mode 100644 .gitignore create mode 100644 spec/fixtures/progressive-pager.html create mode 100755 spec/index.html create mode 100644 spec/index.tmpl create mode 100755 spec/jquery.cycle2.progressive.spec.js create mode 100755 spec/lib/jasmine-2.0.0/boot.js create mode 100755 spec/lib/jasmine-2.0.0/console.js create mode 100755 spec/lib/jasmine-2.0.0/jasmine-html.js create mode 100755 spec/lib/jasmine-2.0.0/jasmine.css create mode 100755 spec/lib/jasmine-2.0.0/jasmine.js create mode 100755 spec/lib/jasmine-2.0.0/jasmine_favicon.png create mode 100644 spec/lib/jasmine-jquery.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a0847f7 --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +node_modules +bower_components +build/tcycle diff --git a/Gruntfile.js b/Gruntfile.js index bb9303e..dbe46c8 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -3,16 +3,19 @@ module.exports = function(grunt) { "use strict"; +require( "matchdep" ).filterDev( "grunt-*" ) + .forEach(grunt.loadNpmTasks); + grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), concat: { - options: { + options: { separator: '\n', banner: '/*!\n* jQuery Cycle2; version: <%=pkg.version %> build: <%= grunt.template.today("yyyymmdd") %>\n' + '* http://jquery.malsup.com/cycle2/\n' + '* Copyright (c) <%= grunt.template.today("yyyy") %> M. Alsup; Dual licensed: MIT/GPL\n*/\n\n' - }, + }, dist: { src: [ 'src/jquery.cycle2.core.js', @@ -81,7 +84,7 @@ grunt.initConfig({ 'build/core/jquery.cycle2.prevnext.min.js': [ 'src/jquery.cycle2.prevnext.js' ], 'build/core/jquery.cycle2.progressive.min.js': [ 'src/jquery.cycle2.progressive.js' ], 'build/core/jquery.cycle2.tmpl.min.js': [ 'src/jquery.cycle2.tmpl.js' ], - + 'build/plugin/jquery.cycle2.caption2.min.js': [ 'src/jquery.cycle2.caption2.js' ], 'build/plugin/jquery.cycle2.carousel.min.js': [ 'src/jquery.cycle2.carousel.js' ], 'build/plugin/jquery.cycle2.center.min.js': [ 'src/jquery.cycle2.center.js' ], @@ -105,18 +108,45 @@ grunt.initConfig({ } }, + copy: { + main: { + src: "build/jquery.cycle2.js", + dest: "../dr-root/vendor/assets/javascripts/", + flatten: true, + expand: true + } + }, + + jasmine: { + pivotal: { + src: "build/jquery.cycle2.js", + options: { + specs: "spec/**/*.spec.js", + vendor: [ + "bower_components/jquery/jquery.js" + ], + template: "spec/index.tmpl" + } + } + }, + + connect: { + server: { + options: { + port: 9001, + livereload: true, + keepalive: true + } + } + }, + watch: { files: 'src/*.js', - tasks: 'jshint concat uglify' + tasks: ['jshint', 'concat', 'uglify', 'copy'] } }); -grunt.loadNpmTasks('grunt-contrib-jshint'); -grunt.loadNpmTasks('grunt-contrib-concat'); -grunt.loadNpmTasks('grunt-contrib-uglify'); -grunt.loadNpmTasks('grunt-contrib-watch'); - -grunt.registerTask('default', [ 'jshint', 'concat', 'uglify' ]); +grunt.registerTask('default', [ 'jshint', 'concat', 'uglify', 'jasmine' ]); }; diff --git a/build/core/jquery.cycle2.autoheight.min.js b/build/core/jquery.cycle2.autoheight.min.js index 7f0eb7e..2845ef8 100644 --- a/build/core/jquery.cycle2.autoheight.min.js +++ b/build/core/jquery.cycle2.autoheight.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";function t(t,n){var s,o,l,c=n.autoHeight;if("container"==c)o=e(n.slides[n.currSlide]).outerHeight(),n.container.height(o);else if(n._autoHeightRatio)n.container.height(n.container.width()/n._autoHeightRatio);else if("calc"===c||"number"==e.type(c)&&c>=0){if(l="calc"===c?i(t,n):c>=n.slides.length?0:c,l==n._sentinelIndex)return;n._sentinelIndex=l,n._sentinel&&n._sentinel.remove(),s=e(n.slides[l].cloneNode(!0)),s.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),s.css({position:"static",visibility:"hidden",display:"block"}).prependTo(n.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),s.find("*").css("visibility","hidden"),n._sentinel=s}}function i(t,i){var n=0,s=-1;return i.slides.each(function(t){var i=e(this).height();i>s&&(s=i,n=t)}),n}function n(t,i,n,s){var o=e(s).outerHeight();i.container.animate({height:o},i.autoHeightSpeed,i.autoHeightEasing)}function s(i,o){o._autoHeightOnResize&&(e(window).off("resize orientationchange",o._autoHeightOnResize),o._autoHeightOnResize=null),o.container.off("cycle-slide-added cycle-slide-removed",t),o.container.off("cycle-destroyed",s),o.container.off("cycle-before",n),o._sentinel&&(o._sentinel.remove(),o._sentinel=null)}e.extend(e.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),e(document).on("cycle-initialized",function(i,o){function l(){t(i,o)}var c,r=o.autoHeight,a=e.type(r),d=null;("string"===a||"number"===a)&&(o.container.on("cycle-slide-added cycle-slide-removed",t),o.container.on("cycle-destroyed",s),"container"==r?o.container.on("cycle-before",n):"string"===a&&/\d+\:\d+/.test(r)&&(c=r.match(/(\d+)\:(\d+)/),c=c[1]/c[2],o._autoHeightRatio=c),"number"!==a&&(o._autoHeightOnResize=function(){clearTimeout(d),d=setTimeout(l,50)},e(window).on("resize orientationchange",o._autoHeightOnResize)),setTimeout(l,30))})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\d+\:\d+/.test(i)&&(h=i.match(/(\d+)\:(\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.caption.min.js b/build/core/jquery.cycle2.caption.min.js index b633dc6..cd0da85 100644 --- a/build/core/jquery.cycle2.caption.min.js +++ b/build/core/jquery.cycle2.caption.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),e(document).on("cycle-update-view",function(t,i,n,s){"caption"===i.captionModule&&e.each(["caption","overlay"],function(){var e=this,t=n[e+"Template"],o=i.API.getComponent(e);o.length&&t?(o.html(i.API.tmpl(t,n,i,s)),o.show()):o.hide()})}),e(document).on("cycle-destroyed",function(t,i){var n;e.each(["caption","overlay"],function(){var e=this,t=i[e+"Template"];i[e]&&t&&(n=i.API.getComponent("caption"),n.empty())})})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.command.min.js b/build/core/jquery.cycle2.command.min.js index b0287fe..5c9feb5 100644 --- a/build/core/jquery.cycle2.command.min.js +++ b/build/core/jquery.cycle2.command.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";var t=e.fn.cycle;e.fn.cycle=function(i){var n,s,o,c=e.makeArray(arguments);return"number"==e.type(i)?this.cycle("goto",i):"string"==e.type(i)?this.each(function(){var l;return n=i,o=e(this).data("cycle.opts"),void 0===o?(t.log('slideshow must be initialized before sending commands; "'+n+'" ignored'),void 0):(n="goto"==n?"jump":n,s=o.API[n],e.isFunction(s)?(l=e.makeArray(c),l.shift(),s.apply(o.API,l)):(t.log("unknown command: ",n),void 0))}):t.apply(this,arguments)},e.extend(e.fn.cycle,t),e.extend(t.API,{next:function(){var e=this.opts();if(!e.busy||e.manualTrump){var t=e.reverse?-1:1;e.allowWrap===!1&&e.currSlide+t>=e.slideCount||(e.API.advanceSlide(t),e.API.trigger("cycle-next",[e]).log("cycle-next"))}},prev:function(){var e=this.opts();if(!e.busy||e.manualTrump){var t=e.reverse?1:-1;e.allowWrap===!1&&0>e.currSlide+t||(e.API.advanceSlide(t),e.API.trigger("cycle-prev",[e]).log("cycle-prev"))}},destroy:function(){this.stop();var t=this.opts(),i=e.isFunction(e._data)?e._data:e.noop;clearTimeout(t.timeoutId),t.timeoutId=0,t.API.stop(),t.API.trigger("cycle-destroyed",[t]).log("cycle-destroyed"),t.container.removeData(),i(t.container[0],"parsedAttrs",!1),t.retainStylesOnDestroy||(t.container.removeAttr("style"),t.slides.removeAttr("style"),t.slides.removeClass(t.slideActiveClass)),t.slides.each(function(){e(this).removeData(),i(this,"parsedAttrs",!1)})},jump:function(e){var t,i=this.opts();if(!i.busy||i.manualTrump){var n=parseInt(e,10);if(isNaN(n)||0>n||n>=i.slides.length)return i.API.log("goto: invalid slide index: "+n),void 0;if(n==i.currSlide)return i.API.log("goto: skipping, already on slide",n),void 0;i.nextSlide=n,clearTimeout(i.timeoutId),i.timeoutId=0,i.API.log("goto: ",n," (zero-index)"),t=i.currSlidel;l++)i=s.slides[l],l==t?n=i:(o.push(i),e(i).data("cycle.opts").slideNum=c,c++);n&&(s.slides=e(o),s.slideCount--,e(n).remove(),t==s.currSlide?s.API.advanceSlide(1):s.currSlide>t?s.currSlide--:s.currSlide++,s.API.trigger("cycle-slide-removed",[s,t,n]).log("cycle-slide-removed"),s.API.updateView())}}),e(document).on("click.cycle","[data-cycle-cmd]",function(t){t.preventDefault();var i=e(this),n=i.data("cycle-cmd"),s=i.data("cycle-context")||".cycle-slideshow";e(s).cycle(n,i.data("cycle-arg"))})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log('slideshow must be initialized before sending commands; "'+d+'" ignored'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){a(this).removeData(),c(this,"parsedAttrs",!1)})},jump:function(a){var b,c=this.opts();if(!c.busy||c.manualTrump){var d=parseInt(a,10);if(isNaN(d)||0>d||d>=c.slides.length)return void c.API.log("goto: invalid slide index: "+d);if(d==c.currSlide)return void c.API.log("goto: skipping, already on slide",d);c.nextSlide=d,clearTimeout(c.timeoutId),c.timeoutId=0,c.API.log("goto: ",d," (zero-index)"),b=c.currSlidei._remainingTimeout||isNaN(i._remainingTimeout))&&(i._remainingTimeout=void 0)))},resume:function(e){var t=this.opts(),i=!t.hoverPaused&&!t.paused;e?t.hoverPaused=!1:t.paused=!1,i||(t.container.removeClass("cycle-paused"),0===t.slides.filter(":animated").length&&t.API.queueTransition(t.API.getSlideOpts(),t._remainingTimeout),t.API.trigger("cycle-resumed",[t,t._remainingTimeout]).log("cycle-resumed"))},add:function(t,i){var n,s=this.opts(),o=s.slideCount,l=!1;"string"==e.type(t)&&(t=e.trim(t)),e(t).each(function(){var t,n=e(this);i?s.container.prepend(n):s.container.append(n),s.slideCount++,t=s.API.buildSlideOpts(n),s.slides=i?e(n).add(s.slides):s.slides.add(n),s.API.initSlide(t,n,--s._maxZ),n.data("cycle.opts",t),s.API.trigger("cycle-slide-added",[s,t,n])}),s.API.updateView(!0),l=s._preInitialized&&2>o&&s.slideCount>=1,l&&(s._initialized?s.timeout&&(n=s.slides.length,s.nextSlide=s.reverse?n-1:1,s.timeoutId||s.API.queueTransition(s)):s.API.initSlideshow())},calcFirstSlide:function(){var e,t=this.opts();e=parseInt(t.startingSlide||0,10),(e>=t.slides.length||0>e)&&(e=0),t.currSlide=e,t.reverse?(t.nextSlide=e-1,0>t.nextSlide&&(t.nextSlide=t.slides.length-1)):(t.nextSlide=e+1,t.nextSlide==t.slides.length&&(t.nextSlide=0))},calcNextSlide:function(){var e,t=this.opts();t.reverse?(e=0>t.nextSlide-1,t.nextSlide=e?t.slideCount-1:t.nextSlide-1,t.currSlide=e?0:t.nextSlide+1):(e=t.nextSlide+1==t.slides.length,t.nextSlide=e?0:t.nextSlide+1,t.currSlide=e?t.slides.length-1:t.nextSlide-1)},calcTx:function(t,i){var n,s=t;return i&&s.manualFx&&(n=e.fn.cycle.transitions[s.manualFx]),n||(n=e.fn.cycle.transitions[s.fx]),n||(n=e.fn.cycle.transitions.fade,s.API.log('Transition "'+s.fx+'" not found. Using fade.')),n},prepareTx:function(e,t){var i,n,s,o,l,r=this.opts();return 2>r.slideCount?(r.timeoutId=0,void 0):(!e||r.busy&&!r.manualTrump||(r.API.stopTransition(),r.busy=!1,clearTimeout(r.timeoutId),r.timeoutId=0),r.busy||(0!==r.timeoutId||e)&&(n=r.slides[r.currSlide],s=r.slides[r.nextSlide],o=r.API.getSlideOpts(r.nextSlide),l=r.API.calcTx(o,e),r._tx=l,e&&void 0!==o.manualSpeed&&(o.speed=o.manualSpeed),r.nextSlide!=r.currSlide&&(e||!r.paused&&!r.hoverPaused&&r.timeout)?(r.API.trigger("cycle-before",[o,n,s,t]),l.before&&l.before(o,n,s,t),i=function(){r.busy=!1,r.container.data("cycle.opts")&&(l.after&&l.after(o,n,s,t),r.API.trigger("cycle-after",[o,n,s,t]),r.API.queueTransition(o),r.API.updateView(!0))},r.busy=!0,l.transition?l.transition(o,n,s,t,i):r.API.doTransition(o,n,s,t,i),r.API.calcNextSlide(),r.API.updateView()):r.API.queueTransition(o)),void 0)},doTransition:function(t,i,n,s,o){var l=t,r=e(i),c=e(n),a=function(){c.animate(l.animIn||{opacity:1},l.speed,l.easeIn||l.easing,o)};c.css(l.cssBefore||{}),r.animate(l.animOut||{},l.speed,l.easeOut||l.easing,function(){r.css(l.cssAfter||{}),l.sync||a()}),l.sync&&a()},queueTransition:function(t,i){var n=this.opts(),s=void 0!==i?i:t.timeout;return 0===n.nextSlide&&0===--n.loop?(n.API.log("terminating; loop=0"),n.timeout=0,s?setTimeout(function(){n.API.trigger("cycle-finished",[n])},s):n.API.trigger("cycle-finished",[n]),n.nextSlide=n.currSlide,void 0):(s&&(n._lastQueue=e.now(),void 0===i&&(n._remainingTimeout=t.timeout),n.paused||n.hoverPaused||(n.timeoutId=setTimeout(function(){n.API.prepareTx(!1,!n.reverse)},s))),void 0)},stopTransition:function(){var e=this.opts();e.slides.filter(":animated").length&&(e.slides.stop(!1,!0),e.API.trigger("cycle-transition-stopped",[e])),e._tx&&e._tx.stopTransition&&e._tx.stopTransition(e)},advanceSlide:function(e){var t=this.opts();return clearTimeout(t.timeoutId),t.timeoutId=0,t.nextSlide=t.currSlide+e,0>t.nextSlide?t.nextSlide=t.slides.length-1:t.nextSlide>=t.slides.length&&(t.nextSlide=0),t.API.prepareTx(!0,e>=0),!1},buildSlideOpts:function(i){var n,s,o=this.opts(),l=i.data()||{};for(var r in l)l.hasOwnProperty(r)&&/^cycle[A-Z]+/.test(r)&&(n=l[r],s=r.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,t),o.API.log("["+(o.slideCount-1)+"]",s+":",n,"("+typeof n+")"),l[s]=n);l=e.extend({},e.fn.cycle.defaults,o,l),l.slideNum=o.slideCount;try{delete l.API,delete l.slideCount,delete l.currSlide,delete l.nextSlide,delete l.slides}catch(c){}return l},getSlideOpts:function(t){var i=this.opts();void 0===t&&(t=i.currSlide);var n=i.slides[t],s=e(n).data("cycle.opts");return e.extend({},i,s)},initSlide:function(t,i,n){var s=this.opts();i.css(t.slideCss||{}),n>0&&i.css("zIndex",n),isNaN(t.speed)&&(t.speed=e.fx.speeds[t.speed]||e.fx.speeds._default),t.sync||(t.speed=t.speed/2),i.addClass(s.slideClass)},updateView:function(e,t){var i=this.opts();if(i._initialized){var n=i.API.getSlideOpts(),s=i.slides[i.currSlide];!e&&t!==!0&&(i.API.trigger("cycle-update-view-before",[i,n,s]),0>i.updateView)||(i.slideActiveClass&&i.slides.removeClass(i.slideActiveClass).eq(i.currSlide).addClass(i.slideActiveClass),e&&i.hideNonActive&&i.slides.filter(":not(."+i.slideActiveClass+")").hide(),0===i.updateView&&setTimeout(function(){i.API.trigger("cycle-update-view",[i,n,s,e])},n.speed/(i.sync?2:1)),0!==i.updateView&&i.API.trigger("cycle-update-view",[i,n,s,e]),e&&i.API.trigger("cycle-update-view-after",[i,n,s]))}},getComponent:function(t){var i=this.opts(),n=i[t];return"string"==typeof n?/^\s*[\>|\+|~]/.test(n)?i.container.find(n):e(n):n.jquery?n:e(n)},stackSlides:function(t,i,n){var s=this.opts();t||(t=s.slides[s.currSlide],i=s.slides[s.nextSlide],n=!s.reverse),e(t).css("zIndex",s.maxZ);var o,l=s.maxZ-2,r=s.slideCount;if(n){for(o=s.currSlide+1;r>o;o++)e(s.slides[o]).css("zIndex",l--);for(o=0;s.currSlide>o;o++)e(s.slides[o]).css("zIndex",l--)}else{for(o=s.currSlide-1;o>=0;o--)e(s.slides[o]).css("zIndex",l--);for(o=r-1;o>s.currSlide;o--)e(s.slides[o]).css("zIndex",l--)}e(i).css("zIndex",s.maxZ-1)},getSlideIndex:function(e){return this.opts().slides.index(e)}},e.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))},e.fn.cycle.version=function(){return"Cycle2: "+i},e.fn.cycle.transitions={custom:{},none:{before:function(e,t,i,n){e.API.stackSlides(i,t,n),e.cssBefore={opacity:1,display:"block"}}},fade:{before:function(t,i,n,s){var o=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,n,s),t.cssBefore=e.extend(o,{opacity:0,display:"block"}),t.animIn={opacity:1},t.animOut={opacity:0}}},fadeout:{before:function(t,i,n,s){var o=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,n,s),t.cssBefore=e.extend(o,{opacity:1,display:"block"}),t.animOut={opacity:0}}},scrollHorz:{before:function(e,t,i,n){e.API.stackSlides(t,i,n);var s=e.container.css("overflow","hidden").width();e.cssBefore={left:n?s:-s,top:0,opacity:1,display:"block"},e.cssAfter={zIndex:e._maxZ-2,left:0},e.animIn={left:0},e.animOut={left:n?-s:s}}}},e.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},e(document).ready(function(){e(e.fn.cycle.defaults.autoSelector).cycle()})})(jQuery); \ No newline at end of file +!function(a){"use strict";function b(a){return(a||"").toLowerCase()}var c="2.0.2";a.fn.cycle=function(c){var d;return 0!==this.length||a.isReady?this.each(function(){var d,e,f,g,h=a(this),i=a.fn.cycle.log;if(!h.data("cycle.opts")){(h.data("cycle-log")===!1||c&&c.log===!1||e&&e.log===!1)&&(i=a.noop),i("--c2 init--"),d=h.data();for(var j in d)d.hasOwnProperty(j)&&/^cycle[A-Z]+/.test(j)&&(g=d[j],f=j.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),i(f+":",g,"("+typeof g+")"),d[f]=g);e=a.extend({},a.fn.cycle.defaults,d,c||{}),e.timeoutId=0,e.paused=e.paused||!1,e.container=h,e._maxZ=e.maxZ,e.API=a.extend({_container:h},a.fn.cycle.API),e.API.log=i,e.API.trigger=function(a,b){return e.container.trigger(a,b),e.API},h.data("cycle.opts",e),h.data("cycle.API",e.API),e.API.trigger("cycle-bootstrap",[e,e.API]),e.API.addInitialSlides(),e.API.preInitSlideshow(),e.slides.length&&e.API.initSlideshow()}}):(d={s:this.selector,c:this.context},a.fn.cycle.log("requeuing slideshow (dom not ready)"),a(function(){a(d.s,d.c).cycle(c)}),this)},a.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var b=this.opts(),c=b.slides;b.slideCount=0,b.slides=a(),c=c.jquery?c:b.container.find(c),b.random&&c.sort(function(){return Math.random()-.5}),b.API.add(c)},preInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-pre-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.preInit)&&c.preInit(b),b._preInitialized=!0},postInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-post-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.postInit)&&c.postInit(b)},initSlideshow:function(){var b,c=this.opts(),d=c.container;c.API.calcFirstSlide(),"static"==c.container.css("position")&&c.container.css("position","relative"),a(c.slides[c.currSlide]).css("opacity",1).show(),c.API.stackSlides(c.slides[c.currSlide],c.slides[c.nextSlide],!c.reverse),c.pauseOnHover&&(c.pauseOnHover!==!0&&(d=a(c.pauseOnHover)),d.hover(function(){c.API.pause(!0)},function(){c.API.resume(!0)})),c.timeout&&(b=c.API.getSlideOpts(c.currSlide),c.API.queueTransition(b,b.timeout+c.delay)),c._initialized=!0,c.API.updateView(!0),c.API.trigger("cycle-initialized",[c]),c.API.postInitSlideshow()},pause:function(b){var c=this.opts(),d=c.API.getSlideOpts(),e=c.hoverPaused||c.paused;b?c.hoverPaused=!0:c.paused=!0,e||(c.container.addClass("cycle-paused"),c.API.trigger("cycle-paused",[c]).log("cycle-paused"),d.timeout&&(clearTimeout(c.timeoutId),c.timeoutId=0,c._remainingTimeout-=a.now()-c._lastQueue,(c._remainingTimeout<0||isNaN(c._remainingTimeout))&&(c._remainingTimeout=void 0)))},resume:function(a){var b=this.opts(),c=!b.hoverPaused&&!b.paused;a?b.hoverPaused=!1:b.paused=!1,c||(b.container.removeClass("cycle-paused"),0===b.slides.filter(":animated").length&&b.API.queueTransition(b.API.getSlideOpts(),b._remainingTimeout),b.API.trigger("cycle-resumed",[b,b._remainingTimeout]).log("cycle-resumed"))},add:function(b,c){var d,e=this.opts(),f=e.slideCount,g=!1;"string"==a.type(b)&&(b=a.trim(b)),a(b).each(function(){var b,d=a(this);c?e.container.prepend(d):e.container.append(d),e.slideCount++,b=e.API.buildSlideOpts(d),e.slides=c?a(d).add(e.slides):e.slides.add(d),e.API.initSlide(b,d,--e._maxZ),d.data("cycle.opts",b),e.API.trigger("cycle-slide-added",[e,b,d])}),e.API.updateView(!0),g=e._preInitialized&&2>f&&e.slideCount>=1,g&&(e._initialized?e.timeout&&(d=e.slides.length,e.nextSlide=e.reverse?d-1:1,e.timeoutId||e.API.queueTransition(e)):e.API.initSlideshow())},calcFirstSlide:function(){var a,b=this.opts();a=parseInt(b.startingSlide||0,10),(a>=b.slides.length||0>a)&&(a=0),b.currSlide=a,b.reverse?(b.nextSlide=a-1,b.nextSlide<0&&(b.nextSlide=b.slides.length-1)):(b.nextSlide=a+1,b.nextSlide==b.slides.length&&(b.nextSlide=0))},calcNextSlide:function(){var a,b=this.opts();b.reverse?(a=b.nextSlide-1<0,b.nextSlide=a?b.slideCount-1:b.nextSlide-1,b.currSlide=a?0:b.nextSlide+1):(a=b.nextSlide+1==b.slides.length,b.nextSlide=a?0:b.nextSlide+1,b.currSlide=a?b.slides.length-1:b.nextSlide-1)},calcTx:function(b,c){var d,e=b;return c&&e.manualFx&&(d=a.fn.cycle.transitions[e.manualFx]),d||(d=a.fn.cycle.transitions[e.fx]),d||(d=a.fn.cycle.transitions.fade,e.API.log('Transition "'+e.fx+'" not found. Using fade.')),d},prepareTx:function(a,b){var c,d,e,f,g,h=this.opts();return h.slideCount<2?void(h.timeoutId=0):(!a||h.busy&&!h.manualTrump||(h.API.stopTransition(),h.busy=!1,clearTimeout(h.timeoutId),h.timeoutId=0),void(h.busy||(0!==h.timeoutId||a)&&(d=h.slides[h.currSlide],e=h.slides[h.nextSlide],f=h.API.getSlideOpts(h.nextSlide),g=h.API.calcTx(f,a),h._tx=g,a&&void 0!==f.manualSpeed&&(f.speed=f.manualSpeed),h.nextSlide!=h.currSlide&&(a||!h.paused&&!h.hoverPaused&&h.timeout)?(h.API.trigger("cycle-before",[f,d,e,b]),g.before&&g.before(f,d,e,b),c=function(){h.busy=!1,h.container.data("cycle.opts")&&(g.after&&g.after(f,d,e,b),h.API.trigger("cycle-after",[f,d,e,b]),h.API.queueTransition(f),h.API.updateView(!0))},h.busy=!0,g.transition?g.transition(f,d,e,b,c):h.API.doTransition(f,d,e,b,c),h.API.calcNextSlide(),h.API.updateView()):h.API.queueTransition(f))))},doTransition:function(b,c,d,e,f){var g=b,h=a(c),i=a(d),j=function(){i.animate(g.animIn||{opacity:1},g.speed,g.easeIn||g.easing,f)};i.css(g.cssBefore||{}),h.animate(g.animOut||{},g.speed,g.easeOut||g.easing,function(){h.css(g.cssAfter||{}),g.sync||j()}),g.sync&&j()},queueTransition:function(b,c){var d=this.opts(),e=void 0!==c?c:b.timeout;return 0===d.nextSlide&&0===--d.loop?(d.API.log("terminating; loop=0"),d.timeout=0,e?setTimeout(function(){d.API.trigger("cycle-finished",[d])},e):d.API.trigger("cycle-finished",[d]),void(d.nextSlide=d.currSlide)):void(e&&(d._lastQueue=a.now(),void 0===c&&(d._remainingTimeout=b.timeout),d.paused||d.hoverPaused||(d.timeoutId=setTimeout(function(){d.API.prepareTx(!1,!d.reverse)},e))))},stopTransition:function(){var a=this.opts();a.slides.filter(":animated").length&&(a.slides.stop(!1,!0),a.API.trigger("cycle-transition-stopped",[a])),a._tx&&a._tx.stopTransition&&a._tx.stopTransition(a)},advanceSlide:function(a){var b=this.opts();return clearTimeout(b.timeoutId),b.timeoutId=0,b.nextSlide=b.currSlide+a,b.nextSlide<0?b.nextSlide=b.slides.length-1:b.nextSlide>=b.slides.length&&(b.nextSlide=0),b.API.prepareTx(!0,a>=0),!1},buildSlideOpts:function(c){var d,e,f=this.opts(),g=c.data()||{};for(var h in g)g.hasOwnProperty(h)&&/^cycle[A-Z]+/.test(h)&&(d=g[h],e=h.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),f.API.log("["+(f.slideCount-1)+"]",e+":",d,"("+typeof d+")"),g[e]=d);g=a.extend({},a.fn.cycle.defaults,f,g),g.slideNum=f.slideCount;try{delete g.API,delete g.slideCount,delete g.currSlide,delete g.nextSlide,delete g.slides}catch(i){}return g},getSlideOpts:function(b){var c=this.opts();void 0===b&&(b=c.currSlide);var d=c.slides[b],e=a(d).data("cycle.opts");return a.extend({},c,e)},initSlide:function(b,c,d){var e=this.opts();c.css(b.slideCss||{}),d>0&&c.css("zIndex",d),isNaN(b.speed)&&(b.speed=a.fx.speeds[b.speed]||a.fx.speeds._default),b.sync||(b.speed=b.speed/2),c.addClass(e.slideClass)},updateView:function(a,b){var c=this.opts();if(c._initialized){var d=c.API.getSlideOpts(),e=c.slides[c.currSlide];!a&&b!==!0&&(c.API.trigger("cycle-update-view-before",[c,d,e]),c.updateView<0)||(c.slideActiveClass&&c.slides.removeClass(c.slideActiveClass).eq(c.currSlide).addClass(c.slideActiveClass),a&&c.hideNonActive&&c.slides.filter(":not(."+c.slideActiveClass+")").hide(),0===c.updateView&&setTimeout(function(){c.API.trigger("cycle-update-view",[c,d,e,a])},d.speed/(c.sync?2:1)),0!==c.updateView&&c.API.trigger("cycle-update-view",[c,d,e,a]),a&&c.API.trigger("cycle-update-view-after",[c,d,e]))}},getComponent:function(b){var c=this.opts(),d=c[b];return"string"==typeof d?/^\s*[\>|\+|~]/.test(d)?c.container.find(d):a(d):d.jquery?d:a(d)},stackSlides:function(b,c,d){var e=this.opts();b||(b=e.slides[e.currSlide],c=e.slides[e.nextSlide],d=!e.reverse),a(b).css("zIndex",e.maxZ);var f,g=e.maxZ-2,h=e.slideCount;if(d){for(f=e.currSlide+1;h>f;f++)a(e.slides[f]).css("zIndex",g--);for(f=0;f=0;f--)a(e.slides[f]).css("zIndex",g--);for(f=h-1;f>e.currSlide;f--)a(e.slides[f]).css("zIndex",g--)}a(c).css("zIndex",e.maxZ-1)},getSlideIndex:function(a){return this.opts().slides.index(a)}},a.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))},a.fn.cycle.version=function(){return"Cycle2: "+c},a.fn.cycle.transitions={custom:{},none:{before:function(a,b,c,d){a.API.stackSlides(c,b,d),a.cssBefore={opacity:1,display:"block"}}},fade:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:0,display:"block"}),b.animIn={opacity:1},b.animOut={opacity:0}}},fadeout:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:1,display:"block"}),b.animOut={opacity:0}}},scrollHorz:{before:function(a,b,c,d){a.API.stackSlides(b,c,d);var e=a.container.css("overflow","hidden").width();a.cssBefore={left:d?e:-e,top:0,opacity:1,display:"block"},a.cssAfter={zIndex:a._maxZ-2,left:0},a.animIn={left:0},a.animOut={left:d?-e:e}}}},a.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},a(document).ready(function(){a(a.fn.cycle.defaults.autoSelector).cycle()})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.hash.min.js b/build/core/jquery.cycle2.hash.min.js index d723730..bd0bebc 100644 --- a/build/core/jquery.cycle2.hash.min.js +++ b/build/core/jquery.cycle2.hash.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";function t(t,i){var n;return t._hashFence?(t._hashFence=!1,void 0):(n=window.location.hash.substring(1),t.slides.each(function(s){if(e(this).data("cycle-hash")==n){if(i===!0)t.startingSlide=s;else{var o=s>t.currSlide;t.nextSlide=s,t.API.prepareTx(!0,o)}return!1}}),void 0)}e(document).on("cycle-pre-initialize",function(i,n){t(n,!0),n._onHashChange=function(){t(n,!1)},e(window).on("hashchange",n._onHashChange)}),e(document).on("cycle-update-view",function(e,t,i){i.hash&&"#"+i.hash!=window.location.hash&&(t._hashFence=!0,window.location.hash=i.hash)}),e(document).on("cycle-destroyed",function(t,i){i._onHashChange&&e(window).off("hashchange",i._onHashChange)})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(b,c){var d;return b._hashFence?void(b._hashFence=!1):(d=window.location.hash.substring(1),void b.slides.each(function(e){if(a(this).data("cycle-hash")==d){if(c===!0)b.startingSlide=e;else{var f=b.currSlider;r++)t[r]=e(t[r])[0];t=e(t);var l=t.length;l&&(t.hide().appendTo("body").each(function(t){function c(){0===--r&&(--l,o(d))}var r=0,d=e(this),u=d.is("img")?d:d.find("img");return d.data("index",t),u=u.filter(":not(.cycle-loader-ignore)").filter(':not([src=""])'),u.length?(r=u.length,u.each(function(){this.complete?c():e(this).load(function(){c()}).on("error",function(){0===--r&&(i.API.log("slide skipped; img not loaded:",this.src),0===--l&&"wait"==i.loader&&s.apply(i.API,[a,n]))})}),void 0):(--l,a.push(d),void 0)}),l&&i.container.addClass("cycle-loading"))}var s;i.loader&&(s=i.API.add,i.API.add=n)})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{loader:!1}),a(document).on("cycle-bootstrap",function(b,c){function d(b,d){function f(b){var f;"wait"==c.loader?(h.push(b),0===j&&(h.sort(g),e.apply(c.API,[h,d]),c.container.removeClass("cycle-loading"))):(f=a(c.slides[c.currSlide]),e.apply(c.API,[b,d]),f.show(),c.container.removeClass("cycle-loading"))}function g(a,b){return a.data("index")-b.data("index")}var h=[];if("string"==a.type(b))b=a.trim(b);else if("array"===a.type(b))for(var i=0;ii.currSlide;i.currSlide!=s&&(i.nextSlide=s,i.API.prepareTx(!0,o),i.API.trigger("cycle-pager-activated",[i,e,t]))}}e.extend(e.fn.cycle.defaults,{pager:"> .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),e(document).on("cycle-bootstrap",function(e,i,n){n.buildPagerLink=t}),e(document).on("cycle-slide-added",function(e,t,n,s){t.pager&&(t.API.buildPagerLink(t,n,s),t.API.page=i)}),e(document).on("cycle-slide-removed",function(t,i,n){if(i.pager){var s=i.API.getComponent("pager");s.each(function(){var t=e(this);e(t.children()[n]).remove()})}}),e(document).on("cycle-update-view",function(t,i){var n;i.pager&&(n=i.API.getComponent("pager"),n.each(function(){e(this).children().removeClass(i.pagerActiveClass).eq(i.currSlide).addClass(i.pagerActiveClass)}))}),e(document).on("cycle-destroyed",function(e,t){var i=t.API.getComponent("pager");i&&(i.children().off(t.pagerEvent),t.pagerTemplate&&i.empty())})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(b,c,d){var e,f=b.API.getComponent("pager");f.each(function(){var f=a(this);if(c.pagerTemplate){var g=b.API.tmpl(c.pagerTemplate,c,b,d[0]);e=a(g).appendTo(f)}else e=f.children().eq(b.slideCount-1);e.on(b.pagerEvent,function(a){a.preventDefault(),b.API.page(f,a.currentTarget)})})}function c(a,b){var c=this.opts();if(!c.busy||c.manualTrump){var d=a.children().index(b),e=d,f=c.currSlide .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.prevnext.min.js b/build/core/jquery.cycle2.prevnext.min.js index 8b14419..28cbfb5 100644 --- a/build/core/jquery.cycle2.prevnext.min.js +++ b/build/core/jquery.cycle2.prevnext.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),e(document).on("cycle-initialized",function(e,t){if(t.API.getComponent("next").on(t.nextEvent,function(e){e.preventDefault(),t.API.next()}),t.API.getComponent("prev").on(t.prevEvent,function(e){e.preventDefault(),t.API.prev()}),t.swipe){var i=t.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",n=t.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";t.container.on(i,function(){t.API.next()}),t.container.on(n,function(){t.API.prev()})}}),e(document).on("cycle-update-view",function(e,t){if(!t.allowWrap){var i=t.disabledClass,n=t.API.getComponent("next"),s=t.API.getComponent("prev"),o=t._prevBoundry||0,c=void 0!==t._nextBoundry?t._nextBoundry:t.slideCount-1;t.currSlide==c?n.addClass(i).prop("disabled",!0):n.removeClass(i).prop("disabled",!1),t.currSlide===o?s.addClass(i).prop("disabled",!0):s.removeClass(i).prop("disabled",!1)}}),e(document).on("cycle-destroyed",function(e,t){t.API.getComponent("prev").off(t.nextEvent),t.API.getComponent("next").off(t.prevEvent),t.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.progressive.min.js b/build/core/jquery.cycle2.progressive.min.js index 061acaf..8683fca 100644 --- a/build/core/jquery.cycle2.progressive.min.js +++ b/build/core/jquery.cycle2.progressive.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{progressive:!1}),e(document).on("cycle-pre-initialize",function(t,i){if(i.progressive){var n,s,o=i.API,c=o.next,r=o.prev,a=o.prepareTx,l=e.type(i.progressive);if("array"==l)n=i.progressive;else if(e.isFunction(i.progressive))n=i.progressive(i);else if("string"==l){if(s=e(i.progressive),n=e.trim(s.html()),!n)return;if(/^(\[)/.test(n))try{n=e.parseJSON(n)}catch(d){return o.log("error parsing progressive slides",d),void 0}else n=n.split(RegExp(s.data("cycle-split")||"\n")),n[n.length-1]||n.pop()}a&&(o.prepareTx=function(e,t){var s,o;return e||0===n.length?(a.apply(i.API,[e,t]),void 0):(t&&i.currSlide==i.slideCount-1?(o=n[0],n=n.slice(1),i.container.one("cycle-slide-added",function(e,t){setTimeout(function(){t.API.advanceSlide(1)},50)}),i.API.add(o)):t||0!==i.currSlide?a.apply(i.API,[e,t]):(s=n.length-1,o=n[s],n=n.slice(0,s),i.container.one("cycle-slide-added",function(e,t){setTimeout(function(){t.currSlide=1,t.API.advanceSlide(-1)},50)}),i.API.add(o,!0)),void 0)}),c&&(o.next=function(){var e=this.opts();if(n.length&&e.currSlide==e.slideCount-1){var t=n[0];n=n.slice(1),e.container.one("cycle-slide-added",function(e,t){c.apply(t.API),t.container.removeClass("cycle-loading")}),e.container.addClass("cycle-loading"),e.API.add(t)}else c.apply(e.API)}),r&&(o.prev=function(){var e=this.opts();if(n.length&&0===e.currSlide){var t=n.length-1,i=n[t];n=n.slice(0,t),e.container.one("cycle-slide-added",function(e,t){t.currSlide=1,t.API.advanceSlide(-1),t.container.removeClass("cycle-loading")}),e.container.addClass("cycle-loading"),e.API.add(i,!0)}else r.apply(e.API)})}})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.tmpl.min.js b/build/core/jquery.cycle2.tmpl.min.js index c77b29a..5083823 100644 --- a/build/core/jquery.cycle2.tmpl.min.js +++ b/build/core/jquery.cycle2.tmpl.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),e.extend(e.fn.cycle.API,{tmpl:function(t,i){var n=RegExp(i.tmplRegex||e.fn.cycle.defaults.tmplRegex,"g"),s=e.makeArray(arguments);return s.shift(),t.replace(n,function(t,i){var n,o,c,r,a=i.split(".");for(n=0;s.length>n;n++)if(c=s[n]){if(a.length>1)for(r=c,o=0;a.length>o;o++)c=r,r=r[a[o]]||i;else r=c[i];if(e.isFunction(r))return r.apply(c,s);if(void 0!==r&&null!==r&&r!=i)return r}return i})}})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;f" ) + .data( "cycle.progressive", $.trim(markup) ) + .addClass( 'cycle-progressive-slide' ); + }; + if ( opts.pager ) { + nodeName = opts.slides.length ? opts.slides[0].nodeName : ""; + $.each( slides, function( index, slide ) { + opts.API.add( progressive.buildSlide(slide, nodeName) ); + }); + } if ( prepareTxFn ) { API.prepareTx = function( manual, fwd ) { - var index, slide; - - if ( manual || slides.length === 0 ) { - prepareTxFn.apply( opts.API, [ manual, fwd ] ); - return; - } - - if ( fwd && opts.currSlide == ( opts.slideCount-1) ) { - slide = slides[ 0 ]; - slides = slides.slice( 1 ); - opts.container.one('cycle-slide-added', function(e, opts ) { - setTimeout(function() { - opts.API.advanceSlide( 1 ); - },50); - }); - opts.API.add( slide ); - } - else if ( !fwd && opts.currSlide === 0 ) { - index = slides.length-1; - slide = slides[ index ]; - slides = slides.slice( 0, index ); - opts.container.one('cycle-slide-added', function(e, opts ) { - setTimeout(function() { - opts.currSlide = 1; - opts.API.advanceSlide( -1 ); - },50); - }); - opts.API.add( slide, true ); - } - else { - prepareTxFn.apply( opts.API, [ manual, fwd ] ); - } + var opts = this.opts(), + index = fwd ? opts.currSlide + 1 : opts.currSlide - 1, + $slide = $( opts.slides[index] ); + + progressive.navigate( $slide, function( api, args ) { + return function() { + prepareTxFn.apply( api, args ); + }; + }(opts.API, [ manual, fwd ]) ); }; } - if ( nextFn ) { - API.next = function() { - var opts = this.opts(); - if ( slides.length && opts.currSlide == ( opts.slideCount - 1 ) ) { - var slide = slides[ 0 ]; - slides = slides.slice( 1 ); - opts.container.one('cycle-slide-added', function(e, opts ) { - nextFn.apply( opts.API ); - opts.container.removeClass('cycle-loading'); - }); - opts.container.addClass('cycle-loading'); - opts.API.add( slide ); - } - else { - nextFn.apply( opts.API ); - } - }; - } - - if ( prevFn ) { - API.prev = function() { - var opts = this.opts(); - if ( slides.length && opts.currSlide === 0 ) { - var index = slides.length-1; - var slide = slides[ index ]; - slides = slides.slice( 0, index ); - opts.container.one('cycle-slide-added', function(e, opts ) { - opts.currSlide = 1; - opts.API.advanceSlide( -1 ); - opts.container.removeClass('cycle-loading'); - }); - opts.container.addClass('cycle-loading'); - opts.API.add( slide, true ); - } - else { - prevFn.apply( opts.API ); - } + if ( pageFn ) { + API.page = function( pager, target ) { + var opts = this.opts(), + index = $( target ).index(), + $slide = $( opts.slides[index] ); + + progressive.navigate( $slide, function( index ) { + return function() { + opts.API.jump( index ); + }; + }(index) ); }; } + + progressive.hydrate = function( $slide, opts ) { + var count = opts.container.find( ".cycle-slide" ).length, + index = $slide.index( ".cycle-slide" ) - 1, + $hydrated = $( $slide.data("cycle.progressive") ).addClass( "cycle-slide" ), + slideOpts = $slide.data( "cycle.opts" ), $images; + + $hydrated.data( "cycle.opts", slideOpts ); + progressive.replaceSlide( $hydrated[0], index, opts ); + opts.container.data( "cycle.opts", opts ); + opts.container.find( ".cycle-slide" ).eq( index + 1 ).replaceWith( $hydrated ); + $images = $hydrated.find( "img" ).andSelf().filter( "img" ); + if ( $images.length ) { + $images.load(function() { + opts.API.trigger( "cycle-slide-hydrated", [opts, slideOpts, $hydrated] ); + }); + } else { + opts.API.trigger( "cycle-slide-hydrated", [opts, slideOpts, $hydrated] ); + } + + return $hydrated; + }; + + progressive.navigate = function( $slide, proceed ) { + if ( $slide.hasClass("cycle-progressive-slide") ) { + opts.container.one( "cycle-slide-hydrated", function( e, opts ) { + if ( proceed ) { proceed(); } + opts.container.removeClass( "cycle-loading" ); + }); + opts.container.addClass( "cycle-loading" ); + progressive.hydrate( $slide, opts ); + } else { + if ( proceed ) { proceed(); } + } + }; + + progressive.replaceSlide = function( newSlide, index, opts ) { + var newSlides = []; + $.each( opts.slides, function(i, slide) { + newSlides.push( i === index ? newSlide : slide ); + }); + opts.slides = $( newSlides ); + }; }); })(jQuery); diff --git a/build/jquery.cycle2.js.map b/build/jquery.cycle2.js.map index 783b2a7..571efb7 100644 --- a/build/jquery.cycle2.js.map +++ b/build/jquery.cycle2.js.map @@ -1 +1 @@ -{"version":3,"file":"build/jquery.cycle2.min.js","sources":["build/jquery.cycle2.js"],"names":["$","lowerCase","s","toLowerCase","version","fn","cycle","options","o","this","length","isReady","each","data","opts","shortName","val","container","log","noop","p","hasOwnProperty","test","match","replace","extend","defaults","timeoutId","paused","_maxZ","maxZ","API","_container","trigger","eventName","args","addInitialSlides","preInitSlideshow","slides","initSlideshow","selector","c","context","slideCount","jquery","find","random","sort","Math","add","tx","transitions","fx","isFunction","preInit","_preInitialized","postInitSlideshow","postInit","slideOpts","pauseObj","calcFirstSlide","css","currSlide","show","stackSlides","nextSlide","reverse","pauseOnHover","hover","pause","resume","timeout","getSlideOpts","queueTransition","delay","_initialized","updateView","alreadyPaused","hoverPaused","addClass","clearTimeout","_remainingTimeout","now","_lastQueue","isNaN","undefined","alreadyResumed","removeClass","filter","prepend","len","oldSlideCount","startSlideshow","type","trim","slide","append","buildSlideOpts","initSlide","firstSlideIndex","parseInt","startingSlide","calcNextSlide","roll","calcTx","manual","manualFx","fade","prepareTx","fwd","after","curr","next","busy","manualTrump","stopTransition","_tx","manualSpeed","speed","before","transition","doTransition","currEl","nextEl","callback","animate","animIn","opacity","easeIn","easing","cssBefore","animOut","easeOut","cssAfter","sync","specificTimeout","loop","setTimeout","stop","advanceSlide","slideNum","e","index","suggestedZindex","slideCss","speeds","_default","slideClass","isAfter","isDuring","slideActiveClass","eq","hideNonActive","hide","getComponent","name","i","z","getSlideIndex","el","window","console","Array","prototype","join","call","arguments","custom","none","display","fadeout","scrollHorz","w","width","left","top","zIndex","allowWrap","autoSelector","position","document","ready","jQuery","initAutoHeight","clone","height","sentinelIndex","autoHeight","outerHeight","_autoHeightRatio","calcSentinelIndex","_sentinelIndex","_sentinel","remove","cloneNode","removeAttr","visibility","prependTo","max","h","onBefore","outgoing","incoming","autoHeightSpeed","autoHeightEasing","onDestroy","_autoHeightOnResize","off","on","onResize","ratio","t","resizeThrottle","caption","captionTemplate","overlay","overlayTemplate","captionModule","template","html","tmpl","empty","c2","cmd","cmdFn","makeArray","cmdArgs","shift","apply","count","prev","destroy","clean","_data","removeData","retainStylesOnDestroy","jump","num","reinit","slideToRemove","push","preventDefault","command","onHashChange","setStartingSlide","hash","_hashFence","location","substring","_onHashChange","loader","addSlide","slideArr","sorter","addFn","a","b","appendTo","imageLoaded","images","is","complete","load","src","buildPagerLink","pagerLink","pagers","pager","pagerTemplate","markup","children","pagerEvent","page","currentTarget","target","pagerActiveClass","slideAdded","nextEvent","disabledClass","prevEvent","swipe","swipeVert","cls","prevBoundry","_prevBoundry","nextBoundry","_nextBoundry","prop","progressive","scriptEl","nextFn","prevFn","prepareTxFn","parseJSON","err","split","RegExp","pop","slice","one","tmplRegex","str","regex","_","j","obj","names"],"mappings":"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","sourceRoot":"http://malsup.github.io/"} \ No newline at end of file +{"version":3,"file":"build/jquery.cycle2.min.js","sources":["build/jquery.cycle2.js"],"names":["$","lowerCase","s","toLowerCase","version","fn","cycle","options","o","this","length","isReady","each","data","opts","shortName","val","container","log","noop","p","hasOwnProperty","test","match","replace","extend","defaults","timeoutId","paused","_maxZ","maxZ","API","_container","trigger","eventName","args","addInitialSlides","preInitSlideshow","slides","initSlideshow","selector","c","context","slideCount","jquery","find","random","sort","Math","add","tx","transitions","fx","isFunction","preInit","_preInitialized","postInitSlideshow","postInit","slideOpts","pauseObj","calcFirstSlide","css","currSlide","show","stackSlides","nextSlide","reverse","pauseOnHover","hover","pause","resume","timeout","getSlideOpts","queueTransition","delay","_initialized","updateView","alreadyPaused","hoverPaused","addClass","clearTimeout","_remainingTimeout","now","_lastQueue","isNaN","undefined","alreadyResumed","removeClass","filter","prepend","len","oldSlideCount","startSlideshow","type","trim","slide","append","buildSlideOpts","initSlide","firstSlideIndex","parseInt","startingSlide","calcNextSlide","roll","calcTx","manual","manualFx","fade","prepareTx","fwd","after","curr","next","busy","manualTrump","stopTransition","_tx","manualSpeed","speed","before","transition","doTransition","currEl","nextEl","callback","animate","animIn","opacity","easeIn","easing","cssBefore","animOut","easeOut","cssAfter","sync","specificTimeout","loop","setTimeout","stop","advanceSlide","slideNum","e","index","suggestedZindex","slideCss","speeds","_default","slideClass","isAfter","isDuring","slideActiveClass","eq","hideNonActive","hide","getComponent","name","i","z","getSlideIndex","el","window","console","Array","prototype","join","call","arguments","custom","none","display","fadeout","scrollHorz","w","width","left","top","zIndex","allowWrap","autoSelector","position","document","ready","jQuery","initAutoHeight","clone","height","sentinelIndex","autoHeight","outerHeight","_autoHeightRatio","calcSentinelIndex","_sentinelIndex","_sentinel","remove","cloneNode","removeAttr","visibility","prependTo","max","h","onBefore","outgoing","incoming","autoHeightSpeed","autoHeightEasing","onDestroy","_autoHeightOnResize","off","on","onResize","ratio","t","resizeThrottle","caption","captionTemplate","overlay","overlayTemplate","captionModule","template","html","tmpl","empty","c2","cmd","cmdFn","makeArray","cmdArgs","shift","apply","count","prev","destroy","clean","_data","removeData","retainStylesOnDestroy","jump","num","reinit","slideToRemove","push","preventDefault","command","onHashChange","setStartingSlide","hash","_hashFence","location","substring","_onHashChange","loader","addSlide","slideArr","sorter","addFn","a","b","appendTo","imageLoaded","images","is","complete","load","src","buildPagerLink","pagerLink","pagers","pager","pagerTemplate","markup","children","pagerEvent","page","currentTarget","target","pagerActiveClass","slideAdded","nextEvent","disabledClass","prevEvent","swipe","swipeVert","cls","prevBoundry","_prevBoundry","nextBoundry","_nextBoundry","prop","progressive","scriptEl","nodeName","prepareTxFn","pageFn","parseJSON","err","split","RegExp","pop","buildSlide","$slide","navigate","api","hydrate","$images","$hydrated","replaceSlide","replaceWith","andSelf","proceed","hasClass","one","newSlide","newSlides","tmplRegex","str","regex","_","j","obj","names"],"mappings":"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","sourceRoot":"http://malsup.github.io/"} \ No newline at end of file diff --git a/build/jquery.cycle2.min.js b/build/jquery.cycle2.min.js index cf4d7bd..b8d1a8d 100644 --- a/build/jquery.cycle2.min.js +++ b/build/jquery.cycle2.min.js @@ -1,16 +1,16 @@ /*! -* jQuery Cycle2; version: 2.0.2 build: 20140114 +* jQuery Cycle2; version: 2.0.2 build: 20140123 * http://jquery.malsup.com/cycle2/ * Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL */ -(function(e){"use strict";function t(e){return(e||"").toLowerCase()}var i="2.0.2";e.fn.cycle=function(i){var n;return 0!==this.length||e.isReady?this.each(function(){var n,s,o,c,r=e(this),a=e.fn.cycle.log;if(!r.data("cycle.opts")){(r.data("cycle-log")===!1||i&&i.log===!1||s&&s.log===!1)&&(a=e.noop),a("--c2 init--"),n=r.data();for(var l in n)n.hasOwnProperty(l)&&/^cycle[A-Z]+/.test(l)&&(c=n[l],o=l.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,t),a(o+":",c,"("+typeof c+")"),n[o]=c);s=e.extend({},e.fn.cycle.defaults,n,i||{}),s.timeoutId=0,s.paused=s.paused||!1,s.container=r,s._maxZ=s.maxZ,s.API=e.extend({_container:r},e.fn.cycle.API),s.API.log=a,s.API.trigger=function(e,t){return s.container.trigger(e,t),s.API},r.data("cycle.opts",s),r.data("cycle.API",s.API),s.API.trigger("cycle-bootstrap",[s,s.API]),s.API.addInitialSlides(),s.API.preInitSlideshow(),s.slides.length&&s.API.initSlideshow()}}):(n={s:this.selector,c:this.context},e.fn.cycle.log("requeuing slideshow (dom not ready)"),e(function(){e(n.s,n.c).cycle(i)}),this)},e.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var t=this.opts(),i=t.slides;t.slideCount=0,t.slides=e(),i=i.jquery?i:t.container.find(i),t.random&&i.sort(function(){return Math.random()-.5}),t.API.add(i)},preInitSlideshow:function(){var t=this.opts();t.API.trigger("cycle-pre-initialize",[t]);var i=e.fn.cycle.transitions[t.fx];i&&e.isFunction(i.preInit)&&i.preInit(t),t._preInitialized=!0},postInitSlideshow:function(){var t=this.opts();t.API.trigger("cycle-post-initialize",[t]);var i=e.fn.cycle.transitions[t.fx];i&&e.isFunction(i.postInit)&&i.postInit(t)},initSlideshow:function(){var t,i=this.opts(),n=i.container;i.API.calcFirstSlide(),"static"==i.container.css("position")&&i.container.css("position","relative"),e(i.slides[i.currSlide]).css("opacity",1).show(),i.API.stackSlides(i.slides[i.currSlide],i.slides[i.nextSlide],!i.reverse),i.pauseOnHover&&(i.pauseOnHover!==!0&&(n=e(i.pauseOnHover)),n.hover(function(){i.API.pause(!0)},function(){i.API.resume(!0)})),i.timeout&&(t=i.API.getSlideOpts(i.currSlide),i.API.queueTransition(t,t.timeout+i.delay)),i._initialized=!0,i.API.updateView(!0),i.API.trigger("cycle-initialized",[i]),i.API.postInitSlideshow()},pause:function(t){var i=this.opts(),n=i.API.getSlideOpts(),s=i.hoverPaused||i.paused;t?i.hoverPaused=!0:i.paused=!0,s||(i.container.addClass("cycle-paused"),i.API.trigger("cycle-paused",[i]).log("cycle-paused"),n.timeout&&(clearTimeout(i.timeoutId),i.timeoutId=0,i._remainingTimeout-=e.now()-i._lastQueue,(0>i._remainingTimeout||isNaN(i._remainingTimeout))&&(i._remainingTimeout=void 0)))},resume:function(e){var t=this.opts(),i=!t.hoverPaused&&!t.paused;e?t.hoverPaused=!1:t.paused=!1,i||(t.container.removeClass("cycle-paused"),0===t.slides.filter(":animated").length&&t.API.queueTransition(t.API.getSlideOpts(),t._remainingTimeout),t.API.trigger("cycle-resumed",[t,t._remainingTimeout]).log("cycle-resumed"))},add:function(t,i){var n,s=this.opts(),o=s.slideCount,c=!1;"string"==e.type(t)&&(t=e.trim(t)),e(t).each(function(){var t,n=e(this);i?s.container.prepend(n):s.container.append(n),s.slideCount++,t=s.API.buildSlideOpts(n),s.slides=i?e(n).add(s.slides):s.slides.add(n),s.API.initSlide(t,n,--s._maxZ),n.data("cycle.opts",t),s.API.trigger("cycle-slide-added",[s,t,n])}),s.API.updateView(!0),c=s._preInitialized&&2>o&&s.slideCount>=1,c&&(s._initialized?s.timeout&&(n=s.slides.length,s.nextSlide=s.reverse?n-1:1,s.timeoutId||s.API.queueTransition(s)):s.API.initSlideshow())},calcFirstSlide:function(){var e,t=this.opts();e=parseInt(t.startingSlide||0,10),(e>=t.slides.length||0>e)&&(e=0),t.currSlide=e,t.reverse?(t.nextSlide=e-1,0>t.nextSlide&&(t.nextSlide=t.slides.length-1)):(t.nextSlide=e+1,t.nextSlide==t.slides.length&&(t.nextSlide=0))},calcNextSlide:function(){var e,t=this.opts();t.reverse?(e=0>t.nextSlide-1,t.nextSlide=e?t.slideCount-1:t.nextSlide-1,t.currSlide=e?0:t.nextSlide+1):(e=t.nextSlide+1==t.slides.length,t.nextSlide=e?0:t.nextSlide+1,t.currSlide=e?t.slides.length-1:t.nextSlide-1)},calcTx:function(t,i){var n,s=t;return i&&s.manualFx&&(n=e.fn.cycle.transitions[s.manualFx]),n||(n=e.fn.cycle.transitions[s.fx]),n||(n=e.fn.cycle.transitions.fade,s.API.log('Transition "'+s.fx+'" not found. Using fade.')),n},prepareTx:function(e,t){var i,n,s,o,c,r=this.opts();return 2>r.slideCount?(r.timeoutId=0,void 0):(!e||r.busy&&!r.manualTrump||(r.API.stopTransition(),r.busy=!1,clearTimeout(r.timeoutId),r.timeoutId=0),r.busy||(0!==r.timeoutId||e)&&(n=r.slides[r.currSlide],s=r.slides[r.nextSlide],o=r.API.getSlideOpts(r.nextSlide),c=r.API.calcTx(o,e),r._tx=c,e&&void 0!==o.manualSpeed&&(o.speed=o.manualSpeed),r.nextSlide!=r.currSlide&&(e||!r.paused&&!r.hoverPaused&&r.timeout)?(r.API.trigger("cycle-before",[o,n,s,t]),c.before&&c.before(o,n,s,t),i=function(){r.busy=!1,r.container.data("cycle.opts")&&(c.after&&c.after(o,n,s,t),r.API.trigger("cycle-after",[o,n,s,t]),r.API.queueTransition(o),r.API.updateView(!0))},r.busy=!0,c.transition?c.transition(o,n,s,t,i):r.API.doTransition(o,n,s,t,i),r.API.calcNextSlide(),r.API.updateView()):r.API.queueTransition(o)),void 0)},doTransition:function(t,i,n,s,o){var c=t,r=e(i),a=e(n),l=function(){a.animate(c.animIn||{opacity:1},c.speed,c.easeIn||c.easing,o)};a.css(c.cssBefore||{}),r.animate(c.animOut||{},c.speed,c.easeOut||c.easing,function(){r.css(c.cssAfter||{}),c.sync||l()}),c.sync&&l()},queueTransition:function(t,i){var n=this.opts(),s=void 0!==i?i:t.timeout;return 0===n.nextSlide&&0===--n.loop?(n.API.log("terminating; loop=0"),n.timeout=0,s?setTimeout(function(){n.API.trigger("cycle-finished",[n])},s):n.API.trigger("cycle-finished",[n]),n.nextSlide=n.currSlide,void 0):(s&&(n._lastQueue=e.now(),void 0===i&&(n._remainingTimeout=t.timeout),n.paused||n.hoverPaused||(n.timeoutId=setTimeout(function(){n.API.prepareTx(!1,!n.reverse)},s))),void 0)},stopTransition:function(){var e=this.opts();e.slides.filter(":animated").length&&(e.slides.stop(!1,!0),e.API.trigger("cycle-transition-stopped",[e])),e._tx&&e._tx.stopTransition&&e._tx.stopTransition(e)},advanceSlide:function(e){var t=this.opts();return clearTimeout(t.timeoutId),t.timeoutId=0,t.nextSlide=t.currSlide+e,0>t.nextSlide?t.nextSlide=t.slides.length-1:t.nextSlide>=t.slides.length&&(t.nextSlide=0),t.API.prepareTx(!0,e>=0),!1},buildSlideOpts:function(i){var n,s,o=this.opts(),c=i.data()||{};for(var r in c)c.hasOwnProperty(r)&&/^cycle[A-Z]+/.test(r)&&(n=c[r],s=r.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,t),o.API.log("["+(o.slideCount-1)+"]",s+":",n,"("+typeof n+")"),c[s]=n);c=e.extend({},e.fn.cycle.defaults,o,c),c.slideNum=o.slideCount;try{delete c.API,delete c.slideCount,delete c.currSlide,delete c.nextSlide,delete c.slides}catch(a){}return c},getSlideOpts:function(t){var i=this.opts();void 0===t&&(t=i.currSlide);var n=i.slides[t],s=e(n).data("cycle.opts");return e.extend({},i,s)},initSlide:function(t,i,n){var s=this.opts();i.css(t.slideCss||{}),n>0&&i.css("zIndex",n),isNaN(t.speed)&&(t.speed=e.fx.speeds[t.speed]||e.fx.speeds._default),t.sync||(t.speed=t.speed/2),i.addClass(s.slideClass)},updateView:function(e,t){var i=this.opts();if(i._initialized){var n=i.API.getSlideOpts(),s=i.slides[i.currSlide];!e&&t!==!0&&(i.API.trigger("cycle-update-view-before",[i,n,s]),0>i.updateView)||(i.slideActiveClass&&i.slides.removeClass(i.slideActiveClass).eq(i.currSlide).addClass(i.slideActiveClass),e&&i.hideNonActive&&i.slides.filter(":not(."+i.slideActiveClass+")").hide(),0===i.updateView&&setTimeout(function(){i.API.trigger("cycle-update-view",[i,n,s,e])},n.speed/(i.sync?2:1)),0!==i.updateView&&i.API.trigger("cycle-update-view",[i,n,s,e]),e&&i.API.trigger("cycle-update-view-after",[i,n,s]))}},getComponent:function(t){var i=this.opts(),n=i[t];return"string"==typeof n?/^\s*[\>|\+|~]/.test(n)?i.container.find(n):e(n):n.jquery?n:e(n)},stackSlides:function(t,i,n){var s=this.opts();t||(t=s.slides[s.currSlide],i=s.slides[s.nextSlide],n=!s.reverse),e(t).css("zIndex",s.maxZ);var o,c=s.maxZ-2,r=s.slideCount;if(n){for(o=s.currSlide+1;r>o;o++)e(s.slides[o]).css("zIndex",c--);for(o=0;s.currSlide>o;o++)e(s.slides[o]).css("zIndex",c--)}else{for(o=s.currSlide-1;o>=0;o--)e(s.slides[o]).css("zIndex",c--);for(o=r-1;o>s.currSlide;o--)e(s.slides[o]).css("zIndex",c--)}e(i).css("zIndex",s.maxZ-1)},getSlideIndex:function(e){return this.opts().slides.index(e)}},e.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))},e.fn.cycle.version=function(){return"Cycle2: "+i},e.fn.cycle.transitions={custom:{},none:{before:function(e,t,i,n){e.API.stackSlides(i,t,n),e.cssBefore={opacity:1,display:"block"}}},fade:{before:function(t,i,n,s){var o=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,n,s),t.cssBefore=e.extend(o,{opacity:0,display:"block"}),t.animIn={opacity:1},t.animOut={opacity:0}}},fadeout:{before:function(t,i,n,s){var o=t.API.getSlideOpts(t.nextSlide).slideCss||{};t.API.stackSlides(i,n,s),t.cssBefore=e.extend(o,{opacity:1,display:"block"}),t.animOut={opacity:0}}},scrollHorz:{before:function(e,t,i,n){e.API.stackSlides(t,i,n);var s=e.container.css("overflow","hidden").width();e.cssBefore={left:n?s:-s,top:0,opacity:1,display:"block"},e.cssAfter={zIndex:e._maxZ-2,left:0},e.animIn={left:0},e.animOut={left:n?-s:s}}}},e.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},e(document).ready(function(){e(e.fn.cycle.defaults.autoSelector).cycle()})})(jQuery),/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */ -function(e){"use strict";function t(t,n){var s,o,c,r=n.autoHeight;if("container"==r)o=e(n.slides[n.currSlide]).outerHeight(),n.container.height(o);else if(n._autoHeightRatio)n.container.height(n.container.width()/n._autoHeightRatio);else if("calc"===r||"number"==e.type(r)&&r>=0){if(c="calc"===r?i(t,n):r>=n.slides.length?0:r,c==n._sentinelIndex)return;n._sentinelIndex=c,n._sentinel&&n._sentinel.remove(),s=e(n.slides[c].cloneNode(!0)),s.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),s.css({position:"static",visibility:"hidden",display:"block"}).prependTo(n.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),s.find("*").css("visibility","hidden"),n._sentinel=s}}function i(t,i){var n=0,s=-1;return i.slides.each(function(t){var i=e(this).height();i>s&&(s=i,n=t)}),n}function n(t,i,n,s){var o=e(s).outerHeight();i.container.animate({height:o},i.autoHeightSpeed,i.autoHeightEasing)}function s(i,o){o._autoHeightOnResize&&(e(window).off("resize orientationchange",o._autoHeightOnResize),o._autoHeightOnResize=null),o.container.off("cycle-slide-added cycle-slide-removed",t),o.container.off("cycle-destroyed",s),o.container.off("cycle-before",n),o._sentinel&&(o._sentinel.remove(),o._sentinel=null)}e.extend(e.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),e(document).on("cycle-initialized",function(i,o){function c(){t(i,o)}var r,a=o.autoHeight,l=e.type(a),d=null;("string"===l||"number"===l)&&(o.container.on("cycle-slide-added cycle-slide-removed",t),o.container.on("cycle-destroyed",s),"container"==a?o.container.on("cycle-before",n):"string"===l&&/\d+\:\d+/.test(a)&&(r=a.match(/(\d+)\:(\d+)/),r=r[1]/r[2],o._autoHeightRatio=r),"number"!==l&&(o._autoHeightOnResize=function(){clearTimeout(d),d=setTimeout(c,50)},e(window).on("resize orientationchange",o._autoHeightOnResize)),setTimeout(c,30))})}(jQuery),/*! caption plugin for Cycle2; version: 20130306 */ -function(e){"use strict";e.extend(e.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),e(document).on("cycle-update-view",function(t,i,n,s){"caption"===i.captionModule&&e.each(["caption","overlay"],function(){var e=this,t=n[e+"Template"],o=i.API.getComponent(e);o.length&&t?(o.html(i.API.tmpl(t,n,i,s)),o.show()):o.hide()})}),e(document).on("cycle-destroyed",function(t,i){var n;e.each(["caption","overlay"],function(){var e=this,t=i[e+"Template"];i[e]&&t&&(n=i.API.getComponent("caption"),n.empty())})})}(jQuery),/*! command plugin for Cycle2; version: 20130707 */ -function(e){"use strict";var t=e.fn.cycle;e.fn.cycle=function(i){var n,s,o,c=e.makeArray(arguments);return"number"==e.type(i)?this.cycle("goto",i):"string"==e.type(i)?this.each(function(){var r;return n=i,o=e(this).data("cycle.opts"),void 0===o?(t.log('slideshow must be initialized before sending commands; "'+n+'" ignored'),void 0):(n="goto"==n?"jump":n,s=o.API[n],e.isFunction(s)?(r=e.makeArray(c),r.shift(),s.apply(o.API,r)):(t.log("unknown command: ",n),void 0))}):t.apply(this,arguments)},e.extend(e.fn.cycle,t),e.extend(t.API,{next:function(){var e=this.opts();if(!e.busy||e.manualTrump){var t=e.reverse?-1:1;e.allowWrap===!1&&e.currSlide+t>=e.slideCount||(e.API.advanceSlide(t),e.API.trigger("cycle-next",[e]).log("cycle-next"))}},prev:function(){var e=this.opts();if(!e.busy||e.manualTrump){var t=e.reverse?1:-1;e.allowWrap===!1&&0>e.currSlide+t||(e.API.advanceSlide(t),e.API.trigger("cycle-prev",[e]).log("cycle-prev"))}},destroy:function(){this.stop();var t=this.opts(),i=e.isFunction(e._data)?e._data:e.noop;clearTimeout(t.timeoutId),t.timeoutId=0,t.API.stop(),t.API.trigger("cycle-destroyed",[t]).log("cycle-destroyed"),t.container.removeData(),i(t.container[0],"parsedAttrs",!1),t.retainStylesOnDestroy||(t.container.removeAttr("style"),t.slides.removeAttr("style"),t.slides.removeClass(t.slideActiveClass)),t.slides.each(function(){e(this).removeData(),i(this,"parsedAttrs",!1)})},jump:function(e){var t,i=this.opts();if(!i.busy||i.manualTrump){var n=parseInt(e,10);if(isNaN(n)||0>n||n>=i.slides.length)return i.API.log("goto: invalid slide index: "+n),void 0;if(n==i.currSlide)return i.API.log("goto: skipping, already on slide",n),void 0;i.nextSlide=n,clearTimeout(i.timeoutId),i.timeoutId=0,i.API.log("goto: ",n," (zero-index)"),t=i.currSlider;r++)i=s.slides[r],r==t?n=i:(o.push(i),e(i).data("cycle.opts").slideNum=c,c++);n&&(s.slides=e(o),s.slideCount--,e(n).remove(),t==s.currSlide?s.API.advanceSlide(1):s.currSlide>t?s.currSlide--:s.currSlide++,s.API.trigger("cycle-slide-removed",[s,t,n]).log("cycle-slide-removed"),s.API.updateView())}}),e(document).on("click.cycle","[data-cycle-cmd]",function(t){t.preventDefault();var i=e(this),n=i.data("cycle-cmd"),s=i.data("cycle-context")||".cycle-slideshow";e(s).cycle(n,i.data("cycle-arg"))})}(jQuery),/*! hash plugin for Cycle2; version: 20130905 */ -function(e){"use strict";function t(t,i){var n;return t._hashFence?(t._hashFence=!1,void 0):(n=window.location.hash.substring(1),t.slides.each(function(s){if(e(this).data("cycle-hash")==n){if(i===!0)t.startingSlide=s;else{var o=s>t.currSlide;t.nextSlide=s,t.API.prepareTx(!0,o)}return!1}}),void 0)}e(document).on("cycle-pre-initialize",function(i,n){t(n,!0),n._onHashChange=function(){t(n,!1)},e(window).on("hashchange",n._onHashChange)}),e(document).on("cycle-update-view",function(e,t,i){i.hash&&"#"+i.hash!=window.location.hash&&(t._hashFence=!0,window.location.hash=i.hash)}),e(document).on("cycle-destroyed",function(t,i){i._onHashChange&&e(window).off("hashchange",i._onHashChange)})}(jQuery),/*! loader plugin for Cycle2; version: 20131121 */ -function(e){"use strict";e.extend(e.fn.cycle.defaults,{loader:!1}),e(document).on("cycle-bootstrap",function(t,i){function n(t,n){function o(t){var o;"wait"==i.loader?(r.push(t),0===l&&(r.sort(c),s.apply(i.API,[r,n]),i.container.removeClass("cycle-loading"))):(o=e(i.slides[i.currSlide]),s.apply(i.API,[t,n]),o.show(),i.container.removeClass("cycle-loading"))}function c(e,t){return e.data("index")-t.data("index")}var r=[];if("string"==e.type(t))t=e.trim(t);else if("array"===e.type(t))for(var a=0;t.length>a;a++)t[a]=e(t[a])[0];t=e(t);var l=t.length;l&&(t.hide().appendTo("body").each(function(t){function c(){0===--a&&(--l,o(d))}var a=0,d=e(this),u=d.is("img")?d:d.find("img");return d.data("index",t),u=u.filter(":not(.cycle-loader-ignore)").filter(':not([src=""])'),u.length?(a=u.length,u.each(function(){this.complete?c():e(this).load(function(){c()}).on("error",function(){0===--a&&(i.API.log("slide skipped; img not loaded:",this.src),0===--l&&"wait"==i.loader&&s.apply(i.API,[r,n]))})}),void 0):(--l,r.push(d),void 0)}),l&&i.container.addClass("cycle-loading"))}var s;i.loader&&(s=i.API.add,i.API.add=n)})}(jQuery),/*! pager plugin for Cycle2; version: 20130525 */ -function(e){"use strict";function t(t,i,n){var s,o=t.API.getComponent("pager");o.each(function(){var o=e(this);if(i.pagerTemplate){var c=t.API.tmpl(i.pagerTemplate,i,t,n[0]);s=e(c).appendTo(o)}else s=o.children().eq(t.slideCount-1);s.on(t.pagerEvent,function(e){e.preventDefault(),t.API.page(o,e.currentTarget)})})}function i(e,t){var i=this.opts();if(!i.busy||i.manualTrump){var n=e.children().index(t),s=n,o=s>i.currSlide;i.currSlide!=s&&(i.nextSlide=s,i.API.prepareTx(!0,o),i.API.trigger("cycle-pager-activated",[i,e,t]))}}e.extend(e.fn.cycle.defaults,{pager:"> .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),e(document).on("cycle-bootstrap",function(e,i,n){n.buildPagerLink=t}),e(document).on("cycle-slide-added",function(e,t,n,s){t.pager&&(t.API.buildPagerLink(t,n,s),t.API.page=i)}),e(document).on("cycle-slide-removed",function(t,i,n){if(i.pager){var s=i.API.getComponent("pager");s.each(function(){var t=e(this);e(t.children()[n]).remove()})}}),e(document).on("cycle-update-view",function(t,i){var n;i.pager&&(n=i.API.getComponent("pager"),n.each(function(){e(this).children().removeClass(i.pagerActiveClass).eq(i.currSlide).addClass(i.pagerActiveClass)}))}),e(document).on("cycle-destroyed",function(e,t){var i=t.API.getComponent("pager");i&&(i.children().off(t.pagerEvent),t.pagerTemplate&&i.empty())})}(jQuery),/*! prevnext plugin for Cycle2; version: 20130709 */ -function(e){"use strict";e.extend(e.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),e(document).on("cycle-initialized",function(e,t){if(t.API.getComponent("next").on(t.nextEvent,function(e){e.preventDefault(),t.API.next()}),t.API.getComponent("prev").on(t.prevEvent,function(e){e.preventDefault(),t.API.prev()}),t.swipe){var i=t.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",n=t.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";t.container.on(i,function(){t.API.next()}),t.container.on(n,function(){t.API.prev()})}}),e(document).on("cycle-update-view",function(e,t){if(!t.allowWrap){var i=t.disabledClass,n=t.API.getComponent("next"),s=t.API.getComponent("prev"),o=t._prevBoundry||0,c=void 0!==t._nextBoundry?t._nextBoundry:t.slideCount-1;t.currSlide==c?n.addClass(i).prop("disabled",!0):n.removeClass(i).prop("disabled",!1),t.currSlide===o?s.addClass(i).prop("disabled",!0):s.removeClass(i).prop("disabled",!1)}}),e(document).on("cycle-destroyed",function(e,t){t.API.getComponent("prev").off(t.nextEvent),t.API.getComponent("next").off(t.prevEvent),t.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2; version: 20130315 */ -function(e){"use strict";e.extend(e.fn.cycle.defaults,{progressive:!1}),e(document).on("cycle-pre-initialize",function(t,i){if(i.progressive){var n,s,o=i.API,c=o.next,r=o.prev,a=o.prepareTx,l=e.type(i.progressive);if("array"==l)n=i.progressive;else if(e.isFunction(i.progressive))n=i.progressive(i);else if("string"==l){if(s=e(i.progressive),n=e.trim(s.html()),!n)return;if(/^(\[)/.test(n))try{n=e.parseJSON(n)}catch(d){return o.log("error parsing progressive slides",d),void 0}else n=n.split(RegExp(s.data("cycle-split")||"\n")),n[n.length-1]||n.pop()}a&&(o.prepareTx=function(e,t){var s,o;return e||0===n.length?(a.apply(i.API,[e,t]),void 0):(t&&i.currSlide==i.slideCount-1?(o=n[0],n=n.slice(1),i.container.one("cycle-slide-added",function(e,t){setTimeout(function(){t.API.advanceSlide(1)},50)}),i.API.add(o)):t||0!==i.currSlide?a.apply(i.API,[e,t]):(s=n.length-1,o=n[s],n=n.slice(0,s),i.container.one("cycle-slide-added",function(e,t){setTimeout(function(){t.currSlide=1,t.API.advanceSlide(-1)},50)}),i.API.add(o,!0)),void 0)}),c&&(o.next=function(){var e=this.opts();if(n.length&&e.currSlide==e.slideCount-1){var t=n[0];n=n.slice(1),e.container.one("cycle-slide-added",function(e,t){c.apply(t.API),t.container.removeClass("cycle-loading")}),e.container.addClass("cycle-loading"),e.API.add(t)}else c.apply(e.API)}),r&&(o.prev=function(){var e=this.opts();if(n.length&&0===e.currSlide){var t=n.length-1,i=n[t];n=n.slice(0,t),e.container.one("cycle-slide-added",function(e,t){t.currSlide=1,t.API.advanceSlide(-1),t.container.removeClass("cycle-loading")}),e.container.addClass("cycle-loading"),e.API.add(i,!0)}else r.apply(e.API)})}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ -function(e){"use strict";e.extend(e.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),e.extend(e.fn.cycle.API,{tmpl:function(t,i){var n=RegExp(i.tmplRegex||e.fn.cycle.defaults.tmplRegex,"g"),s=e.makeArray(arguments);return s.shift(),t.replace(n,function(t,i){var n,o,c,r,a=i.split(".");for(n=0;s.length>n;n++)if(c=s[n]){if(a.length>1)for(r=c,o=0;a.length>o;o++)c=r,r=r[a[o]]||i;else r=c[i];if(e.isFunction(r))return r.apply(c,s);if(void 0!==r&&null!==r&&r!=i)return r}return i})}})}(jQuery); -//@ sourceMappingURL=jquery.cycle2.js.map \ No newline at end of file +!function(a){"use strict";function b(a){return(a||"").toLowerCase()}var c="2.0.2";a.fn.cycle=function(c){var d;return 0!==this.length||a.isReady?this.each(function(){var d,e,f,g,h=a(this),i=a.fn.cycle.log;if(!h.data("cycle.opts")){(h.data("cycle-log")===!1||c&&c.log===!1||e&&e.log===!1)&&(i=a.noop),i("--c2 init--"),d=h.data();for(var j in d)d.hasOwnProperty(j)&&/^cycle[A-Z]+/.test(j)&&(g=d[j],f=j.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),i(f+":",g,"("+typeof g+")"),d[f]=g);e=a.extend({},a.fn.cycle.defaults,d,c||{}),e.timeoutId=0,e.paused=e.paused||!1,e.container=h,e._maxZ=e.maxZ,e.API=a.extend({_container:h},a.fn.cycle.API),e.API.log=i,e.API.trigger=function(a,b){return e.container.trigger(a,b),e.API},h.data("cycle.opts",e),h.data("cycle.API",e.API),e.API.trigger("cycle-bootstrap",[e,e.API]),e.API.addInitialSlides(),e.API.preInitSlideshow(),e.slides.length&&e.API.initSlideshow()}}):(d={s:this.selector,c:this.context},a.fn.cycle.log("requeuing slideshow (dom not ready)"),a(function(){a(d.s,d.c).cycle(c)}),this)},a.fn.cycle.API={opts:function(){return this._container.data("cycle.opts")},addInitialSlides:function(){var b=this.opts(),c=b.slides;b.slideCount=0,b.slides=a(),c=c.jquery?c:b.container.find(c),b.random&&c.sort(function(){return Math.random()-.5}),b.API.add(c)},preInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-pre-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.preInit)&&c.preInit(b),b._preInitialized=!0},postInitSlideshow:function(){var b=this.opts();b.API.trigger("cycle-post-initialize",[b]);var c=a.fn.cycle.transitions[b.fx];c&&a.isFunction(c.postInit)&&c.postInit(b)},initSlideshow:function(){var b,c=this.opts(),d=c.container;c.API.calcFirstSlide(),"static"==c.container.css("position")&&c.container.css("position","relative"),a(c.slides[c.currSlide]).css("opacity",1).show(),c.API.stackSlides(c.slides[c.currSlide],c.slides[c.nextSlide],!c.reverse),c.pauseOnHover&&(c.pauseOnHover!==!0&&(d=a(c.pauseOnHover)),d.hover(function(){c.API.pause(!0)},function(){c.API.resume(!0)})),c.timeout&&(b=c.API.getSlideOpts(c.currSlide),c.API.queueTransition(b,b.timeout+c.delay)),c._initialized=!0,c.API.updateView(!0),c.API.trigger("cycle-initialized",[c]),c.API.postInitSlideshow()},pause:function(b){var c=this.opts(),d=c.API.getSlideOpts(),e=c.hoverPaused||c.paused;b?c.hoverPaused=!0:c.paused=!0,e||(c.container.addClass("cycle-paused"),c.API.trigger("cycle-paused",[c]).log("cycle-paused"),d.timeout&&(clearTimeout(c.timeoutId),c.timeoutId=0,c._remainingTimeout-=a.now()-c._lastQueue,(c._remainingTimeout<0||isNaN(c._remainingTimeout))&&(c._remainingTimeout=void 0)))},resume:function(a){var b=this.opts(),c=!b.hoverPaused&&!b.paused;a?b.hoverPaused=!1:b.paused=!1,c||(b.container.removeClass("cycle-paused"),0===b.slides.filter(":animated").length&&b.API.queueTransition(b.API.getSlideOpts(),b._remainingTimeout),b.API.trigger("cycle-resumed",[b,b._remainingTimeout]).log("cycle-resumed"))},add:function(b,c){var d,e=this.opts(),f=e.slideCount,g=!1;"string"==a.type(b)&&(b=a.trim(b)),a(b).each(function(){var b,d=a(this);c?e.container.prepend(d):e.container.append(d),e.slideCount++,b=e.API.buildSlideOpts(d),e.slides=c?a(d).add(e.slides):e.slides.add(d),e.API.initSlide(b,d,--e._maxZ),d.data("cycle.opts",b),e.API.trigger("cycle-slide-added",[e,b,d])}),e.API.updateView(!0),g=e._preInitialized&&2>f&&e.slideCount>=1,g&&(e._initialized?e.timeout&&(d=e.slides.length,e.nextSlide=e.reverse?d-1:1,e.timeoutId||e.API.queueTransition(e)):e.API.initSlideshow())},calcFirstSlide:function(){var a,b=this.opts();a=parseInt(b.startingSlide||0,10),(a>=b.slides.length||0>a)&&(a=0),b.currSlide=a,b.reverse?(b.nextSlide=a-1,b.nextSlide<0&&(b.nextSlide=b.slides.length-1)):(b.nextSlide=a+1,b.nextSlide==b.slides.length&&(b.nextSlide=0))},calcNextSlide:function(){var a,b=this.opts();b.reverse?(a=b.nextSlide-1<0,b.nextSlide=a?b.slideCount-1:b.nextSlide-1,b.currSlide=a?0:b.nextSlide+1):(a=b.nextSlide+1==b.slides.length,b.nextSlide=a?0:b.nextSlide+1,b.currSlide=a?b.slides.length-1:b.nextSlide-1)},calcTx:function(b,c){var d,e=b;return c&&e.manualFx&&(d=a.fn.cycle.transitions[e.manualFx]),d||(d=a.fn.cycle.transitions[e.fx]),d||(d=a.fn.cycle.transitions.fade,e.API.log('Transition "'+e.fx+'" not found. Using fade.')),d},prepareTx:function(a,b){var c,d,e,f,g,h=this.opts();return h.slideCount<2?void(h.timeoutId=0):(!a||h.busy&&!h.manualTrump||(h.API.stopTransition(),h.busy=!1,clearTimeout(h.timeoutId),h.timeoutId=0),void(h.busy||(0!==h.timeoutId||a)&&(d=h.slides[h.currSlide],e=h.slides[h.nextSlide],f=h.API.getSlideOpts(h.nextSlide),g=h.API.calcTx(f,a),h._tx=g,a&&void 0!==f.manualSpeed&&(f.speed=f.manualSpeed),h.nextSlide!=h.currSlide&&(a||!h.paused&&!h.hoverPaused&&h.timeout)?(h.API.trigger("cycle-before",[f,d,e,b]),g.before&&g.before(f,d,e,b),c=function(){h.busy=!1,h.container.data("cycle.opts")&&(g.after&&g.after(f,d,e,b),h.API.trigger("cycle-after",[f,d,e,b]),h.API.queueTransition(f),h.API.updateView(!0))},h.busy=!0,g.transition?g.transition(f,d,e,b,c):h.API.doTransition(f,d,e,b,c),h.API.calcNextSlide(),h.API.updateView()):h.API.queueTransition(f))))},doTransition:function(b,c,d,e,f){var g=b,h=a(c),i=a(d),j=function(){i.animate(g.animIn||{opacity:1},g.speed,g.easeIn||g.easing,f)};i.css(g.cssBefore||{}),h.animate(g.animOut||{},g.speed,g.easeOut||g.easing,function(){h.css(g.cssAfter||{}),g.sync||j()}),g.sync&&j()},queueTransition:function(b,c){var d=this.opts(),e=void 0!==c?c:b.timeout;return 0===d.nextSlide&&0===--d.loop?(d.API.log("terminating; loop=0"),d.timeout=0,e?setTimeout(function(){d.API.trigger("cycle-finished",[d])},e):d.API.trigger("cycle-finished",[d]),void(d.nextSlide=d.currSlide)):void(e&&(d._lastQueue=a.now(),void 0===c&&(d._remainingTimeout=b.timeout),d.paused||d.hoverPaused||(d.timeoutId=setTimeout(function(){d.API.prepareTx(!1,!d.reverse)},e))))},stopTransition:function(){var a=this.opts();a.slides.filter(":animated").length&&(a.slides.stop(!1,!0),a.API.trigger("cycle-transition-stopped",[a])),a._tx&&a._tx.stopTransition&&a._tx.stopTransition(a)},advanceSlide:function(a){var b=this.opts();return clearTimeout(b.timeoutId),b.timeoutId=0,b.nextSlide=b.currSlide+a,b.nextSlide<0?b.nextSlide=b.slides.length-1:b.nextSlide>=b.slides.length&&(b.nextSlide=0),b.API.prepareTx(!0,a>=0),!1},buildSlideOpts:function(c){var d,e,f=this.opts(),g=c.data()||{};for(var h in g)g.hasOwnProperty(h)&&/^cycle[A-Z]+/.test(h)&&(d=g[h],e=h.match(/^cycle(.*)/)[1].replace(/^[A-Z]/,b),f.API.log("["+(f.slideCount-1)+"]",e+":",d,"("+typeof d+")"),g[e]=d);g=a.extend({},a.fn.cycle.defaults,f,g),g.slideNum=f.slideCount;try{delete g.API,delete g.slideCount,delete g.currSlide,delete g.nextSlide,delete g.slides}catch(i){}return g},getSlideOpts:function(b){var c=this.opts();void 0===b&&(b=c.currSlide);var d=c.slides[b],e=a(d).data("cycle.opts");return a.extend({},c,e)},initSlide:function(b,c,d){var e=this.opts();c.css(b.slideCss||{}),d>0&&c.css("zIndex",d),isNaN(b.speed)&&(b.speed=a.fx.speeds[b.speed]||a.fx.speeds._default),b.sync||(b.speed=b.speed/2),c.addClass(e.slideClass)},updateView:function(a,b){var c=this.opts();if(c._initialized){var d=c.API.getSlideOpts(),e=c.slides[c.currSlide];!a&&b!==!0&&(c.API.trigger("cycle-update-view-before",[c,d,e]),c.updateView<0)||(c.slideActiveClass&&c.slides.removeClass(c.slideActiveClass).eq(c.currSlide).addClass(c.slideActiveClass),a&&c.hideNonActive&&c.slides.filter(":not(."+c.slideActiveClass+")").hide(),0===c.updateView&&setTimeout(function(){c.API.trigger("cycle-update-view",[c,d,e,a])},d.speed/(c.sync?2:1)),0!==c.updateView&&c.API.trigger("cycle-update-view",[c,d,e,a]),a&&c.API.trigger("cycle-update-view-after",[c,d,e]))}},getComponent:function(b){var c=this.opts(),d=c[b];return"string"==typeof d?/^\s*[\>|\+|~]/.test(d)?c.container.find(d):a(d):d.jquery?d:a(d)},stackSlides:function(b,c,d){var e=this.opts();b||(b=e.slides[e.currSlide],c=e.slides[e.nextSlide],d=!e.reverse),a(b).css("zIndex",e.maxZ);var f,g=e.maxZ-2,h=e.slideCount;if(d){for(f=e.currSlide+1;h>f;f++)a(e.slides[f]).css("zIndex",g--);for(f=0;f=0;f--)a(e.slides[f]).css("zIndex",g--);for(f=h-1;f>e.currSlide;f--)a(e.slides[f]).css("zIndex",g--)}a(c).css("zIndex",e.maxZ-1)},getSlideIndex:function(a){return this.opts().slides.index(a)}},a.fn.cycle.log=function(){window.console&&console.log&&console.log("[cycle2] "+Array.prototype.join.call(arguments," "))},a.fn.cycle.version=function(){return"Cycle2: "+c},a.fn.cycle.transitions={custom:{},none:{before:function(a,b,c,d){a.API.stackSlides(c,b,d),a.cssBefore={opacity:1,display:"block"}}},fade:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:0,display:"block"}),b.animIn={opacity:1},b.animOut={opacity:0}}},fadeout:{before:function(b,c,d,e){var f=b.API.getSlideOpts(b.nextSlide).slideCss||{};b.API.stackSlides(c,d,e),b.cssBefore=a.extend(f,{opacity:1,display:"block"}),b.animOut={opacity:0}}},scrollHorz:{before:function(a,b,c,d){a.API.stackSlides(b,c,d);var e=a.container.css("overflow","hidden").width();a.cssBefore={left:d?e:-e,top:0,opacity:1,display:"block"},a.cssAfter={zIndex:a._maxZ-2,left:0},a.animIn={left:0},a.animOut={left:d?-e:e}}}},a.fn.cycle.defaults={allowWrap:!0,autoSelector:".cycle-slideshow[data-cycle-auto-init!=false]",delay:0,easing:null,fx:"fade",hideNonActive:!0,loop:0,manualFx:void 0,manualSpeed:void 0,manualTrump:!0,maxZ:100,pauseOnHover:!1,reverse:!1,slideActiveClass:"cycle-slide-active",slideClass:"cycle-slide",slideCss:{position:"absolute",top:0,left:0},slides:"> img",speed:500,startingSlide:0,sync:!0,timeout:4e3,updateView:0},a(document).ready(function(){a(a.fn.cycle.defaults.autoSelector).cycle()})}(jQuery),/*! Cycle2 autoheight plugin; Copyright (c) M.Alsup, 2012; version: 20130913 */ +function(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\d+\:\d+/.test(i)&&(h=i.match(/(\d+)\:(\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery),/*! caption plugin for Cycle2; version: 20130306 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery),/*! command plugin for Cycle2; version: 20130707 */ +function(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log('slideshow must be initialized before sending commands; "'+d+'" ignored'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){a(this).removeData(),c(this,"parsedAttrs",!1)})},jump:function(a){var b,c=this.opts();if(!c.busy||c.manualTrump){var d=parseInt(a,10);if(isNaN(d)||0>d||d>=c.slides.length)return void c.API.log("goto: invalid slide index: "+d);if(d==c.currSlide)return void c.API.log("goto: skipping, already on slide",d);c.nextSlide=d,clearTimeout(c.timeoutId),c.timeoutId=0,c.API.log("goto: ",d," (zero-index)"),b=c.currSlide .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery),/*! prevnext plugin for Cycle2; version: 20130709 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2; version: 20130315 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;ft.slideCount-t.carouselVisible||(t.API.advanceSlide(e),t.API.trigger("cycle-next",[t]).log("cycle-next"))})}),e.fn.cycle.transitions.carousel={preInit:function(t){t.hideNonActive=!1,t.container.on("cycle-destroyed",e.proxy(this.onDestroy,t.API)),t.API.stopTransition=this.stopTransition;for(var i=0;t.startingSlide>i;i++)t.container.append(t.slides[0])},postInit:function(t){var i,n,s,o,r=t.carouselVertical;t.carouselVisible&&t.carouselVisible>t.slideCount&&(t.carouselVisible=t.slideCount-1);var l=t.carouselVisible||t.slides.length,c={display:r?"block":"inline-block",position:"static"};if(t.container.css({position:"relative",overflow:"hidden"}),t.slides.css(c),t._currSlide=t.currSlide,o=e('').prependTo(t.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(t.slides),t._carouselWrap=o,r||o.css("white-space","nowrap"),t.allowWrap!==!1){for(n=0;(void 0===t.carouselVisible?2:1)>n;n++){for(i=0;t.slideCount>i;i++)o.append(t.slides[i].cloneNode(!0));for(i=t.slideCount;i--;)o.prepend(t.slides[i].cloneNode(!0))}o.find(".cycle-slide-active").removeClass("cycle-slide-active"),t.slides.eq(t.startingSlide).addClass("cycle-slide-active")}t.pager&&t.allowWrap===!1&&(s=t.slideCount-l,e(t.pager).children().filter(":gt("+s+")").hide()),t._nextBoundry=t.slideCount-t.carouselVisible,this.prepareDimensions(t)},prepareDimensions:function(t){var i,n,s,o,r=t.carouselVertical,l=t.carouselVisible||t.slides.length;if(t.carouselFluid&&t.carouselVisible?t._carouselResizeThrottle||this.fluidSlides(t):t.carouselVisible&&t.carouselSlideDimension?(i=l*t.carouselSlideDimension,t.container[r?"height":"width"](i)):t.carouselVisible&&(i=l*e(t.slides[0])[r?"outerHeight":"outerWidth"](!0),t.container[r?"height":"width"](i)),n=t.carouselOffset||0,t.allowWrap!==!1)if(t.carouselSlideDimension)n-=(t.slideCount+t.currSlide)*t.carouselSlideDimension;else for(s=t._carouselWrap.children(),o=0;t.slideCount+t.currSlide>o;o++)n-=e(s[o])[r?"outerHeight":"outerWidth"](!0);t._carouselWrap.css(r?"top":"left",n)},fluidSlides:function(t){function i(){clearTimeout(s),s=setTimeout(n,20)}function n(){t._carouselWrap.stop(!1,!0);var e=t.container.width()/t.carouselVisible;e=Math.ceil(e-r),t._carouselWrap.children().width(e),t._sentinel&&t._sentinel.width(e),l(t)}var s,o=t.slides.eq(0),r=o.outerWidth()-o.width(),l=this.prepareDimensions;e(window).on("resize",i),t._carouselResizeThrottle=i,n()},transition:function(t,i,n,s,o){var r,l={},c=t.nextSlide-t.currSlide,a=t.carouselVertical,d=t.speed;if(t.allowWrap===!1){s=c>0;var u=t._currSlide,p=t.slideCount-t.carouselVisible;c>0&&t.nextSlide>p&&u==p?c=0:c>0&&t.nextSlide>p?c=t.nextSlide-u-(t.nextSlide-p):0>c&&t.currSlide>p&&t.nextSlide>p?c=0:0>c&&t.currSlide>p?c+=t.currSlide-p:u=t.currSlide,r=this.getScroll(t,a,u,c),t.API.opts()._currSlide=t.nextSlide>p?p:t.nextSlide}else s&&0===t.nextSlide?(r=this.getDim(t,t.currSlide,a),o=this.genCallback(t,s,a,o)):s||t.nextSlide!=t.slideCount-1?r=this.getScroll(t,a,t.currSlide,c):(r=this.getDim(t,t.currSlide,a),o=this.genCallback(t,s,a,o));l[a?"top":"left"]=s?"-="+r:"+="+r,t.throttleSpeed&&(d=r/e(t.slides[0])[a?"height":"width"]()*t.speed),t._carouselWrap.animate(l,d,t.easing,o)},getDim:function(t,i,n){var s=e(t.slides[i]);return s[n?"outerHeight":"outerWidth"](!0)},getScroll:function(e,t,i,n){var s,o=0;if(n>0)for(s=i;i+n>s;s++)o+=this.getDim(e,s,t);else for(s=i;s>i+n;s--)o+=this.getDim(e,s,t);return o},genCallback:function(t,i,n,s){return function(){var i=e(t.slides[t.nextSlide]).position(),o=0-i[n?"top":"left"]+(t.carouselOffset||0);t._carouselWrap.css(t.carouselVertical?"top":"left",o),s()}},stopTransition:function(){var e=this.opts();e.slides.stop(!1,!0),e._carouselWrap.stop(!1,!0)},onDestroy:function(){var t=this.opts();t._carouselResizeThrottle&&e(window).off("resize",t._carouselResizeThrottle),t.slides.prependTo(t.container),t._carouselWrap.remove()}}})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a(document).on("cycle-bootstrap",function(a,b,c){"carousel"===b.fx&&(c.getSlideIndex=function(a){var b=this.opts()._carouselWrap.children(),c=b.index(a);return c%b.length},c.next=function(){var a=b.reverse?-1:1;b.allowWrap===!1&&b.currSlide+a>b.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;cb.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a('').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.center.min.js b/build/plugin/jquery.cycle2.center.min.js index 1b478f2..504c643 100644 --- a/build/plugin/jquery.cycle2.center.min.js +++ b/build/plugin/jquery.cycle2.center.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),e(document).on("cycle-pre-initialize",function(t,i){function n(){clearTimeout(l),l=setTimeout(r,50)}function o(){clearTimeout(l),clearTimeout(a),e(window).off("resize orientationchange",n)}function s(){i.slides.each(c)}function r(){c.apply(i.container.find("."+i.slideActiveClass)),clearTimeout(a),a=setTimeout(s,50)}function c(){var t=e(this),n=i.container.width(),o=i.container.height(),s=t.outerWidth(),r=t.outerHeight();s&&(i.centerHorz&&n>=s&&t.css("marginLeft",(n-s)/2),i.centerVert&&o>=r&&t.css("marginTop",(o-r)/2))}if(i.centerHorz||i.centerVert){var l,a;e(window).on("resize orientationchange",n),i.container.on("cycle-destroyed",o),i.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(){n()}),r()}})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),a(document).on("cycle-pre-initialize",function(b,c){function d(){clearTimeout(i),i=setTimeout(g,50)}function e(){clearTimeout(i),clearTimeout(j),a(window).off("resize orientationchange",d)}function f(){c.slides.each(h)}function g(){h.apply(c.container.find("."+c.slideActiveClass)),clearTimeout(j),j=setTimeout(f,50)}function h(){var b=a(this),d=c.container.width(),e=c.container.height(),f=b.outerWidth(),g=b.outerHeight();f&&(c.centerHorz&&d>=f&&b.css("marginLeft",(d-f)/2),c.centerVert&&e>=g&&b.css("marginTop",(e-g)/2))}if(c.centerHorz||c.centerVert){var i,j;a(window).on("resize orientationchange",d),c.container.on("cycle-destroyed",e),c.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(){d()}),g()}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.flip.min.js b/build/plugin/jquery.cycle2.flip.min.js index 77c98b1..10c1faf 100644 --- a/build/plugin/jquery.cycle2.flip.min.js +++ b/build/plugin/jquery.cycle2.flip.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";function t(t){return{preInit:function(e){e.slides.css(n)},transition:function(i,n,o,s,r){var c=i,l=e(n),a=e(o),d=c.speed/2;t.call(a,-90),a.css({display:"block","background-position":"-90px",opacity:1}),l.css("background-position","0px"),l.animate({backgroundPosition:90},{step:t,duration:d,easing:c.easeOut||c.easing,complete:function(){i.API.updateView(!1,!0),a.animate({backgroundPosition:0},{step:t,duration:d,easing:c.easeIn||c.easing,complete:r})}})}}}function i(t){return function(i){var n=e(this);n.css({"-webkit-transform":"rotate"+t+"("+i+"deg)","-moz-transform":"rotate"+t+"("+i+"deg)","-ms-transform":"rotate"+t+"("+i+"deg)","-o-transform":"rotate"+t+"("+i+"deg)",transform:"rotate"+t+"("+i+"deg)"})}}var n,o=document.createElement("div").style,s=e.fn.cycle.transitions,r=void 0!==o.transform||void 0!==o.MozTransform||void 0!==o.webkitTransform||void 0!==o.oTransform||void 0!==o.msTransform;r&&void 0!==o.msTransform&&(o.msTransform="rotateY(0deg)",o.msTransform||(r=!1)),r?(s.flipHorz=t(i("Y")),s.flipVert=t(i("X")),n={"-webkit-backface-visibility":"hidden","-moz-backface-visibility":"hidden","-o-backface-visibility":"hidden","backface-visibility":"hidden"}):(s.flipHorz=s.scrollHorz,s.flipVert=s.scrollVert||s.scrollHorz)})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(b){return{preInit:function(a){a.slides.css(d)},transition:function(c,d,e,f,g){var h=c,i=a(d),j=a(e),k=h.speed/2;b.call(j,-90),j.css({display:"block","background-position":"-90px",opacity:1}),i.css("background-position","0px"),i.animate({backgroundPosition:90},{step:b,duration:k,easing:h.easeOut||h.easing,complete:function(){c.API.updateView(!1,!0),j.animate({backgroundPosition:0},{step:b,duration:k,easing:h.easeIn||h.easing,complete:g})}})}}}function c(b){return function(c){var d=a(this);d.css({"-webkit-transform":"rotate"+b+"("+c+"deg)","-moz-transform":"rotate"+b+"("+c+"deg)","-ms-transform":"rotate"+b+"("+c+"deg)","-o-transform":"rotate"+b+"("+c+"deg)",transform:"rotate"+b+"("+c+"deg)"})}}var d,e=document.createElement("div").style,f=a.fn.cycle.transitions,g=void 0!==e.transform||void 0!==e.MozTransform||void 0!==e.webkitTransform||void 0!==e.oTransform||void 0!==e.msTransform;g&&void 0!==e.msTransform&&(e.msTransform="rotateY(0deg)",e.msTransform||(g=!1)),g?(f.flipHorz=b(c("Y")),f.flipVert=b(c("X")),d={"-webkit-backface-visibility":"hidden","-moz-backface-visibility":"hidden","-o-backface-visibility":"hidden","backface-visibility":"hidden"}):(f.flipHorz=f.scrollHorz,f.flipVert=f.scrollVert||f.scrollHorz)}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.ie-fade.min.js b/build/plugin/jquery.cycle2.ie-fade.min.js index fe8c35f..cbffb6b 100644 --- a/build/plugin/jquery.cycle2.ie-fade.min.js +++ b/build/plugin/jquery.cycle2.ie-fade.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";function t(e,t,i){if(e&&i.style.filter){t._filter=i.style.filter;try{i.style.removeAttribute("filter")}catch(n){}}else!e&&t._filter&&(i.style.filter=t._filter)}e.extend(e.fn.cycle.transitions,{fade:{before:function(i,n,o,s){var r=i.API.getSlideOpts(i.nextSlide).slideCss||{};i.API.stackSlides(n,o,s),i.cssBefore=e.extend(r,{opacity:0,display:"block"}),i.animIn={opacity:1},i.animOut={opacity:0},t(!0,i,o)},after:function(e,i,n){t(!1,e,n)}},fadeout:{before:function(i,n,o,s){var r=i.API.getSlideOpts(i.nextSlide).slideCss||{};i.API.stackSlides(n,o,s),i.cssBefore=e.extend(r,{opacity:1,display:"block"}),i.animOut={opacity:0},t(!0,i,o)},after:function(e,i,n){t(!1,e,n)}}})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(a,b,c){if(a&&c.style.filter){b._filter=c.style.filter;try{c.style.removeAttribute("filter")}catch(d){}}else!a&&b._filter&&(c.style.filter=b._filter)}a.extend(a.fn.cycle.transitions,{fade:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:0,display:"block"}),c.animIn={opacity:1},c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}},fadeout:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:1,display:"block"}),c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.scrollVert.min.js b/build/plugin/jquery.cycle2.scrollVert.min.js index 1ce48da..e0571bd 100644 --- a/build/plugin/jquery.cycle2.scrollVert.min.js +++ b/build/plugin/jquery.cycle2.scrollVert.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.fn.cycle.transitions.scrollVert={before:function(e,t,i,n){e.API.stackSlides(e,t,i,n);var o=e.container.css("overflow","hidden").height();e.cssBefore={top:n?-o:o,left:0,opacity:1,display:"block"},e.animIn={top:0},e.animOut={top:n?o:-o}}}})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.fn.cycle.transitions.scrollVert={before:function(a,b,c,d){a.API.stackSlides(a,b,c,d);var e=a.container.css("overflow","hidden").height();a.cssBefore={top:d?-e:e,left:0,opacity:1,display:"block"},a.animIn={top:0},a.animOut={top:d?e:-e}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.shuffle.min.js b/build/plugin/jquery.cycle2.shuffle.min.js index b20e01f..4498b07 100644 --- a/build/plugin/jquery.cycle2.shuffle.min.js +++ b/build/plugin/jquery.cycle2.shuffle.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.fn.cycle.transitions.shuffle={transition:function(t,i,n,s,o){function r(e){this.stack(t,i,n,s),e()}e(n).show();var c=t.container.css("overflow","visible").width(),l=t.speed/2,a=s?i:n;t=t.API.getSlideOpts(s?t.currSlide:t.nextSlide);var d={left:-c,top:15},u=t.slideCss||{left:0,top:0};void 0!==t.shuffleLeft?d.left=d.left+parseInt(t.shuffleLeft,10)||0:void 0!==t.shuffleRight&&(d.left=c+parseInt(t.shuffleRight,10)||0),t.shuffleTop&&(d.top=t.shuffleTop),e(a).animate(d,l,t.easeIn||t.easing).queue("fx",e.proxy(r,this)).animate(u,l,t.easeOut||t.easing,o)},stack:function(t,i,n,s){var o,r;if(s)t.API.stackSlides(n,i,s),e(i).css("zIndex",1);else{for(r=1,o=t.nextSlide-1;o>=0;o--)e(t.slides[o]).css("zIndex",r++);for(o=t.slideCount-1;o>t.nextSlide;o--)e(t.slides[o]).css("zIndex",r++);e(n).css("zIndex",t.maxZ),e(i).css("zIndex",t.maxZ-1)}}}})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.fn.cycle.transitions.shuffle={transition:function(b,c,d,e,f){function g(a){this.stack(b,c,d,e),a()}a(d).show();var h=b.container.css("overflow","visible").width(),i=b.speed/2,j=e?c:d;b=b.API.getSlideOpts(e?b.currSlide:b.nextSlide);var k={left:-h,top:15},l=b.slideCss||{left:0,top:0};void 0!==b.shuffleLeft?k.left=k.left+parseInt(b.shuffleLeft,10)||0:void 0!==b.shuffleRight&&(k.left=h+parseInt(b.shuffleRight,10)||0),b.shuffleTop&&(k.top=b.shuffleTop),a(j).animate(k,i,b.easeIn||b.easing).queue("fx",a.proxy(g,this)).animate(l,i,b.easeOut||b.easing,f)},stack:function(b,c,d,e){var f,g;if(e)b.API.stackSlides(d,c,e),a(c).css("zIndex",1);else{for(g=1,f=b.nextSlide-1;f>=0;f--)a(b.slides[f]).css("zIndex",g++);for(f=b.slideCount-1;f>b.nextSlide;f--)a(b.slides[f]).css("zIndex",g++);a(d).css("zIndex",b.maxZ),a(c).css("zIndex",b.maxZ-1)}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.swipe.min.js b/build/plugin/jquery.cycle2.swipe.min.js index 2f1c5fe..1f9d833 100644 --- a/build/plugin/jquery.cycle2.swipe.min.js +++ b/build/plugin/jquery.cycle2.swipe.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.event.special.swipe=e.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var t=e(this);t.bind("touchstart",function(i){function n(t){if(r){var i=t.originalEvent.touches?t.originalEvent.touches[0]:t;s={time:(new Date).getTime(),coords:[i.pageX,i.pageY]},Math.abs(r.coords[0]-s.coords[0])>e.event.special.swipe.scrollSupressionThreshold&&t.preventDefault()}}var s,o=i.originalEvent.touches?i.originalEvent.touches[0]:i,r={time:(new Date).getTime(),coords:[o.pageX,o.pageY],origin:e(i.target)};t.bind("touchmove",n).one("touchend",function(){t.unbind("touchmove",n),r&&s&&s.time-r.timee.event.special.swipe.horizontalDistanceThreshold&&Math.abs(r.coords[1]-s.coords[1])s.coords[0]?"swipeleft":"swiperight"),r=s=void 0})})}},e.event.special.swipeleft=e.event.special.swipeleft||{setup:function(){e(this).bind("swipe",e.noop)}},e.event.special.swiperight=e.event.special.swiperight||e.event.special.swipeleft})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.event.special.swipe=a.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var b=a(this);b.bind("touchstart",function(c){function d(b){if(g){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;e={time:(new Date).getTime(),coords:[c.pageX,c.pageY]},Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e,f=c.originalEvent.touches?c.originalEvent.touches[0]:c,g={time:(new Date).getTime(),coords:[f.pageX,f.pageY],origin:a(c.target)};b.bind("touchmove",d).one("touchend",function(){b.unbind("touchmove",d),g&&e&&e.time-g.timea.event.special.swipe.horizontalDistanceThreshold&&Math.abs(g.coords[1]-e.coords[1])e.coords[0]?"swipeleft":"swiperight"),g=e=void 0})})}},a.event.special.swipeleft=a.event.special.swipeleft||{setup:function(){a(this).bind("swipe",a.noop)}},a.event.special.swiperight=a.event.special.swiperight||a.event.special.swipeleft}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.tile.min.js b/build/plugin/jquery.cycle2.tile.min.js index 6f78fc2..e0f6907 100644 --- a/build/plugin/jquery.cycle2.tile.min.js +++ b/build/plugin/jquery.cycle2.tile.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";e.fn.cycle.transitions.tileSlide=e.fn.cycle.transitions.tileBlind={before:function(t,i,n,o){t.API.stackSlides(i,n,o),e(i).show(),t.container.css("overflow","hidden"),t.tileDelay=t.tileDelay||"tileSlide"==t.fx?100:125,t.tileCount=t.tileCount||7,t.tileVertical=t.tileVertical!==!1,t.container.data("cycleTileInitialized")||(t.container.on("cycle-destroyed",e.proxy(this.onDestroy,t.API)),t.container.data("cycleTileInitialized",!0))},transition:function(t,i,n,o,s){function r(e){p.eq(e).animate(I,{duration:t.speed,easing:t.easing,complete:function(){(o?g-1===e:0===e)&&t._tileAniCallback()}}),setTimeout(function(){(o?g-1!==e:0!==e)&&r(o?e+1:e-1)},t.tileDelay)}t.slides.not(i).not(n).hide();var c,l,a,d,u,p=e(),f=e(i),y=e(n),g=t.tileCount,v=t.tileVertical,h=t.container.height(),m=t.container.width();v?(l=Math.floor(m/g),d=m-l*(g-1),a=u=h):(l=d=m,a=Math.floor(h/g),u=h-a*(g-1)),t.container.find(".cycle-tiles-container").remove();var I,A={left:0,top:0,overflow:"hidden",position:"absolute",margin:0,padding:0};I=v?"tileSlide"==t.fx?{top:h}:{width:0}:"tileSlide"==t.fx?{left:m}:{height:0};var S=e('
');S.css({zIndex:f.css("z-index"),overflow:"visible",position:"absolute",top:0,left:0,direction:"ltr"}),S.insertBefore(n);for(var x=0;g>x;x++)c=e("
").css(A).css({width:g-1===x?d:l,height:g-1===x?u:a,marginLeft:v?x*l:0,marginTop:v?0:x*a}).append(f.clone().css({position:"relative",maxWidth:"none",width:f.width(),margin:0,padding:0,marginLeft:v?-(x*l):0,marginTop:v?0:-(x*a)})),p=p.add(c);S.append(p),f.hide(),y.show().css("opacity",1),r(o?0:g-1),t._tileAniCallback=function(){y.show(),f.hide(),S.remove(),s()}},stopTransition:function(e){e.container.find("*").stop(!0,!0),e._tileAniCallback&&e._tileAniCallback()},onDestroy:function(){var e=this.opts();e.container.find(".cycle-tiles-container").remove()}}})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";a.fn.cycle.transitions.tileSlide=a.fn.cycle.transitions.tileBlind={before:function(b,c,d,e){b.API.stackSlides(c,d,e),a(c).show(),b.container.css("overflow","hidden"),b.tileDelay=b.tileDelay||"tileSlide"==b.fx?100:125,b.tileCount=b.tileCount||7,b.tileVertical=b.tileVertical!==!1,b.container.data("cycleTileInitialized")||(b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.container.data("cycleTileInitialized",!0))},transition:function(b,c,d,e,f){function g(a){m.eq(a).animate(t,{duration:b.speed,easing:b.easing,complete:function(){(e?p-1===a:0===a)&&b._tileAniCallback()}}),setTimeout(function(){(e?p-1!==a:0!==a)&&g(e?a+1:a-1)},b.tileDelay)}b.slides.not(c).not(d).hide();var h,i,j,k,l,m=a(),n=a(c),o=a(d),p=b.tileCount,q=b.tileVertical,r=b.container.height(),s=b.container.width();q?(i=Math.floor(s/p),k=s-i*(p-1),j=l=r):(i=k=s,j=Math.floor(r/p),l=r-j*(p-1)),b.container.find(".cycle-tiles-container").remove();var t,u={left:0,top:0,overflow:"hidden",position:"absolute",margin:0,padding:0};t=q?"tileSlide"==b.fx?{top:r}:{width:0}:"tileSlide"==b.fx?{left:s}:{height:0};var v=a('
');v.css({zIndex:n.css("z-index"),overflow:"visible",position:"absolute",top:0,left:0,direction:"ltr"}),v.insertBefore(d);for(var w=0;p>w;w++)h=a("
").css(u).css({width:p-1===w?k:i,height:p-1===w?l:j,marginLeft:q?w*i:0,marginTop:q?0:w*j}).append(n.clone().css({position:"relative",maxWidth:"none",width:n.width(),margin:0,padding:0,marginLeft:q?-(w*i):0,marginTop:q?0:-(w*j)})),m=m.add(h);v.append(m),n.hide(),o.show().css("opacity",1),g(e?0:p-1),b._tileAniCallback=function(){o.show(),n.hide(),v.remove(),f()}},stopTransition:function(a){a.container.find("*").stop(!0,!0),a._tileAniCallback&&a._tileAniCallback()},onDestroy:function(){var a=this.opts();a.container.find(".cycle-tiles-container").remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.video.min.js b/build/plugin/jquery.cycle2.video.min.js index 0ae13cc..b5c8c4c 100644 --- a/build/plugin/jquery.cycle2.video.min.js +++ b/build/plugin/jquery.cycle2.video.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140114 */ -(function(e){"use strict";function t(){try{this.playVideo()}catch(e){}}function i(){try{this.pauseVideo()}catch(e){}}var n='
';e.extend(e.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),e(document).on("cycle-bootstrap",function(o,s){s.youtube&&(s.hideNonActive=!1,s.container.find(s.slides).each(function(t){if(this.href){var i,o=e(this),r=o.attr("href"),c=s.youtubeAllowFullScreen?"true":"false";r+=(/\?/.test(r)?"&":"?")+"enablejsapi=1",s.youtubeAutostart&&s.startingSlide===t&&(r+="&autoplay=1"),i=s.API.tmpl(n,{url:r,allowFullScreen:c}),o.replaceWith(i)}}),s.slides=s.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),s.youtubeAutostart&&s.container.on("cycle-initialized cycle-after",function(i,n){var o="cycle-initialized"==i.type?n.currSlide:n.nextSlide;e(n.slides[o]).find("object,embed").each(t)}),s.youtubeAutostop&&s.container.on("cycle-before",function(t,n){e(n.slides[n.currSlide]).find("object,embed").each(i)}))})})(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +!function(a){"use strict";function b(){try{this.playVideo()}catch(a){}}function c(){try{this.pauseVideo()}catch(a){}}var d='
';a.extend(a.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),a(document).on("cycle-bootstrap",function(e,f){f.youtube&&(f.hideNonActive=!1,f.container.find(f.slides).each(function(b){if(this.href){var c,e=a(this),g=e.attr("href"),h=f.youtubeAllowFullScreen?"true":"false";g+=(/\?/.test(g)?"&":"?")+"enablejsapi=1",f.youtubeAutostart&&f.startingSlide===b&&(g+="&autoplay=1"),c=f.API.tmpl(d,{url:g,allowFullScreen:h}),e.replaceWith(c)}}),f.slides=f.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),f.youtubeAutostart&&f.container.on("cycle-initialized cycle-after",function(c,d){var e="cycle-initialized"==c.type?d.currSlide:d.nextSlide;a(d.slides[e]).find("object,embed").each(b)}),f.youtubeAutostop&&f.container.on("cycle-before",function(b,d){a(d.slides[d.currSlide]).find("object,embed").each(c)}))})}(jQuery); \ No newline at end of file diff --git a/package.json b/package.json index d53b485..c55dc9d 100644 --- a/package.json +++ b/package.json @@ -13,6 +13,10 @@ "grunt-contrib-jshint": "~0.4.0", "grunt-contrib-concat": "~0.1.3", "grunt-contrib-uglify": "~0.2.0", - "grunt-contrib-watch": "~0.3.1" + "grunt-contrib-watch": "~0.3.1", + "grunt-contrib-copy": "~0.5.0", + "grunt-contrib-jasmine": "*", + "grunt-contrib-connect": "~0.5.0", + "matchdep": "*" } } diff --git a/spec/fixtures/progressive-pager.html b/spec/fixtures/progressive-pager.html new file mode 100644 index 0000000..a35da17 --- /dev/null +++ b/spec/fixtures/progressive-pager.html @@ -0,0 +1,26 @@ +
+ + Animal 1 + +
+ +
diff --git a/spec/index.html b/spec/index.html new file mode 100755 index 0000000..a060f60 --- /dev/null +++ b/spec/index.html @@ -0,0 +1,25 @@ + + + + + Jasmine Spec Runner v2.0.0-rc5 + + + + + + + + + + + + + + + + + + + + diff --git a/spec/index.tmpl b/spec/index.tmpl new file mode 100644 index 0000000..d52d6c5 --- /dev/null +++ b/spec/index.tmpl @@ -0,0 +1,21 @@ + + + + + Jasmine Spec Runner + + <% css.forEach( function(style) { %> + + <% }) %> + + + +
+ + <% with ( scripts ) { %> + <% [].concat( jasmine, vendor, helpers, src, specs, reporters, start ).forEach( function(script) { %> + + <% }) %> + <% }; %> + + diff --git a/spec/jquery.cycle2.progressive.spec.js b/spec/jquery.cycle2.progressive.spec.js new file mode 100755 index 0000000..2f4b18a --- /dev/null +++ b/spec/jquery.cycle2.progressive.spec.js @@ -0,0 +1,176 @@ +(function( $, undefined ) { + +describe( "Progressive", function() { + var fixtures = jasmine.getFixtures(), + $slideshow, opts, $progressiveSlides, progressive, api; + + fixtures.fixturesPath = "/spec/fixtures"; + + beforeEach(function() { + fixtures.load( "progressive-pager.html" ); + $slideshow = $( ".cycle-slideshow" ).cycle(); + opts = $slideshow.data( "cycle.opts" ); + api = opts.API; + progressive = api.progressive; + $progressiveSlides = $slideshow.find( ".cycle-progressive-slide" ); + }); + + describe( "Methods", function() { + describe( "buildSlide", function() { + var markup = "", $slide; + + beforeEach(function() { + $slide = progressive.buildSlide( markup ); + }); + + it( "should create a placeholder element based on the same type", function() { + expect( $slide[0].nodeName ).toBe( "IMG" ); + }); + + it( "should create a placeholder element with intended markup stored in data", function() { + expect( $slide.data("cycle.progressive") ).toBe( markup ); + }); + + it( "should create a placeholder element marked with a progressive class", function() { + expect( $slide.hasClass("cycle-progressive-slide") ).toBe( true ); + }); + }); + + describe( "hydrate", function() { + var markup = "", $slide, $hydrated; + + beforeEach(function() { + $slide = progressive.buildSlide( markup ).data( "cycle.opts", { success: true } ); + spyOn( progressive, "replaceSlide" ); + }); + + it( "should pull out markup from data to make hydrated slide", function() { + var hydratedMarkup; + + $hydrated = progressive.hydrate( $slide, opts ); + hydratedMarkup = $( "
" ).append( $hydrated.removeClass("cycle-slide").clone() ).html(); + expect( hydratedMarkup ).toBe( markup ); + }); + + it( "should transfer the options from the placeholder to the hydrated slide", function() { + $hydrated = progressive.hydrate( $slide, opts ); + expect( $hydrated.data("cycle.opts").success ).toBe( true ); + }); + + it( "should replace the placeholder slide with the hydrated slide", function() { + $hydrated = progressive.hydrate( $slide, opts ); + expect( progressive.replaceSlide ).toHaveBeenCalled(); + expect( progressive.replaceSlide.calls.count() ).toBe( 1 ); + }); + + it( "should wait until any images have loaded before triggering hydrated", function(done) { + opts.API.add( $slide ); + $hydrated = progressive.hydrate( $slide, opts ); + opts.container.one( "cycle-slide-hydrated", function() { + expect( true ).toBeTruthy(); + done(); + }); + }); + }); + + describe( "navigate", function() { + var markup = "", $slide; + + beforeEach(function() { + $slide = progressive.buildSlide( markup ); + }); + + it( "should hydrate the slide if the placeholder exists", function() { + spyOn( progressive, "hydrate" ); + progressive.navigate( $slide, function() {} ); + expect( progressive.hydrate ).toHaveBeenCalled(); + }); + + it( "should wait until the placeholder is hydrated until it proceeds", function() { + var proceed = jasmine.createSpy( "proceed" ); + + progressive.navigate( $slide, proceed ); + opts.container.trigger( "cycle-slide-hydrated", [ opts ] ); + expect( proceed ).toHaveBeenCalled(); + }); + + it( "should mark the container as loading when the hydration is taking place", function() { + var proceed = jasmine.createSpy( "proceed" ); + + progressive.navigate( $slide, proceed ); + expect( opts.container.hasClass("cycle-loading") ).toBeTruthy(); + }); + + it( "should proceed if the slide is already hydrated", function() { + var proceed = jasmine.createSpy( "proceed" ); + + spyOn( progressive, "hydrate" ); + $slide.removeClass( "cycle-progressive-slide" ); + progressive.navigate( $slide, proceed ); + expect( progressive.hydrate ).not.toHaveBeenCalled(); + expect( proceed ).toHaveBeenCalled(); + }); + }); + + describe( "replaceSlide", function() { + it( "should replace the slide at the provided index", function() { + var $newSlide = $( "TEST" ); + progressive.replaceSlide( $newSlide, 2, opts ); + expect( $newSlide ).toBe( opts.slides[2] ); + }); + }); + }); + + describe( "Integration", function() { + describe( "Fixture", function() { + it( "should load the appropriate fixture", function() { + expect( $("#progressive-pager").length ).toBe( 1 ); + }); + }); + + describe( "Pager", function() { + it( "should create pager items for all slides (static & progressive)", function() { + expect( $slideshow.find(".cycle-pager span").length ).toBe( 5 ); + }); + }); + + describe( "Placeholders", function() { + it( "should create placeholder items for progressive slides", function() { + expect( $slideshow.find( ".cycle-progressive-slide" ).length ).toBe( 4 ); + }); + + it( "should not render images from the progressive slides before shown", function() { + expect( $progressiveSlides.find("img").length ).toBe( 0 ); + }); + + it( "should have the hydrated markup stored inside the placeholder slide", function() { + $progressiveSlides.each(function(index, slide) { + expect( $(slide).data("cycle.progressive") ).toBeTruthy(); + }); + }); + }); + + describe( "Navigation", function() { + it( "should hydrate a progressive slide on next", function() { + spyOn( progressive, "hydrate" ); + api.next(); + expect( progressive.hydrate ).toHaveBeenCalled(); + }); + + it( "should hydrate a progressive slide on jump", function() { + spyOn( progressive, "hydrate" ); + api.jump( 4 ); + expect( progressive.hydrate ).toHaveBeenCalled(); + }); + + it( "should hydrate a progressive slide on prev", function() { + spyOn( progressive, "hydrate" ); + api.jump( 4 ); + api.prev(); + expect( progressive.hydrate ).toHaveBeenCalled(); + }); + }); + }); +}); + +}( jQuery )); diff --git a/spec/lib/jasmine-2.0.0/boot.js b/spec/lib/jasmine-2.0.0/boot.js new file mode 100755 index 0000000..ec8baa0 --- /dev/null +++ b/spec/lib/jasmine-2.0.0/boot.js @@ -0,0 +1,181 @@ +/** + Starting with version 2.0, this file "boots" Jasmine, performing all of the necessary initialization before executing the loaded environment and all of a project's specs. This file should be loaded after `jasmine.js`, but before any project source files or spec files are loaded. Thus this file can also be used to customize Jasmine for a project. + + If a project is using Jasmine via the standalone distribution, this file can be customized directly. If a project is using Jasmine via the [Ruby gem][jasmine-gem], this file can be copied into the support directory via `jasmine copy_boot_js`. Other environments (e.g., Python) will have different mechanisms. + + The location of `boot.js` can be specified and/or overridden in `jasmine.yml`. + + [jasmine-gem]: http://github.com/pivotal/jasmine-gem + */ + +(function() { + + /** + * ## Require & Instantiate + * + * Require Jasmine's core files. Specifically, this requires and attaches all of Jasmine's code to the `jasmine` reference. + */ + window.jasmine = jasmineRequire.core(jasmineRequire); + + /** + * Since this is being run in a browser and the results should populate to an HTML page, require the HTML-specific Jasmine code, injecting the same reference. + */ + jasmineRequire.html(jasmine); + + /** + * Create the Jasmine environment. This is used to run all specs in a project. + */ + var env = jasmine.getEnv(); + + /** + * ## The Global Interface + * + * Build up the functions that will be exposed as the Jasmine public interface. A project can customize, rename or alias any of these functions as desired, provided the implementation remains unchanged. + */ + var jasmineInterface = { + describe: function(description, specDefinitions) { + return env.describe(description, specDefinitions); + }, + + xdescribe: function(description, specDefinitions) { + return env.xdescribe(description, specDefinitions); + }, + + it: function(desc, func) { + return env.it(desc, func); + }, + + xit: function(desc, func) { + return env.xit(desc, func); + }, + + beforeEach: function(beforeEachFunction) { + return env.beforeEach(beforeEachFunction); + }, + + afterEach: function(afterEachFunction) { + return env.afterEach(afterEachFunction); + }, + + expect: function(actual) { + return env.expect(actual); + }, + + pending: function() { + return env.pending(); + }, + + spyOn: function(obj, methodName) { + return env.spyOn(obj, methodName); + }, + + jsApiReporter: new jasmine.JsApiReporter({ + timer: new jasmine.Timer() + }) + }; + + /** + * Add all of the Jasmine global/public interface to the proper global, so a project can use the public interface directly. For example, calling `describe` in specs instead of `jasmine.getEnv().describe`. + */ + if (typeof window == "undefined" && typeof exports == "object") { + extend(exports, jasmineInterface); + } else { + extend(window, jasmineInterface); + } + + /** + * Expose the interface for adding custom equality testers. + */ + jasmine.addCustomEqualityTester = function(tester) { + env.addCustomEqualityTester(tester); + }; + + /** + * Expose the interface for adding custom expectation matchers + */ + jasmine.addMatchers = function(matchers) { + return env.addMatchers(matchers); + }; + + /** + * Expose the mock interface for the JavaScript timeout functions + */ + jasmine.clock = function() { + return env.clock; + }; + + /** + * ## Runner Parameters + * + * More browser specific code - wrap the query string in an object and to allow for getting/setting parameters from the runner user interface. + */ + + var queryString = new jasmine.QueryString({ + getWindowLocation: function() { return window.location; } + }); + + var catchingExceptions = queryString.getParam("catch"); + env.catchExceptions(typeof catchingExceptions === "undefined" ? true : catchingExceptions); + + /** + * ## Reporters + * The `HtmlReporter` builds all of the HTML UI for the runner page. This reporter paints the dots, stars, and x's for specs, as well as all spec names and all failures (if any). + */ + var htmlReporter = new jasmine.HtmlReporter({ + env: env, + onRaiseExceptionsClick: function() { queryString.setParam("catch", !env.catchingExceptions()); }, + getContainer: function() { return document.body; }, + createElement: function() { return document.createElement.apply(document, arguments); }, + createTextNode: function() { return document.createTextNode.apply(document, arguments); }, + timer: new jasmine.Timer() + }); + + /** + * The `jsApiReporter` also receives spec results, and is used by any environment that needs to extract the results from JavaScript. + */ + env.addReporter(jasmineInterface.jsApiReporter); + env.addReporter(htmlReporter); + + /** + * Filter which specs will be run by matching the start of the full name against the `spec` query param. + */ + var specFilter = new jasmine.HtmlSpecFilter({ + filterString: function() { return queryString.getParam("spec"); } + }); + + env.specFilter = function(spec) { + return specFilter.matches(spec.getFullName()); + }; + + /** + * Setting up timing functions to be able to be overridden. Certain browsers (Safari, IE 8, phantomjs) require this hack. + */ + window.setTimeout = window.setTimeout; + window.setInterval = window.setInterval; + window.clearTimeout = window.clearTimeout; + window.clearInterval = window.clearInterval; + + /** + * ## Execution + * + * Replace the browser window's `onload`, ensure it's called, and then run all of the loaded specs. This includes initializing the `HtmlReporter` instance and then executing the loaded Jasmine environment. All of this will happen after all of the specs are loaded. + */ + var currentWindowOnload = window.onload; + + window.onload = function() { + if (currentWindowOnload) { + currentWindowOnload(); + } + htmlReporter.initialize(); + env.execute(); + }; + + /** + * Helper function for readability above. + */ + function extend(destination, source) { + for (var property in source) destination[property] = source[property]; + return destination; + } + +}()); diff --git a/spec/lib/jasmine-2.0.0/console.js b/spec/lib/jasmine-2.0.0/console.js new file mode 100755 index 0000000..33c1698 --- /dev/null +++ b/spec/lib/jasmine-2.0.0/console.js @@ -0,0 +1,160 @@ +/* +Copyright (c) 2008-2013 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +function getJasmineRequireObj() { + if (typeof module !== "undefined" && module.exports) { + return exports; + } else { + window.jasmineRequire = window.jasmineRequire || {}; + return window.jasmineRequire; + } +} + +getJasmineRequireObj().console = function(jRequire, j$) { + j$.ConsoleReporter = jRequire.ConsoleReporter(); +}; + +getJasmineRequireObj().ConsoleReporter = function() { + + var noopTimer = { + start: function(){}, + elapsed: function(){ return 0; } + }; + + function ConsoleReporter(options) { + var print = options.print, + showColors = options.showColors || false, + onComplete = options.onComplete || function() {}, + timer = options.timer || noopTimer, + specCount, + failureCount, + failedSpecs = [], + pendingCount, + ansi = { + green: '\x1B[32m', + red: '\x1B[31m', + yellow: '\x1B[33m', + none: '\x1B[0m' + }; + + this.jasmineStarted = function() { + specCount = 0; + failureCount = 0; + pendingCount = 0; + print("Started"); + printNewline(); + timer.start(); + }; + + this.jasmineDone = function() { + printNewline(); + for (var i = 0; i < failedSpecs.length; i++) { + specFailureDetails(failedSpecs[i]); + } + + printNewline(); + var specCounts = specCount + " " + plural("spec", specCount) + ", " + + failureCount + " " + plural("failure", failureCount); + + if (pendingCount) { + specCounts += ", " + pendingCount + " pending " + plural("spec", pendingCount); + } + + print(specCounts); + + printNewline(); + var seconds = timer.elapsed() / 1000; + print("Finished in " + seconds + " " + plural("second", seconds)); + + printNewline(); + + onComplete(failureCount === 0); + }; + + this.specDone = function(result) { + specCount++; + + if (result.status == "pending") { + pendingCount++; + print(colored("yellow", "*")); + return; + } + + if (result.status == "passed") { + print(colored("green", '.')); + return; + } + + if (result.status == "failed") { + failureCount++; + failedSpecs.push(result); + print(colored("red", 'F')); + } + }; + + return this; + + function printNewline() { + print("\n"); + } + + function colored(color, str) { + return showColors ? (ansi[color] + str + ansi.none) : str; + } + + function plural(str, count) { + return count == 1 ? str : str + "s"; + } + + function repeat(thing, times) { + var arr = []; + for (var i = 0; i < times; i++) { + arr.push(thing); + } + return arr; + } + + function indent(str, spaces) { + var lines = (str || '').split("\n"); + var newArr = []; + for (var i = 0; i < lines.length; i++) { + newArr.push(repeat(" ", spaces).join("") + lines[i]); + } + return newArr.join("\n"); + } + + function specFailureDetails(result) { + printNewline(); + print(result.fullName); + + for (var i = 0; i < result.failedExpectations.length; i++) { + var failedExpectation = result.failedExpectations[i]; + printNewline(); + print(indent(failedExpectation.stack, 2)); + } + + printNewline(); + } + } + + return ConsoleReporter; +}; diff --git a/spec/lib/jasmine-2.0.0/jasmine-html.js b/spec/lib/jasmine-2.0.0/jasmine-html.js new file mode 100755 index 0000000..985d0d1 --- /dev/null +++ b/spec/lib/jasmine-2.0.0/jasmine-html.js @@ -0,0 +1,359 @@ +/* +Copyright (c) 2008-2013 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +jasmineRequire.html = function(j$) { + j$.ResultsNode = jasmineRequire.ResultsNode(); + j$.HtmlReporter = jasmineRequire.HtmlReporter(j$); + j$.QueryString = jasmineRequire.QueryString(); + j$.HtmlSpecFilter = jasmineRequire.HtmlSpecFilter(); +}; + +jasmineRequire.HtmlReporter = function(j$) { + + var noopTimer = { + start: function() {}, + elapsed: function() { return 0; } + }; + + function HtmlReporter(options) { + var env = options.env || {}, + getContainer = options.getContainer, + createElement = options.createElement, + createTextNode = options.createTextNode, + onRaiseExceptionsClick = options.onRaiseExceptionsClick || function() {}, + timer = options.timer || noopTimer, + results = [], + specsExecuted = 0, + failureCount = 0, + pendingSpecCount = 0, + htmlReporterMain, + symbols; + + this.initialize = function() { + htmlReporterMain = createDom("div", {className: "html-reporter"}, + createDom("div", {className: "banner"}, + createDom("span", {className: "title"}, "Jasmine"), + createDom("span", {className: "version"}, j$.version) + ), + createDom("ul", {className: "symbol-summary"}), + createDom("div", {className: "alert"}), + createDom("div", {className: "results"}, + createDom("div", {className: "failures"}) + ) + ); + getContainer().appendChild(htmlReporterMain); + + symbols = find(".symbol-summary"); + }; + + var totalSpecsDefined; + this.jasmineStarted = function(options) { + totalSpecsDefined = options.totalSpecsDefined || 0; + timer.start(); + }; + + var summary = createDom("div", {className: "summary"}); + + var topResults = new j$.ResultsNode({}, "", null), + currentParent = topResults; + + this.suiteStarted = function(result) { + currentParent.addChild(result, "suite"); + currentParent = currentParent.last(); + }; + + this.suiteDone = function(result) { + if (currentParent == topResults) { + return; + } + + currentParent = currentParent.parent; + }; + + this.specStarted = function(result) { + currentParent.addChild(result, "spec"); + }; + + var failures = []; + this.specDone = function(result) { + if (result.status != "disabled") { + specsExecuted++; + } + + symbols.appendChild(createDom("li", { + className: result.status, + id: "spec_" + result.id, + title: result.fullName + } + )); + + if (result.status == "failed") { + failureCount++; + + var failure = + createDom("div", {className: "spec-detail failed"}, + createDom("div", {className: "description"}, + createDom("a", {title: result.fullName, href: specHref(result)}, result.fullName) + ), + createDom("div", {className: "messages"}) + ); + var messages = failure.childNodes[1]; + + for (var i = 0; i < result.failedExpectations.length; i++) { + var expectation = result.failedExpectations[i]; + messages.appendChild(createDom("div", {className: "result-message"}, expectation.message)); + messages.appendChild(createDom("div", {className: "stack-trace"}, expectation.stack)); + } + + failures.push(failure); + } + + if (result.status == "pending") { + pendingSpecCount++; + } + }; + + this.jasmineDone = function() { + var banner = find(".banner"); + banner.appendChild(createDom("span", {className: "duration"}, "finished in " + timer.elapsed() / 1000 + "s")); + + var alert = find(".alert"); + + alert.appendChild(createDom("span", { className: "exceptions" }, + createDom("label", { className: "label", 'for': "raise-exceptions" }, "raise exceptions"), + createDom("input", { + className: "raise", + id: "raise-exceptions", + type: "checkbox" + }) + )); + var checkbox = find("input"); + + checkbox.checked = !env.catchingExceptions(); + checkbox.onclick = onRaiseExceptionsClick; + + if (specsExecuted < totalSpecsDefined) { + var skippedMessage = "Ran " + specsExecuted + " of " + totalSpecsDefined + " specs - run all"; + alert.appendChild( + createDom("span", {className: "bar skipped"}, + createDom("a", {href: "?", title: "Run all specs"}, skippedMessage) + ) + ); + } + var statusBarMessage = "" + pluralize("spec", specsExecuted) + ", " + pluralize("failure", failureCount); + if (pendingSpecCount) { statusBarMessage += ", " + pluralize("pending spec", pendingSpecCount); } + + var statusBarClassName = "bar " + ((failureCount > 0) ? "failed" : "passed"); + alert.appendChild(createDom("span", {className: statusBarClassName}, statusBarMessage)); + + var results = find(".results"); + results.appendChild(summary); + + summaryList(topResults, summary); + + function summaryList(resultsTree, domParent) { + var specListNode; + for (var i = 0; i < resultsTree.children.length; i++) { + var resultNode = resultsTree.children[i]; + if (resultNode.type == "suite") { + var suiteListNode = createDom("ul", {className: "suite", id: "suite-" + resultNode.result.id}, + createDom("li", {className: "suite-detail"}, + createDom("a", {href: specHref(resultNode.result)}, resultNode.result.description) + ) + ); + + summaryList(resultNode, suiteListNode); + domParent.appendChild(suiteListNode); + } + if (resultNode.type == "spec") { + if (domParent.getAttribute("class") != "specs") { + specListNode = createDom("ul", {className: "specs"}); + domParent.appendChild(specListNode); + } + specListNode.appendChild( + createDom("li", { + className: resultNode.result.status, + id: "spec-" + resultNode.result.id + }, + createDom("a", {href: specHref(resultNode.result)}, resultNode.result.description) + ) + ); + } + } + } + + if (failures.length) { + alert.appendChild( + createDom('span', {className: "menu bar spec-list"}, + createDom("span", {}, "Spec List | "), + createDom('a', {className: "failures-menu", href: "#"}, "Failures"))); + alert.appendChild( + createDom('span', {className: "menu bar failure-list"}, + createDom('a', {className: "spec-list-menu", href: "#"}, "Spec List"), + createDom("span", {}, " | Failures "))); + + find(".failures-menu").onclick = function() { + setMenuModeTo('failure-list'); + }; + find(".spec-list-menu").onclick = function() { + setMenuModeTo('spec-list'); + }; + + setMenuModeTo('failure-list'); + + var failureNode = find(".failures"); + for (var i = 0; i < failures.length; i++) { + failureNode.appendChild(failures[i]); + } + } + }; + + return this; + + function find(selector) { + return getContainer().querySelector(selector); + } + + function createDom(type, attrs, childrenVarArgs) { + var el = createElement(type); + + for (var i = 2; i < arguments.length; i++) { + var child = arguments[i]; + + if (typeof child === 'string') { + el.appendChild(createTextNode(child)); + } else { + if (child) { + el.appendChild(child); + } + } + } + + for (var attr in attrs) { + if (attr == "className") { + el[attr] = attrs[attr]; + } else { + el.setAttribute(attr, attrs[attr]); + } + } + + return el; + } + + function pluralize(singular, count) { + var word = (count == 1 ? singular : singular + "s"); + + return "" + count + " " + word; + } + + function specHref(result) { + return "?spec=" + encodeURIComponent(result.fullName); + } + + function setMenuModeTo(mode) { + htmlReporterMain.setAttribute("class", "html-reporter " + mode); + } + } + + return HtmlReporter; +}; + +jasmineRequire.HtmlSpecFilter = function() { + function HtmlSpecFilter(options) { + var filterString = options && options.filterString() && options.filterString().replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&"); + var filterPattern = new RegExp(filterString); + + this.matches = function(specName) { + return filterPattern.test(specName); + }; + } + + return HtmlSpecFilter; +}; + +jasmineRequire.ResultsNode = function() { + function ResultsNode(result, type, parent) { + this.result = result; + this.type = type; + this.parent = parent; + + this.children = []; + + this.addChild = function(result, type) { + this.children.push(new ResultsNode(result, type, this)); + }; + + this.last = function() { + return this.children[this.children.length - 1]; + }; + } + + return ResultsNode; +}; + +jasmineRequire.QueryString = function() { + function QueryString(options) { + + this.setParam = function(key, value) { + var paramMap = queryStringToParamMap(); + paramMap[key] = value; + options.getWindowLocation().search = toQueryString(paramMap); + }; + + this.getParam = function(key) { + return queryStringToParamMap()[key]; + }; + + return this; + + function toQueryString(paramMap) { + var qStrPairs = []; + for (var prop in paramMap) { + qStrPairs.push(encodeURIComponent(prop) + "=" + encodeURIComponent(paramMap[prop])); + } + return "?" + qStrPairs.join('&'); + } + + function queryStringToParamMap() { + var paramStr = options.getWindowLocation().search.substring(1), + params = [], + paramMap = {}; + + if (paramStr.length > 0) { + params = paramStr.split('&'); + for (var i = 0; i < params.length; i++) { + var p = params[i].split('='); + var value = decodeURIComponent(p[1]); + if (value === "true" || value === "false") { + value = JSON.parse(value); + } + paramMap[decodeURIComponent(p[0])] = value; + } + } + + return paramMap; + } + + } + + return QueryString; +}; diff --git a/spec/lib/jasmine-2.0.0/jasmine.css b/spec/lib/jasmine-2.0.0/jasmine.css new file mode 100755 index 0000000..f4d35b6 --- /dev/null +++ b/spec/lib/jasmine-2.0.0/jasmine.css @@ -0,0 +1,55 @@ +body { background-color: #eeeeee; padding: 0; margin: 5px; overflow-y: scroll; } + +.html-reporter { font-size: 11px; font-family: Monaco, "Lucida Console", monospace; line-height: 14px; color: #333333; } +.html-reporter a { text-decoration: none; } +.html-reporter a:hover { text-decoration: underline; } +.html-reporter p, .html-reporter h1, .html-reporter h2, .html-reporter h3, .html-reporter h4, .html-reporter h5, .html-reporter h6 { margin: 0; line-height: 14px; } +.html-reporter .banner, .html-reporter .symbol-summary, .html-reporter .summary, .html-reporter .result-message, .html-reporter .spec .description, .html-reporter .spec-detail .description, .html-reporter .alert .bar, .html-reporter .stack-trace { padding-left: 9px; padding-right: 9px; } +.html-reporter .banner .version { margin-left: 14px; } +.html-reporter #jasmine_content { position: fixed; right: 100%; } +.html-reporter .version { color: #aaaaaa; } +.html-reporter .banner { margin-top: 14px; } +.html-reporter .duration { color: #aaaaaa; float: right; } +.html-reporter .symbol-summary { overflow: hidden; *zoom: 1; margin: 14px 0; } +.html-reporter .symbol-summary li { display: inline-block; height: 8px; width: 14px; font-size: 16px; } +.html-reporter .symbol-summary li.passed { font-size: 14px; } +.html-reporter .symbol-summary li.passed:before { color: #5e7d00; content: "\02022"; } +.html-reporter .symbol-summary li.failed { line-height: 9px; } +.html-reporter .symbol-summary li.failed:before { color: #b03911; content: "x"; font-weight: bold; margin-left: -1px; } +.html-reporter .symbol-summary li.disabled { font-size: 14px; } +.html-reporter .symbol-summary li.disabled:before { color: #bababa; content: "\02022"; } +.html-reporter .symbol-summary li.pending { line-height: 17px; } +.html-reporter .symbol-summary li.pending:before { color: #ba9d37; content: "*"; } +.html-reporter .exceptions { color: #fff; float: right; margin-top: 5px; margin-right: 5px; } +.html-reporter .bar { line-height: 28px; font-size: 14px; display: block; color: #eee; } +.html-reporter .bar.failed { background-color: #b03911; } +.html-reporter .bar.passed { background-color: #a6b779; } +.html-reporter .bar.skipped { background-color: #bababa; } +.html-reporter .bar.menu { background-color: #fff; color: #aaaaaa; } +.html-reporter .bar.menu a { color: #333333; } +.html-reporter .bar a { color: white; } +.html-reporter.spec-list .bar.menu.failure-list, .html-reporter.spec-list .results .failures { display: none; } +.html-reporter.failure-list .bar.menu.spec-list, .html-reporter.failure-list .summary { display: none; } +.html-reporter .running-alert { background-color: #666666; } +.html-reporter .results { margin-top: 14px; } +.html-reporter.showDetails .summaryMenuItem { font-weight: normal; text-decoration: inherit; } +.html-reporter.showDetails .summaryMenuItem:hover { text-decoration: underline; } +.html-reporter.showDetails .detailsMenuItem { font-weight: bold; text-decoration: underline; } +.html-reporter.showDetails .summary { display: none; } +.html-reporter.showDetails #details { display: block; } +.html-reporter .summaryMenuItem { font-weight: bold; text-decoration: underline; } +.html-reporter .summary { margin-top: 14px; } +.html-reporter .summary ul { list-style-type: none; margin-left: 14px; padding-top: 0; padding-left: 0; } +.html-reporter .summary ul.suite { margin-top: 7px; margin-bottom: 7px; } +.html-reporter .summary li.passed a { color: #5e7d00; } +.html-reporter .summary li.failed a { color: #b03911; } +.html-reporter .summary li.pending a { color: #ba9d37; } +.html-reporter .description + .suite { margin-top: 0; } +.html-reporter .suite { margin-top: 14px; } +.html-reporter .suite a { color: #333333; } +.html-reporter .failures .spec-detail { margin-bottom: 28px; } +.html-reporter .failures .spec-detail .description { background-color: #b03911; } +.html-reporter .failures .spec-detail .description a { color: white; } +.html-reporter .result-message { padding-top: 14px; color: #333333; white-space: pre; } +.html-reporter .result-message span.result { display: block; } +.html-reporter .stack-trace { margin: 5px 0 0 0; max-height: 224px; overflow: auto; line-height: 18px; color: #666666; border: 1px solid #ddd; background: white; white-space: pre; } diff --git a/spec/lib/jasmine-2.0.0/jasmine.js b/spec/lib/jasmine-2.0.0/jasmine.js new file mode 100755 index 0000000..24463ec --- /dev/null +++ b/spec/lib/jasmine-2.0.0/jasmine.js @@ -0,0 +1,2402 @@ +/* +Copyright (c) 2008-2013 Pivotal Labs + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ +function getJasmineRequireObj() { + if (typeof module !== "undefined" && module.exports) { + return exports; + } else { + window.jasmineRequire = window.jasmineRequire || {}; + return window.jasmineRequire; + } +} + +getJasmineRequireObj().core = function(jRequire) { + var j$ = {}; + + jRequire.base(j$); + j$.util = jRequire.util(); + j$.Any = jRequire.Any(); + j$.CallTracker = jRequire.CallTracker(); + j$.Clock = jRequire.Clock(); + j$.DelayedFunctionScheduler = jRequire.DelayedFunctionScheduler(); + j$.Env = jRequire.Env(j$); + j$.ExceptionFormatter = jRequire.ExceptionFormatter(); + j$.Expectation = jRequire.Expectation(); + j$.buildExpectationResult = jRequire.buildExpectationResult(); + j$.JsApiReporter = jRequire.JsApiReporter(); + j$.matchersUtil = jRequire.matchersUtil(j$); + j$.ObjectContaining = jRequire.ObjectContaining(j$); + j$.pp = jRequire.pp(j$); + j$.QueueRunner = jRequire.QueueRunner(); + j$.ReportDispatcher = jRequire.ReportDispatcher(); + j$.Spec = jRequire.Spec(j$); + j$.SpyStrategy = jRequire.SpyStrategy(); + j$.Suite = jRequire.Suite(); + j$.Timer = jRequire.Timer(); + j$.version = jRequire.version(); + + j$.matchers = jRequire.requireMatchers(jRequire, j$); + + return j$; +}; + +getJasmineRequireObj().requireMatchers = function(jRequire, j$) { + var availableMatchers = [ + "toBe", + "toBeCloseTo", + "toBeDefined", + "toBeFalsy", + "toBeGreaterThan", + "toBeLessThan", + "toBeNaN", + "toBeNull", + "toBeTruthy", + "toBeUndefined", + "toContain", + "toEqual", + "toHaveBeenCalled", + "toHaveBeenCalledWith", + "toMatch", + "toThrow", + "toThrowError" + ], + matchers = {}; + + for (var i = 0; i < availableMatchers.length; i++) { + var name = availableMatchers[i]; + matchers[name] = jRequire[name](j$); + } + + return matchers; +}; + +getJasmineRequireObj().base = function(j$) { + j$.unimplementedMethod_ = function() { + throw new Error("unimplemented method"); + }; + + j$.MAX_PRETTY_PRINT_DEPTH = 40; + j$.DEFAULT_TIMEOUT_INTERVAL = 5000; + + j$.getGlobal = (function() { + var jasmineGlobal = eval.call(null, "this"); + return function() { + return jasmineGlobal; + }; + })(); + + j$.getEnv = function(options) { + var env = j$.currentEnv_ = j$.currentEnv_ || new j$.Env(options); + //jasmine. singletons in here (setTimeout blah blah). + return env; + }; + + j$.isArray_ = function(value) { + return j$.isA_("Array", value); + }; + + j$.isString_ = function(value) { + return j$.isA_("String", value); + }; + + j$.isNumber_ = function(value) { + return j$.isA_("Number", value); + }; + + j$.isA_ = function(typeName, value) { + return Object.prototype.toString.apply(value) === '[object ' + typeName + ']'; + }; + + j$.isDomNode = function(obj) { + return obj.nodeType > 0; + }; + + j$.any = function(clazz) { + return new j$.Any(clazz); + }; + + j$.objectContaining = function(sample) { + return new j$.ObjectContaining(sample); + }; + + j$.createSpy = function(name, originalFn) { + + var spyStrategy = new j$.SpyStrategy({ + name: name, + fn: originalFn, + getSpy: function() { return spy; } + }), + callTracker = new j$.CallTracker(), + spy = function() { + callTracker.track({ + object: this, + args: Array.prototype.slice.apply(arguments) + }); + return spyStrategy.exec.apply(this, arguments); + }; + + for (var prop in originalFn) { + if (prop === 'and' || prop === 'calls') { + throw new Error("Jasmine spies would overwrite the 'and' and 'calls' properties on the object being spied upon"); + } + + spy[prop] = originalFn[prop]; + } + + spy.and = spyStrategy; + spy.calls = callTracker; + + return spy; + }; + + j$.isSpy = function(putativeSpy) { + if (!putativeSpy) { + return false; + } + return putativeSpy.and instanceof j$.SpyStrategy && + putativeSpy.calls instanceof j$.CallTracker; + }; + + j$.createSpyObj = function(baseName, methodNames) { + if (!j$.isArray_(methodNames) || methodNames.length === 0) { + throw "createSpyObj requires a non-empty array of method names to create spies for"; + } + var obj = {}; + for (var i = 0; i < methodNames.length; i++) { + obj[methodNames[i]] = j$.createSpy(baseName + '.' + methodNames[i]); + } + return obj; + }; +}; + +getJasmineRequireObj().util = function() { + + var util = {}; + + util.inherit = function(childClass, parentClass) { + var Subclass = function() { + }; + Subclass.prototype = parentClass.prototype; + childClass.prototype = new Subclass(); + }; + + util.htmlEscape = function(str) { + if (!str) { + return str; + } + return str.replace(/&/g, '&') + .replace(//g, '>'); + }; + + util.argsToArray = function(args) { + var arrayOfArgs = []; + for (var i = 0; i < args.length; i++) { + arrayOfArgs.push(args[i]); + } + return arrayOfArgs; + }; + + util.isUndefined = function(obj) { + return obj === void 0; + }; + + return util; +}; + +getJasmineRequireObj().Spec = function(j$) { + function Spec(attrs) { + this.expectationFactory = attrs.expectationFactory; + this.resultCallback = attrs.resultCallback || function() {}; + this.id = attrs.id; + this.description = attrs.description || ''; + this.fn = attrs.fn; + this.beforeFns = attrs.beforeFns || function() { return []; }; + this.afterFns = attrs.afterFns || function() { return []; }; + this.onStart = attrs.onStart || function() {}; + this.exceptionFormatter = attrs.exceptionFormatter || function() {}; + this.getSpecName = attrs.getSpecName || function() { return ''; }; + this.expectationResultFactory = attrs.expectationResultFactory || function() { }; + this.queueRunnerFactory = attrs.queueRunnerFactory || function() {}; + this.catchingExceptions = attrs.catchingExceptions || function() { return true; }; + + this.timer = attrs.timer || {setTimeout: setTimeout, clearTimeout: clearTimeout}; + + if (!this.fn) { + this.pend(); + } + + this.result = { + id: this.id, + description: this.description, + fullName: this.getFullName(), + failedExpectations: [] + }; + } + + Spec.prototype.addExpectationResult = function(passed, data) { + if (passed) { + return; + } + this.result.failedExpectations.push(this.expectationResultFactory(data)); + }; + + Spec.prototype.expect = function(actual) { + return this.expectationFactory(actual, this); + }; + + Spec.prototype.execute = function(onComplete) { + var self = this, + timeout; + + this.onStart(this); + + if (this.markedPending || this.disabled) { + complete(); + return; + } + + function timeoutable(fn) { + return function(done) { + timeout = Function.prototype.apply.apply(self.timer.setTimeout, [j$.getGlobal(), [function() { + onException(new Error('Timeout - Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL.')); + done(); + }, j$.DEFAULT_TIMEOUT_INTERVAL]]); + + var callDone = function() { + clearTimeoutable(); + done(); + }; + + fn.call(this, callDone); //TODO: do we care about more than 1 arg? + }; + } + + function clearTimeoutable() { + Function.prototype.apply.apply(self.timer.clearTimeout, [j$.getGlobal(), [timeout]]); + timeout = void 0; + } + + var allFns = this.beforeFns().concat(this.fn).concat(this.afterFns()), + allTimeoutableFns = []; + for (var i = 0; i < allFns.length; i++) { + var fn = allFns[i]; + allTimeoutableFns.push(fn.length > 0 ? timeoutable(fn) : fn); + } + + this.queueRunnerFactory({ + fns: allTimeoutableFns, + onException: onException, + onComplete: complete + }); + + function onException(e) { + clearTimeoutable(); + if (Spec.isPendingSpecException(e)) { + self.pend(); + return; + } + + self.addExpectationResult(false, { + matcherName: "", + passed: false, + expected: "", + actual: "", + error: e + }); + } + + function complete() { + self.result.status = self.status(); + self.resultCallback(self.result); + + if (onComplete) { + onComplete(); + } + } + }; + + Spec.prototype.disable = function() { + this.disabled = true; + }; + + Spec.prototype.pend = function() { + this.markedPending = true; + }; + + Spec.prototype.status = function() { + if (this.disabled) { + return 'disabled'; + } + + if (this.markedPending) { + return 'pending'; + } + + if (this.result.failedExpectations.length > 0) { + return 'failed'; + } else { + return 'passed'; + } + }; + + Spec.prototype.getFullName = function() { + return this.getSpecName(this); + }; + + Spec.pendingSpecExceptionMessage = "=> marked Pending"; + + Spec.isPendingSpecException = function(e) { + return e.toString().indexOf(Spec.pendingSpecExceptionMessage) !== -1; + }; + + return Spec; +}; + +if (typeof window == void 0 && typeof exports == "object") { + exports.Spec = jasmineRequire.Spec; +} + +getJasmineRequireObj().Env = function(j$) { + function Env(options) { + options = options || {}; + + var self = this; + var global = options.global || j$.getGlobal(); + + var totalSpecsDefined = 0; + + var catchExceptions = true; + + var realSetTimeout = j$.getGlobal().setTimeout; + var realClearTimeout = j$.getGlobal().clearTimeout; + this.clock = new j$.Clock(global, new j$.DelayedFunctionScheduler()); + + var runnableLookupTable = {}; + + var spies = []; + + var currentSpec = null; + var currentSuite = null; + + var reporter = new j$.ReportDispatcher([ + "jasmineStarted", + "jasmineDone", + "suiteStarted", + "suiteDone", + "specStarted", + "specDone" + ]); + + this.specFilter = function() { + return true; + }; + + var equalityTesters = []; + + var customEqualityTesters = []; + this.addCustomEqualityTester = function(tester) { + customEqualityTesters.push(tester); + }; + + j$.Expectation.addCoreMatchers(j$.matchers); + + var nextSpecId = 0; + var getNextSpecId = function() { + return 'spec' + nextSpecId++; + }; + + var nextSuiteId = 0; + var getNextSuiteId = function() { + return 'suite' + nextSuiteId++; + }; + + var expectationFactory = function(actual, spec) { + return j$.Expectation.Factory({ + util: j$.matchersUtil, + customEqualityTesters: customEqualityTesters, + actual: actual, + addExpectationResult: addExpectationResult + }); + + function addExpectationResult(passed, result) { + return spec.addExpectationResult(passed, result); + } + }; + + var specStarted = function(spec) { + currentSpec = spec; + reporter.specStarted(spec.result); + }; + + var beforeFns = function(suite) { + return function() { + var befores = []; + while(suite) { + befores = befores.concat(suite.beforeFns); + suite = suite.parentSuite; + } + return befores.reverse(); + }; + }; + + var afterFns = function(suite) { + return function() { + var afters = []; + while(suite) { + afters = afters.concat(suite.afterFns); + suite = suite.parentSuite; + } + return afters; + }; + }; + + var getSpecName = function(spec, suite) { + return suite.getFullName() + ' ' + spec.description; + }; + + // TODO: we may just be able to pass in the fn instead of wrapping here + var buildExpectationResult = j$.buildExpectationResult, + exceptionFormatter = new j$.ExceptionFormatter(), + expectationResultFactory = function(attrs) { + attrs.messageFormatter = exceptionFormatter.message; + attrs.stackFormatter = exceptionFormatter.stack; + + return buildExpectationResult(attrs); + }; + + // TODO: fix this naming, and here's where the value comes in + this.catchExceptions = function(value) { + catchExceptions = !!value; + return catchExceptions; + }; + + this.catchingExceptions = function() { + return catchExceptions; + }; + + var maximumSpecCallbackDepth = 20; + var currentSpecCallbackDepth = 0; + + function clearStack(fn) { + currentSpecCallbackDepth++; + if (currentSpecCallbackDepth >= maximumSpecCallbackDepth) { + currentSpecCallbackDepth = 0; + realSetTimeout(fn, 0); + } else { + fn(); + } + } + + var catchException = function(e) { + return j$.Spec.isPendingSpecException(e) || catchExceptions; + }; + + var queueRunnerFactory = function(options) { + options.catchException = catchException; + options.clearStack = options.clearStack || clearStack; + + new j$.QueueRunner(options).execute(); + }; + + var topSuite = new j$.Suite({ + env: this, + id: getNextSuiteId(), + description: 'Jasmine__TopLevel__Suite', + queueRunner: queueRunnerFactory, + resultCallback: function() {} // TODO - hook this up + }); + runnableLookupTable[topSuite.id] = topSuite; + currentSuite = topSuite; + + this.topSuite = function() { + return topSuite; + }; + + this.execute = function(runnablesToRun) { + runnablesToRun = runnablesToRun || [topSuite.id]; + + var allFns = []; + for(var i = 0; i < runnablesToRun.length; i++) { + var runnable = runnableLookupTable[runnablesToRun[i]]; + allFns.push((function(runnable) { return function(done) { runnable.execute(done); }; })(runnable)); + } + + reporter.jasmineStarted({ + totalSpecsDefined: totalSpecsDefined + }); + + queueRunnerFactory({fns: allFns, onComplete: reporter.jasmineDone}); + }; + + this.addReporter = function(reporterToAdd) { + reporter.addReporter(reporterToAdd); + }; + + this.addMatchers = function(matchersToAdd) { + j$.Expectation.addMatchers(matchersToAdd); + }; + + this.spyOn = function(obj, methodName) { + if (j$.util.isUndefined(obj)) { + throw new Error("spyOn could not find an object to spy upon for " + methodName + "()"); + } + + if (j$.util.isUndefined(obj[methodName])) { + throw new Error(methodName + '() method does not exist'); + } + + if (obj[methodName] && j$.isSpy(obj[methodName])) { + //TODO?: should this return the current spy? Downside: may cause user confusion about spy state + throw new Error(methodName + ' has already been spied upon'); + } + + var spy = j$.createSpy(methodName, obj[methodName]); + + spies.push({ + spy: spy, + baseObj: obj, + methodName: methodName, + originalValue: obj[methodName] + }); + + obj[methodName] = spy; + + return spy; + }; + + var suiteFactory = function(description) { + var suite = new j$.Suite({ + env: self, + id: getNextSuiteId(), + description: description, + parentSuite: currentSuite, + queueRunner: queueRunnerFactory, + onStart: suiteStarted, + resultCallback: function(attrs) { + reporter.suiteDone(attrs); + } + }); + + runnableLookupTable[suite.id] = suite; + return suite; + }; + + this.describe = function(description, specDefinitions) { + var suite = suiteFactory(description); + + var parentSuite = currentSuite; + parentSuite.addChild(suite); + currentSuite = suite; + + var declarationError = null; + try { + specDefinitions.call(suite); + } catch (e) { + declarationError = e; + } + + if (declarationError) { + this.it("encountered a declaration exception", function() { + throw declarationError; + }); + } + + currentSuite = parentSuite; + + return suite; + }; + + this.xdescribe = function(description, specDefinitions) { + var suite = this.describe(description, specDefinitions); + suite.disable(); + return suite; + }; + + var specFactory = function(description, fn, suite) { + totalSpecsDefined++; + + var spec = new j$.Spec({ + id: getNextSpecId(), + beforeFns: beforeFns(suite), + afterFns: afterFns(suite), + expectationFactory: expectationFactory, + exceptionFormatter: exceptionFormatter, + resultCallback: specResultCallback, + getSpecName: function(spec) { + return getSpecName(spec, suite); + }, + onStart: specStarted, + description: description, + expectationResultFactory: expectationResultFactory, + queueRunnerFactory: queueRunnerFactory, + fn: fn, + timer: {setTimeout: realSetTimeout, clearTimeout: realClearTimeout} + }); + + runnableLookupTable[spec.id] = spec; + + if (!self.specFilter(spec)) { + spec.disable(); + } + + return spec; + + function removeAllSpies() { + for (var i = 0; i < spies.length; i++) { + var spyEntry = spies[i]; + spyEntry.baseObj[spyEntry.methodName] = spyEntry.originalValue; + } + spies = []; + } + + function specResultCallback(result) { + removeAllSpies(); + j$.Expectation.resetMatchers(); + customEqualityTesters = []; + currentSpec = null; + reporter.specDone(result); + } + }; + + var suiteStarted = function(suite) { + reporter.suiteStarted(suite.result); + }; + + this.it = function(description, fn) { + var spec = specFactory(description, fn, currentSuite); + currentSuite.addChild(spec); + return spec; + }; + + this.xit = function(description, fn) { + var spec = this.it(description, fn); + spec.pend(); + return spec; + }; + + this.expect = function(actual) { + return currentSpec.expect(actual); + }; + + this.beforeEach = function(beforeEachFunction) { + currentSuite.beforeEach(beforeEachFunction); + }; + + this.afterEach = function(afterEachFunction) { + currentSuite.afterEach(afterEachFunction); + }; + + this.pending = function() { + throw j$.Spec.pendingSpecExceptionMessage; + }; + } + + return Env; +}; + +getJasmineRequireObj().JsApiReporter = function() { + + var noopTimer = { + start: function(){}, + elapsed: function(){ return 0; } + }; + + function JsApiReporter(options) { + var timer = options.timer || noopTimer, + status = "loaded"; + + this.started = false; + this.finished = false; + + this.jasmineStarted = function() { + this.started = true; + status = 'started'; + timer.start(); + }; + + var executionTime; + + this.jasmineDone = function() { + this.finished = true; + executionTime = timer.elapsed(); + status = 'done'; + }; + + this.status = function() { + return status; + }; + + var suites = {}; + + this.suiteStarted = function(result) { + storeSuite(result); + }; + + this.suiteDone = function(result) { + storeSuite(result); + }; + + function storeSuite(result) { + suites[result.id] = result; + } + + this.suites = function() { + return suites; + }; + + var specs = []; + this.specStarted = function(result) { }; + + this.specDone = function(result) { + specs.push(result); + }; + + this.specResults = function(index, length) { + return specs.slice(index, index + length); + }; + + this.specs = function() { + return specs; + }; + + this.executionTime = function() { + return executionTime; + }; + + } + + return JsApiReporter; +}; + +getJasmineRequireObj().Any = function() { + + function Any(expectedObject) { + this.expectedObject = expectedObject; + } + + Any.prototype.jasmineMatches = function(other) { + if (this.expectedObject == String) { + return typeof other == 'string' || other instanceof String; + } + + if (this.expectedObject == Number) { + return typeof other == 'number' || other instanceof Number; + } + + if (this.expectedObject == Function) { + return typeof other == 'function' || other instanceof Function; + } + + if (this.expectedObject == Object) { + return typeof other == 'object'; + } + + if (this.expectedObject == Boolean) { + return typeof other == 'boolean'; + } + + return other instanceof this.expectedObject; + }; + + Any.prototype.jasmineToString = function() { + return ''; + }; + + return Any; +}; + +getJasmineRequireObj().CallTracker = function() { + + function CallTracker() { + var calls = []; + + this.track = function(context) { + calls.push(context); + }; + + this.any = function() { + return !!calls.length; + }; + + this.count = function() { + return calls.length; + }; + + this.argsFor = function(index) { + var call = calls[index]; + return call ? call.args : []; + }; + + this.all = function() { + return calls; + }; + + this.allArgs = function() { + var callArgs = []; + for(var i = 0; i < calls.length; i++){ + callArgs.push(calls[i].args); + } + + return callArgs; + }; + + this.first = function() { + return calls[0]; + }; + + this.mostRecent = function() { + return calls[calls.length - 1]; + }; + + this.reset = function() { + calls = []; + }; + } + + return CallTracker; +}; + +getJasmineRequireObj().Clock = function() { + function Clock(global, delayedFunctionScheduler) { + var self = this, + realTimingFunctions = { + setTimeout: global.setTimeout, + clearTimeout: global.clearTimeout, + setInterval: global.setInterval, + clearInterval: global.clearInterval + }, + fakeTimingFunctions = { + setTimeout: setTimeout, + clearTimeout: clearTimeout, + setInterval: setInterval, + clearInterval: clearInterval + }, + installed = false, + timer; + + self.install = function() { + replace(global, fakeTimingFunctions); + timer = fakeTimingFunctions; + installed = true; + }; + + self.uninstall = function() { + delayedFunctionScheduler.reset(); + replace(global, realTimingFunctions); + timer = realTimingFunctions; + installed = false; + }; + + self.setTimeout = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error("IE < 9 cannot support extra params to setTimeout without a polyfill"); + } + return timer.setTimeout(fn, delay); + } + return Function.prototype.apply.apply(timer.setTimeout, [global, arguments]); + }; + + self.setInterval = function(fn, delay, params) { + if (legacyIE()) { + if (arguments.length > 2) { + throw new Error("IE < 9 cannot support extra params to setInterval without a polyfill"); + } + return timer.setInterval(fn, delay); + } + return Function.prototype.apply.apply(timer.setInterval, [global, arguments]); + }; + + self.clearTimeout = function(id) { + return Function.prototype.call.apply(timer.clearTimeout, [global, id]); + }; + + self.clearInterval = function(id) { + return Function.prototype.call.apply(timer.clearInterval, [global, id]); + }; + + self.tick = function(millis) { + if (installed) { + delayedFunctionScheduler.tick(millis); + } else { + throw new Error("Mock clock is not installed, use jasmine.clock().install()"); + } + }; + + return self; + + function legacyIE() { + //if these methods are polyfilled, apply will be present + return !(realTimingFunctions.setTimeout || realTimingFunctions.setInterval).apply; + } + + function replace(dest, source) { + for (var prop in source) { + dest[prop] = source[prop]; + } + } + + function setTimeout(fn, delay) { + return delayedFunctionScheduler.scheduleFunction(fn, delay, argSlice(arguments, 2)); + } + + function clearTimeout(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function setInterval(fn, interval) { + return delayedFunctionScheduler.scheduleFunction(fn, interval, argSlice(arguments, 2), true); + } + + function clearInterval(id) { + return delayedFunctionScheduler.removeFunctionWithId(id); + } + + function argSlice(argsObj, n) { + return Array.prototype.slice.call(argsObj, 2); + } + } + + return Clock; +}; + +getJasmineRequireObj().DelayedFunctionScheduler = function() { + function DelayedFunctionScheduler() { + var self = this; + var scheduledLookup = []; + var scheduledFunctions = {}; + var currentTime = 0; + var delayedFnCount = 0; + + self.tick = function(millis) { + millis = millis || 0; + var endTime = currentTime + millis; + + runScheduledFunctions(endTime); + currentTime = endTime; + }; + + self.scheduleFunction = function(funcToCall, millis, params, recurring, timeoutKey, runAtMillis) { + var f; + if (typeof(funcToCall) === 'string') { + /* jshint evil: true */ + f = function() { return eval(funcToCall); }; + /* jshint evil: false */ + } else { + f = funcToCall; + } + + millis = millis || 0; + timeoutKey = timeoutKey || ++delayedFnCount; + runAtMillis = runAtMillis || (currentTime + millis); + + var funcToSchedule = { + runAtMillis: runAtMillis, + funcToCall: f, + recurring: recurring, + params: params, + timeoutKey: timeoutKey, + millis: millis + }; + + if (runAtMillis in scheduledFunctions) { + scheduledFunctions[runAtMillis].push(funcToSchedule); + } else { + scheduledFunctions[runAtMillis] = [funcToSchedule]; + scheduledLookup.push(runAtMillis); + scheduledLookup.sort(function (a, b) { + return a - b; + }); + } + + return timeoutKey; + }; + + self.removeFunctionWithId = function(timeoutKey) { + for (var runAtMillis in scheduledFunctions) { + var funcs = scheduledFunctions[runAtMillis]; + var i = indexOfFirstToPass(funcs, function (func) { + return func.timeoutKey === timeoutKey; + }); + + if (i > -1) { + if (funcs.length === 1) { + delete scheduledFunctions[runAtMillis]; + deleteFromLookup(runAtMillis); + } else { + funcs.splice(i, 1); + } + + // intervals get rescheduled when executed, so there's never more + // than a single scheduled function with a given timeoutKey + break; + } + } + }; + + self.reset = function() { + currentTime = 0; + scheduledLookup = []; + scheduledFunctions = {}; + delayedFnCount = 0; + }; + + return self; + + function indexOfFirstToPass(array, testFn) { + var index = -1; + + for (var i = 0; i < array.length; ++i) { + if (testFn(array[i])) { + index = i; + break; + } + } + + return index; + } + + function deleteFromLookup(key) { + var value = Number(key); + var i = indexOfFirstToPass(scheduledLookup, function (millis) { + return millis === value; + }); + + if (i > -1) { + scheduledLookup.splice(i, 1); + } + } + + function reschedule(scheduledFn) { + self.scheduleFunction(scheduledFn.funcToCall, + scheduledFn.millis, + scheduledFn.params, + true, + scheduledFn.timeoutKey, + scheduledFn.runAtMillis + scheduledFn.millis); + } + + function runScheduledFunctions(endTime) { + if (scheduledLookup.length === 0 || scheduledLookup[0] > endTime) { + return; + } + + do { + currentTime = scheduledLookup.shift(); + + var funcsToRun = scheduledFunctions[currentTime]; + delete scheduledFunctions[currentTime]; + + for (var i = 0; i < funcsToRun.length; ++i) { + var funcToRun = funcsToRun[i]; + funcToRun.funcToCall.apply(null, funcToRun.params || []); + + if (funcToRun.recurring) { + reschedule(funcToRun); + } + } + } while (scheduledLookup.length > 0 && + // checking first if we're out of time prevents setTimeout(0) + // scheduled in a funcToRun from forcing an extra iteration + currentTime !== endTime && + scheduledLookup[0] <= endTime); + } + } + + return DelayedFunctionScheduler; +}; + +getJasmineRequireObj().ExceptionFormatter = function() { + function ExceptionFormatter() { + this.message = function(error) { + var message = error.name + + ': ' + + error.message; + + if (error.fileName || error.sourceURL) { + message += " in " + (error.fileName || error.sourceURL); + } + + if (error.line || error.lineNumber) { + message += " (line " + (error.line || error.lineNumber) + ")"; + } + + return message; + }; + + this.stack = function(error) { + return error ? error.stack : null; + }; + } + + return ExceptionFormatter; +}; + +getJasmineRequireObj().Expectation = function() { + + var matchers = {}; + + function Expectation(options) { + this.util = options.util || { buildFailureMessage: function() {} }; + this.customEqualityTesters = options.customEqualityTesters || []; + this.actual = options.actual; + this.addExpectationResult = options.addExpectationResult || function(){}; + this.isNot = options.isNot; + + for (var matcherName in matchers) { + this[matcherName] = matchers[matcherName]; + } + } + + Expectation.prototype.wrapCompare = function(name, matcherFactory) { + return function() { + var args = Array.prototype.slice.call(arguments, 0), + expected = args.slice(0), + message = ""; + + args.unshift(this.actual); + + var matcher = matcherFactory(this.util, this.customEqualityTesters), + matcherCompare = matcher.compare; + + function defaultNegativeCompare() { + var result = matcher.compare.apply(null, args); + result.pass = !result.pass; + return result; + } + + if (this.isNot) { + matcherCompare = matcher.negativeCompare || defaultNegativeCompare; + } + + var result = matcherCompare.apply(null, args); + + if (!result.pass) { + if (!result.message) { + args.unshift(this.isNot); + args.unshift(name); + message = this.util.buildFailureMessage.apply(null, args); + } else { + message = result.message; + } + } + + if (expected.length == 1) { + expected = expected[0]; + } + + // TODO: how many of these params are needed? + this.addExpectationResult( + result.pass, + { + matcherName: name, + passed: result.pass, + message: message, + actual: this.actual, + expected: expected // TODO: this may need to be arrayified/sliced + } + ); + }; + }; + + Expectation.addCoreMatchers = function(matchers) { + var prototype = Expectation.prototype; + for (var matcherName in matchers) { + var matcher = matchers[matcherName]; + prototype[matcherName] = prototype.wrapCompare(matcherName, matcher); + } + }; + + Expectation.addMatchers = function(matchersToAdd) { + for (var name in matchersToAdd) { + var matcher = matchersToAdd[name]; + matchers[name] = Expectation.prototype.wrapCompare(name, matcher); + } + }; + + Expectation.resetMatchers = function() { + for (var name in matchers) { + delete matchers[name]; + } + }; + + Expectation.Factory = function(options) { + options = options || {}; + + var expect = new Expectation(options); + + // TODO: this would be nice as its own Object - NegativeExpectation + // TODO: copy instead of mutate options + options.isNot = true; + expect.not = new Expectation(options); + + return expect; + }; + + return Expectation; +}; + +//TODO: expectation result may make more sense as a presentation of an expectation. +getJasmineRequireObj().buildExpectationResult = function() { + function buildExpectationResult(options) { + var messageFormatter = options.messageFormatter || function() {}, + stackFormatter = options.stackFormatter || function() {}; + + return { + matcherName: options.matcherName, + expected: options.expected, + actual: options.actual, + message: message(), + stack: stack(), + passed: options.passed + }; + + function message() { + if (options.passed) { + return "Passed."; + } else if (options.message) { + return options.message; + } else if (options.error) { + return messageFormatter(options.error); + } + return ""; + } + + function stack() { + if (options.passed) { + return ""; + } + + var error = options.error; + if (!error) { + try { + throw new Error(message()); + } catch (e) { + error = e; + } + } + return stackFormatter(error); + } + } + + return buildExpectationResult; +}; + +getJasmineRequireObj().ObjectContaining = function(j$) { + + function ObjectContaining(sample) { + this.sample = sample; + } + + ObjectContaining.prototype.jasmineMatches = function(other, mismatchKeys, mismatchValues) { + if (typeof(this.sample) !== "object") { throw new Error("You must provide an object to objectContaining, not '"+this.sample+"'."); } + + mismatchKeys = mismatchKeys || []; + mismatchValues = mismatchValues || []; + + var hasKey = function(obj, keyName) { + return obj !== null && !j$.util.isUndefined(obj[keyName]); + }; + + for (var property in this.sample) { + if (!hasKey(other, property) && hasKey(this.sample, property)) { + mismatchKeys.push("expected has key '" + property + "', but missing from actual."); + } + else if (!j$.matchersUtil.equals(this.sample[property], other[property])) { + mismatchValues.push("'" + property + "' was '" + (other[property] ? j$.util.htmlEscape(other[property].toString()) : other[property]) + "' in actual, but was '" + (this.sample[property] ? j$.util.htmlEscape(this.sample[property].toString()) : this.sample[property]) + "' in expected."); + } + } + + return (mismatchKeys.length === 0 && mismatchValues.length === 0); + }; + + ObjectContaining.prototype.jasmineToString = function() { + return ""; + }; + + return ObjectContaining; +}; + +getJasmineRequireObj().pp = function(j$) { + + function PrettyPrinter() { + this.ppNestLevel_ = 0; + } + + PrettyPrinter.prototype.format = function(value) { + this.ppNestLevel_++; + try { + if (j$.util.isUndefined(value)) { + this.emitScalar('undefined'); + } else if (value === null) { + this.emitScalar('null'); + } else if (value === j$.getGlobal()) { + this.emitScalar(''); + } else if (value.jasmineToString) { + this.emitScalar(value.jasmineToString()); + } else if (typeof value === 'string') { + this.emitString(value); + } else if (j$.isSpy(value)) { + this.emitScalar("spy on " + value.and.identity()); + } else if (value instanceof RegExp) { + this.emitScalar(value.toString()); + } else if (typeof value === 'function') { + this.emitScalar('Function'); + } else if (typeof value.nodeType === 'number') { + this.emitScalar('HTMLNode'); + } else if (value instanceof Date) { + this.emitScalar('Date(' + value + ')'); + } else if (value.__Jasmine_been_here_before__) { + this.emitScalar(''); + } else if (j$.isArray_(value) || j$.isA_('Object', value)) { + value.__Jasmine_been_here_before__ = true; + if (j$.isArray_(value)) { + this.emitArray(value); + } else { + this.emitObject(value); + } + delete value.__Jasmine_been_here_before__; + } else { + this.emitScalar(value.toString()); + } + } finally { + this.ppNestLevel_--; + } + }; + + PrettyPrinter.prototype.iterateObject = function(obj, fn) { + for (var property in obj) { + if (!obj.hasOwnProperty(property)) { continue; } + if (property == '__Jasmine_been_here_before__') { continue; } + fn(property, obj.__lookupGetter__ ? (!j$.util.isUndefined(obj.__lookupGetter__(property)) && + obj.__lookupGetter__(property) !== null) : false); + } + }; + + PrettyPrinter.prototype.emitArray = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitObject = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitScalar = j$.unimplementedMethod_; + PrettyPrinter.prototype.emitString = j$.unimplementedMethod_; + + function StringPrettyPrinter() { + PrettyPrinter.call(this); + + this.string = ''; + } + + j$.util.inherit(StringPrettyPrinter, PrettyPrinter); + + StringPrettyPrinter.prototype.emitScalar = function(value) { + this.append(value); + }; + + StringPrettyPrinter.prototype.emitString = function(value) { + this.append("'" + value + "'"); + }; + + StringPrettyPrinter.prototype.emitArray = function(array) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append("Array"); + return; + } + + this.append('[ '); + for (var i = 0; i < array.length; i++) { + if (i > 0) { + this.append(', '); + } + this.format(array[i]); + } + this.append(' ]'); + }; + + StringPrettyPrinter.prototype.emitObject = function(obj) { + if (this.ppNestLevel_ > j$.MAX_PRETTY_PRINT_DEPTH) { + this.append("Object"); + return; + } + + var self = this; + this.append('{ '); + var first = true; + + this.iterateObject(obj, function(property, isGetter) { + if (first) { + first = false; + } else { + self.append(', '); + } + + self.append(property); + self.append(' : '); + if (isGetter) { + self.append(''); + } else { + self.format(obj[property]); + } + }); + + this.append(' }'); + }; + + StringPrettyPrinter.prototype.append = function(value) { + this.string += value; + }; + + return function(value) { + var stringPrettyPrinter = new StringPrettyPrinter(); + stringPrettyPrinter.format(value); + return stringPrettyPrinter.string; + }; +}; + +getJasmineRequireObj().QueueRunner = function() { + + function QueueRunner(attrs) { + this.fns = attrs.fns || []; + this.onComplete = attrs.onComplete || function() {}; + this.clearStack = attrs.clearStack || function(fn) {fn();}; + this.onException = attrs.onException || function() {}; + this.catchException = attrs.catchException || function() { return true; }; + this.userContext = {}; + } + + QueueRunner.prototype.execute = function() { + this.run(this.fns, 0); + }; + + QueueRunner.prototype.run = function(fns, recursiveIndex) { + var length = fns.length, + self = this, + iterativeIndex; + + for(iterativeIndex = recursiveIndex; iterativeIndex < length; iterativeIndex++) { + var fn = fns[iterativeIndex]; + if (fn.length > 0) { + return attemptAsync(fn); + } else { + attemptSync(fn); + } + } + + var runnerDone = iterativeIndex >= length; + + if (runnerDone) { + this.clearStack(this.onComplete); + } + + function attemptSync(fn) { + try { + fn.call(self.userContext); + } catch (e) { + handleException(e); + } + } + + function attemptAsync(fn) { + var next = function () { self.run(fns, iterativeIndex + 1); }; + + try { + fn.call(self.userContext, next); + } catch (e) { + handleException(e); + next(); + } + } + + function handleException(e) { + self.onException(e); + if (!self.catchException(e)) { + //TODO: set a var when we catch an exception and + //use a finally block to close the loop in a nice way.. + throw e; + } + } + }; + + return QueueRunner; +}; + +getJasmineRequireObj().ReportDispatcher = function() { + function ReportDispatcher(methods) { + + var dispatchedMethods = methods || []; + + for (var i = 0; i < dispatchedMethods.length; i++) { + var method = dispatchedMethods[i]; + this[method] = (function(m) { + return function() { + dispatch(m, arguments); + }; + }(method)); + } + + var reporters = []; + + this.addReporter = function(reporter) { + reporters.push(reporter); + }; + + return this; + + function dispatch(method, args) { + for (var i = 0; i < reporters.length; i++) { + var reporter = reporters[i]; + if (reporter[method]) { + reporter[method].apply(reporter, args); + } + } + } + } + + return ReportDispatcher; +}; + + +getJasmineRequireObj().SpyStrategy = function() { + + function SpyStrategy(options) { + options = options || {}; + + var identity = options.name || "unknown", + originalFn = options.fn || function() {}, + getSpy = options.getSpy || function() {}, + plan = function() {}; + + this.identity = function() { + return identity; + }; + + this.exec = function() { + return plan.apply(this, arguments); + }; + + this.callThrough = function() { + plan = originalFn; + return getSpy(); + }; + + this.returnValue = function(value) { + plan = function() { + return value; + }; + return getSpy(); + }; + + this.throwError = function(something) { + var error = (something instanceof Error) ? something : new Error(something); + plan = function() { + throw error; + }; + return getSpy(); + }; + + this.callFake = function(fn) { + plan = fn; + return getSpy(); + }; + + this.stub = function(fn) { + plan = function() {}; + return getSpy(); + }; + } + + return SpyStrategy; +}; + +getJasmineRequireObj().Suite = function() { + function Suite(attrs) { + this.env = attrs.env; + this.id = attrs.id; + this.parentSuite = attrs.parentSuite; + this.description = attrs.description; + this.onStart = attrs.onStart || function() {}; + this.resultCallback = attrs.resultCallback || function() {}; + this.clearStack = attrs.clearStack || function(fn) {fn();}; + + this.beforeFns = []; + this.afterFns = []; + this.queueRunner = attrs.queueRunner || function() {}; + this.disabled = false; + + this.children = []; + + this.result = { + id: this.id, + status: this.disabled ? 'disabled' : '', + description: this.description, + fullName: this.getFullName() + }; + } + + Suite.prototype.getFullName = function() { + var fullName = this.description; + for (var parentSuite = this.parentSuite; parentSuite; parentSuite = parentSuite.parentSuite) { + if (parentSuite.parentSuite) { + fullName = parentSuite.description + ' ' + fullName; + } + } + return fullName; + }; + + Suite.prototype.disable = function() { + this.disabled = true; + }; + + Suite.prototype.beforeEach = function(fn) { + this.beforeFns.unshift(fn); + }; + + Suite.prototype.afterEach = function(fn) { + this.afterFns.unshift(fn); + }; + + Suite.prototype.addChild = function(child) { + this.children.push(child); + }; + + Suite.prototype.execute = function(onComplete) { + var self = this; + if (this.disabled) { + complete(); + return; + } + + var allFns = []; + + for (var i = 0; i < this.children.length; i++) { + allFns.push(wrapChildAsAsync(this.children[i])); + } + + this.onStart(this); + + this.queueRunner({ + fns: allFns, + onComplete: complete + }); + + function complete() { + self.resultCallback(self.result); + + if (onComplete) { + onComplete(); + } + } + + function wrapChildAsAsync(child) { + return function(done) { child.execute(done); }; + } + }; + + return Suite; +}; + +if (typeof window == void 0 && typeof exports == "object") { + exports.Suite = jasmineRequire.Suite; +} + +getJasmineRequireObj().Timer = function() { + function Timer(options) { + options = options || {}; + + var now = options.now || function() { return new Date().getTime(); }, + startTime; + + this.start = function() { + startTime = now(); + }; + + this.elapsed = function() { + return now() - startTime; + }; + } + + return Timer; +}; + +getJasmineRequireObj().matchersUtil = function(j$) { + // TODO: what to do about jasmine.pp not being inject? move to JSON.stringify? gut PrettyPrinter? + + return { + equals: function(a, b, customTesters) { + customTesters = customTesters || []; + + return eq(a, b, [], [], customTesters); + }, + + contains: function(haystack, needle, customTesters) { + customTesters = customTesters || []; + + if (Object.prototype.toString.apply(haystack) === "[object Array]") { + for (var i = 0; i < haystack.length; i++) { + if (eq(haystack[i], needle, [], [], customTesters)) { + return true; + } + } + return false; + } + return haystack.indexOf(needle) >= 0; + }, + + buildFailureMessage: function() { + var args = Array.prototype.slice.call(arguments, 0), + matcherName = args[0], + isNot = args[1], + actual = args[2], + expected = args.slice(3), + englishyPredicate = matcherName.replace(/[A-Z]/g, function(s) { return ' ' + s.toLowerCase(); }); + + var message = "Expected " + + j$.pp(actual) + + (isNot ? " not " : " ") + + englishyPredicate; + + if (expected.length > 0) { + for (var i = 0; i < expected.length; i++) { + if (i > 0) { + message += ","; + } + message += " " + j$.pp(expected[i]); + } + } + + return message + "."; + } + }; + + // Equality function lovingly adapted from isEqual in + // [Underscore](http://underscorejs.org) + function eq(a, b, aStack, bStack, customTesters) { + var result = true; + + for (var i = 0; i < customTesters.length; i++) { + var customTesterResult = customTesters[i](a, b); + if (!j$.util.isUndefined(customTesterResult)) { + return customTesterResult; + } + } + + if (a instanceof j$.Any) { + result = a.jasmineMatches(b); + if (result) { + return true; + } + } + + if (b instanceof j$.Any) { + result = b.jasmineMatches(a); + if (result) { + return true; + } + } + + if (b instanceof j$.ObjectContaining) { + result = b.jasmineMatches(a); + if (result) { + return true; + } + } + + if (a instanceof Error && b instanceof Error) { + return a.message == b.message; + } + + // Identical objects are equal. `0 === -0`, but they aren't identical. + // See the [Harmony `egal` proposal](http://wiki.ecmascript.org/doku.php?id=harmony:egal). + if (a === b) { return a !== 0 || 1 / a == 1 / b; } + // A strict comparison is necessary because `null == undefined`. + if (a === null || b === null) { return a === b; } + var className = Object.prototype.toString.call(a); + if (className != Object.prototype.toString.call(b)) { return false; } + switch (className) { + // Strings, numbers, dates, and booleans are compared by value. + case '[object String]': + // Primitives and their corresponding object wrappers are equivalent; thus, `"5"` is + // equivalent to `new String("5")`. + return a == String(b); + case '[object Number]': + // `NaN`s are equivalent, but non-reflexive. An `egal` comparison is performed for + // other numeric values. + return a != +a ? b != +b : (a === 0 ? 1 / a == 1 / b : a == +b); + case '[object Date]': + case '[object Boolean]': + // Coerce dates and booleans to numeric primitive values. Dates are compared by their + // millisecond representations. Note that invalid dates with millisecond representations + // of `NaN` are not equivalent. + return +a == +b; + // RegExps are compared by their source patterns and flags. + case '[object RegExp]': + return a.source == b.source && + a.global == b.global && + a.multiline == b.multiline && + a.ignoreCase == b.ignoreCase; + } + if (typeof a != 'object' || typeof b != 'object') { return false; } + // Assume equality for cyclic structures. The algorithm for detecting cyclic + // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`. + var length = aStack.length; + while (length--) { + // Linear search. Performance is inversely proportional to the number of + // unique nested structures. + if (aStack[length] == a) { return bStack[length] == b; } + } + // Add the first object to the stack of traversed objects. + aStack.push(a); + bStack.push(b); + var size = 0; + // Recursively compare objects and arrays. + if (className == '[object Array]') { + // Compare array lengths to determine if a deep comparison is necessary. + size = a.length; + result = size == b.length; + if (result) { + // Deep compare the contents, ignoring non-numeric properties. + while (size--) { + if (!(result = eq(a[size], b[size], aStack, bStack, customTesters))) { break; } + } + } + } else { + // Objects with different constructors are not equivalent, but `Object`s + // from different frames are. + var aCtor = a.constructor, bCtor = b.constructor; + if (aCtor !== bCtor && !(isFunction(aCtor) && (aCtor instanceof aCtor) && + isFunction(bCtor) && (bCtor instanceof bCtor))) { + return false; + } + // Deep compare objects. + for (var key in a) { + if (has(a, key)) { + // Count the expected number of properties. + size++; + // Deep compare each member. + if (!(result = has(b, key) && eq(a[key], b[key], aStack, bStack, customTesters))) { break; } + } + } + // Ensure that both objects contain the same number of properties. + if (result) { + for (key in b) { + if (has(b, key) && !(size--)) { break; } + } + result = !size; + } + } + // Remove the first object from the stack of traversed objects. + aStack.pop(); + bStack.pop(); + + return result; + + function has(obj, key) { + return obj.hasOwnProperty(key); + } + + function isFunction(obj) { + return typeof obj === 'function'; + } + } +}; + +getJasmineRequireObj().toBe = function() { + function toBe() { + return { + compare: function(actual, expected) { + return { + pass: actual === expected + }; + } + }; + } + + return toBe; +}; + +getJasmineRequireObj().toBeCloseTo = function() { + + function toBeCloseTo() { + return { + compare: function(actual, expected, precision) { + if (precision !== 0) { + precision = precision || 2; + } + + return { + pass: Math.abs(expected - actual) < (Math.pow(10, -precision) / 2) + }; + } + }; + } + + return toBeCloseTo; +}; + +getJasmineRequireObj().toBeDefined = function() { + function toBeDefined() { + return { + compare: function(actual) { + return { + pass: (void 0 !== actual) + }; + } + }; + } + + return toBeDefined; +}; + +getJasmineRequireObj().toBeFalsy = function() { + function toBeFalsy() { + return { + compare: function(actual) { + return { + pass: !!!actual + }; + } + }; + } + + return toBeFalsy; +}; + +getJasmineRequireObj().toBeGreaterThan = function() { + + function toBeGreaterThan() { + return { + compare: function(actual, expected) { + return { + pass: actual > expected + }; + } + }; + } + + return toBeGreaterThan; +}; + + +getJasmineRequireObj().toBeLessThan = function() { + function toBeLessThan() { + return { + + compare: function(actual, expected) { + return { + pass: actual < expected + }; + } + }; + } + + return toBeLessThan; +}; +getJasmineRequireObj().toBeNaN = function(j$) { + + function toBeNaN() { + return { + compare: function(actual) { + var result = { + pass: (actual !== actual) + }; + + if (result.pass) { + result.message = "Expected actual not to be NaN."; + } else { + result.message = "Expected " + j$.pp(actual) + " to be NaN."; + } + + return result; + } + }; + } + + return toBeNaN; +}; + +getJasmineRequireObj().toBeNull = function() { + + function toBeNull() { + return { + compare: function(actual) { + return { + pass: actual === null + }; + } + }; + } + + return toBeNull; +}; + +getJasmineRequireObj().toBeTruthy = function() { + + function toBeTruthy() { + return { + compare: function(actual) { + return { + pass: !!actual + }; + } + }; + } + + return toBeTruthy; +}; + +getJasmineRequireObj().toBeUndefined = function() { + + function toBeUndefined() { + return { + compare: function(actual) { + return { + pass: void 0 === actual + }; + } + }; + } + + return toBeUndefined; +}; + +getJasmineRequireObj().toContain = function() { + function toContain(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + + return { + pass: util.contains(actual, expected, customEqualityTesters) + }; + } + }; + } + + return toContain; +}; + +getJasmineRequireObj().toEqual = function() { + + function toEqual(util, customEqualityTesters) { + customEqualityTesters = customEqualityTesters || []; + + return { + compare: function(actual, expected) { + var result = { + pass: false + }; + + result.pass = util.equals(actual, expected, customEqualityTesters); + + return result; + } + }; + } + + return toEqual; +}; + +getJasmineRequireObj().toHaveBeenCalled = function(j$) { + + function toHaveBeenCalled() { + return { + compare: function(actual) { + var result = {}; + + if (!j$.isSpy(actual)) { + throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); + } + + if (arguments.length > 1) { + throw new Error('toHaveBeenCalled does not take arguments, use toHaveBeenCalledWith'); + } + + result.pass = actual.calls.any(); + + result.message = result.pass ? + "Expected spy " + actual.and.identity() + " not to have been called." : + "Expected spy " + actual.and.identity() + " to have been called."; + + return result; + } + }; + } + + return toHaveBeenCalled; +}; + +getJasmineRequireObj().toHaveBeenCalledWith = function(j$) { + + function toHaveBeenCalledWith(util) { + return { + compare: function() { + var args = Array.prototype.slice.call(arguments, 0), + actual = args[0], + expectedArgs = args.slice(1), + result = { pass: false }; + + if (!j$.isSpy(actual)) { + throw new Error('Expected a spy, but got ' + j$.pp(actual) + '.'); + } + + if (!actual.calls.any()) { + result.message = "Expected spy " + actual.and.identity() + " to have been called with " + j$.pp(expectedArgs) + " but it was never called."; + return result; + } + + if (util.contains(actual.calls.allArgs(), expectedArgs)) { + result.pass = true; + result.message = "Expected spy " + actual.and.identity() + " not to have been called with " + j$.pp(expectedArgs) + " but it was."; + } else { + result.message = "Expected spy " + actual.and.identity() + " to have been called with " + j$.pp(expectedArgs) + " but actual calls were " + j$.pp(actual.calls.allArgs()).replace(/^\[ | \]$/g, '') + "."; + } + + return result; + } + }; + } + + return toHaveBeenCalledWith; +}; + +getJasmineRequireObj().toMatch = function() { + + function toMatch() { + return { + compare: function(actual, expected) { + var regexp = new RegExp(expected); + + return { + pass: regexp.test(actual) + }; + } + }; + } + + return toMatch; +}; + +getJasmineRequireObj().toThrow = function(j$) { + + function toThrow(util) { + return { + compare: function(actual, expected) { + var result = { pass: false }, + threw = false, + thrown; + + if (typeof actual != "function") { + throw new Error("Actual is not a Function"); + } + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + result.message = "Expected function to throw an exception."; + return result; + } + + if (arguments.length == 1) { + result.pass = true; + result.message = "Expected function not to throw, but it threw " + j$.pp(thrown) + "."; + + return result; + } + + if (util.equals(thrown, expected)) { + result.pass = true; + result.message = "Expected function not to throw " + j$.pp(expected) + "."; + } else { + result.message = "Expected function to throw " + j$.pp(expected) + ", but it threw " + j$.pp(thrown) + "."; + } + + return result; + } + }; + } + + return toThrow; +}; + +getJasmineRequireObj().toThrowError = function(j$) { + function toThrowError (util) { + return { + compare: function(actual) { + var threw = false, + thrown, + errorType, + message, + regexp, + name, + constructorName; + + if (typeof actual != "function") { + throw new Error("Actual is not a Function"); + } + + extractExpectedParams.apply(null, arguments); + + try { + actual(); + } catch (e) { + threw = true; + thrown = e; + } + + if (!threw) { + return fail("Expected function to throw an Error."); + } + + if (!(thrown instanceof Error)) { + return fail("Expected function to throw an Error, but it threw " + thrown + "."); + } + + if (arguments.length == 1) { + return pass("Expected function not to throw an Error, but it threw " + fnNameFor(thrown) + "."); + } + + if (errorType) { + name = fnNameFor(errorType); + constructorName = fnNameFor(thrown.constructor); + } + + if (errorType && message) { + if (thrown.constructor == errorType && util.equals(thrown.message, message)) { + return pass("Expected function not to throw " + name + " with message \"" + message + "\"."); + } else { + return fail("Expected function to throw " + name + " with message \"" + message + + "\", but it threw " + constructorName + " with message \"" + thrown.message + "\"."); + } + } + + if (errorType && regexp) { + if (thrown.constructor == errorType && regexp.test(thrown.message)) { + return pass("Expected function not to throw " + name + " with message matching " + regexp + "."); + } else { + return fail("Expected function to throw " + name + " with message matching " + regexp + + ", but it threw " + constructorName + " with message \"" + thrown.message + "\"."); + } + } + + if (errorType) { + if (thrown.constructor == errorType) { + return pass("Expected function not to throw " + name + "."); + } else { + return fail("Expected function to throw " + name + ", but it threw " + constructorName + "."); + } + } + + if (message) { + if (thrown.message == message) { + return pass("Expected function not to throw an exception with message " + j$.pp(message) + "."); + } else { + return fail("Expected function to throw an exception with message " + j$.pp(message) + + ", but it threw an exception with message " + j$.pp(thrown.message) + "."); + } + } + + if (regexp) { + if (regexp.test(thrown.message)) { + return pass("Expected function not to throw an exception with a message matching " + j$.pp(regexp) + "."); + } else { + return fail("Expected function to throw an exception with a message matching " + j$.pp(regexp) + + ", but it threw an exception with message " + j$.pp(thrown.message) + "."); + } + } + + function fnNameFor(func) { + return func.name || func.toString().match(/^\s*function\s*(\w*)\s*\(/)[1]; + } + + function pass(notMessage) { + return { + pass: true, + message: notMessage + }; + } + + function fail(message) { + return { + pass: false, + message: message + }; + } + + function extractExpectedParams() { + if (arguments.length == 1) { + return; + } + + if (arguments.length == 2) { + var expected = arguments[1]; + + if (expected instanceof RegExp) { + regexp = expected; + } else if (typeof expected == "string") { + message = expected; + } else if (checkForAnErrorType(expected)) { + errorType = expected; + } + + if (!(errorType || message || regexp)) { + throw new Error("Expected is not an Error, string, or RegExp."); + } + } else { + if (checkForAnErrorType(arguments[1])) { + errorType = arguments[1]; + } else { + throw new Error("Expected error type is not an Error."); + } + + if (arguments[2] instanceof RegExp) { + regexp = arguments[2]; + } else if (typeof arguments[2] == "string") { + message = arguments[2]; + } else { + throw new Error("Expected error message is not a string or RegExp."); + } + } + } + + function checkForAnErrorType(type) { + if (typeof type !== "function") { + return false; + } + + var Surrogate = function() {}; + Surrogate.prototype = type.prototype; + return (new Surrogate()) instanceof Error; + } + } + }; + } + + return toThrowError; +}; + +getJasmineRequireObj().version = function() { + return "2.0.0"; +}; diff --git a/spec/lib/jasmine-2.0.0/jasmine_favicon.png b/spec/lib/jasmine-2.0.0/jasmine_favicon.png new file mode 100755 index 0000000000000000000000000000000000000000..3562e278f108d0f6a918d198f21e055e601c7e71 GIT binary patch literal 2057 zcmV+k2=@1hP)&ijKvfTC%$Wid1aFR2$ii+A1Wx?rx%@ z&1NNpLfWZ1g6QrB21_kem?Ba;0|mzpS}7H&g-YZnkRK=6?7O$$ecAi=Wg&q(^Y)(K zd(J)Q+;i`el#*S{2tOPiRoYFrGh&sD(R7k*sw7qlU9~_bzQZKtej(Y8DaO^i{0YBx zG3!ESWCvpN8mF*~^%OCB2n&wAm_;G;1?1QEc|9wiUjMXmZrCxb1K~i}TPpZ6?D&_^ zE*y4+kr}5YqouXUy0ycJo!5b;s>Z1X7ww46j66k4lKd-4+6~@8D0jj^j&C9fnkG5j z%A~vwI+Ulk#ZxFAs99%r<Qy@CSV`29g zvVeMmZ`A$MrNf$h;R;UlDokAO(20Fm$i&T$Cd?j9vlmcE%j}jy7~crcF^)p|RVZ11 zU%qiA&n4R`INPH>W{EaMbB`xd<|kbwXQBqyJ9NpW_cQ*Ag9C6Ju!=fO;3|KEgP0ji z)`b-kt7^P4?vFg1%z`J*qYRG0}f-F>a~5NhU4M@h1(m@oRE#%%}UzHm7_eL@p4 zZwe*qBN{K1{1EsHVu6NxHEp=LIS_dSJ>srWY3rDhF-=pPEwO%#viwl%aAGUk?hTJo z_+SKxegW8<6*%J|&*Cg>PmgVU<`foq5CzlLQWY+9^W3n?JCpPRXJT&kTjp1qXTEIq zNx>clZZ{`Y;5}Zhij?uyfp9T)_kb2g-eWb1XHLK%g~MSdMTp3|lF7CV=dUFLNkhx) zS=A8d{0-=tOH$@PG+oQqrs_YyNpey_#OzIa(#*IMbzGcPNE>9VQE-z#`mNFfd~?hn z*+@j~WvpU%_emKkoycA|%nldpaA`y7(Or|dkUK-E<*RaSn^$4&JL5kJR|GeiXC(1f zVq$()XIir_dJRV_uGEXb`(5_#LEwVO2Kt9-`ZQ;h7G zqk-%^2^!T{blcbo{I}>0KZKLlGvYT4q`gaeN6`*!CJEWO_)6Tmg3;hw$f4?@nul7r z&I9D@If6W>V7o5J*hfrG2C8nnAp?ru;9y5{x*B#~I7BFibdZq$(I|YdZP+-MQ}ywYVUCG z0U>cK(4ZzDscPViUI@FKs9`m?1fIJj=8OCk;r&y;LG9#m+3t$Q(hz9z*9`)9i1!qiu0pftFJEZ@$WPPVR=m5jv9Z-7rg3{7vVKRiDi3GKlM2QBvw-E zOY@(-RMXJXZv%|BpB<8|RuF1{;n6E&n7S2=F9u=%CrdhuGI~TmWN;UZLkDy=37JDh6DGf|WNinY+-QD@5Sv+L9CiBM zVBZG?D+QDFzeZW!1Z;CxiFiuOxo36nGhr+QZHo|mdTnyK-K^BbBt1NZC|=>n6FpwN zw%Sga^CnbRZ|O&T8w}3Uf|9Y{ca!*;df8~2d&W6`1qJ+mFj3#;rfXR3+&0db3co$D zpH?{cbB)^(P>9-rH{+QL2mYm*2A4|1)Y1G+xf6*p7uN^kSGTD6f~2w}ev5{_dg=0aX->Kcd_4M$=;9?x? zYV20E-3tyly%$2OyHAL9=3mUrND3Epz^&XIh<*dF+e%ze-^BTxirwLSODTw*L>`Xd nulYW~`SvFhb)UKQMuPtji`gObi$ZJx00000NkvXXu0mjf%0~0J literal 0 HcmV?d00001 diff --git a/spec/lib/jasmine-jquery.js b/spec/lib/jasmine-jquery.js new file mode 100644 index 0000000..33889e0 --- /dev/null +++ b/spec/lib/jasmine-jquery.js @@ -0,0 +1,813 @@ +/*! +Jasmine-jQuery: a set of jQuery helpers for Jasmine tests. + +Version 2.0.1 + +https://github.com/velesin/jasmine-jquery + +Copyright (c) 2010-2013 Wojciech Zawistowski, Travis Jeffery + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + ++function (window, jasmine, $) { "use strict"; + + jasmine.spiedEventsKey = function (selector, eventName) { + return [$(selector).selector, eventName].toString() + } + + jasmine.getFixtures = function () { + return jasmine.currentFixtures_ = jasmine.currentFixtures_ || new jasmine.Fixtures() + } + + jasmine.getStyleFixtures = function () { + return jasmine.currentStyleFixtures_ = jasmine.currentStyleFixtures_ || new jasmine.StyleFixtures() + } + + jasmine.Fixtures = function () { + this.containerId = 'jasmine-fixtures' + this.fixturesCache_ = {} + this.fixturesPath = 'spec/javascripts/fixtures' + } + + jasmine.Fixtures.prototype.set = function (html) { + this.cleanUp() + return this.createContainer_(html) + } + + jasmine.Fixtures.prototype.appendSet= function (html) { + this.addToContainer_(html) + } + + jasmine.Fixtures.prototype.preload = function () { + this.read.apply(this, arguments) + } + + jasmine.Fixtures.prototype.load = function () { + this.cleanUp() + this.createContainer_(this.read.apply(this, arguments)) + } + + jasmine.Fixtures.prototype.appendLoad = function () { + this.addToContainer_(this.read.apply(this, arguments)) + } + + jasmine.Fixtures.prototype.read = function () { + var htmlChunks = [] + , fixtureUrls = arguments + + for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) { + htmlChunks.push(this.getFixtureHtml_(fixtureUrls[urlIndex])) + } + + return htmlChunks.join('') + } + + jasmine.Fixtures.prototype.clearCache = function () { + this.fixturesCache_ = {} + } + + jasmine.Fixtures.prototype.cleanUp = function () { + $('#' + this.containerId).remove() + } + + jasmine.Fixtures.prototype.sandbox = function (attributes) { + var attributesToSet = attributes || {} + return $('
').attr(attributesToSet) + } + + jasmine.Fixtures.prototype.createContainer_ = function (html) { + var container = $('
') + .attr('id', this.containerId) + .html(html) + + $(document.body).append(container) + return container + } + + jasmine.Fixtures.prototype.addToContainer_ = function (html){ + var container = $(document.body).find('#'+this.containerId).append(html) + + if (!container.length) { + this.createContainer_(html) + } + } + + jasmine.Fixtures.prototype.getFixtureHtml_ = function (url) { + if (typeof this.fixturesCache_[url] === 'undefined') { + this.loadFixtureIntoCache_(url) + } + return this.fixturesCache_[url] + } + + jasmine.Fixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) { + var self = this + , url = this.makeFixtureUrl_(relativeUrl) + , htmlText = '' + , request = $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + url: url, + success: function (data, status, $xhr) { + htmlText = $xhr.responseText + } + }).fail(function () { + throw new Error('Fixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + }) + + var scripts = $($.parseHTML(htmlText, true)).find('script[src]') || []; + + scripts.each(function(){ + $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + dataType: 'script', + url: $(this).attr('src'), + success: function (data, status, $xhr) { + htmlText += '' + }, + error: function (jqXHR, status, errorThrown) { + throw new Error('Script could not be loaded: ' + scriptSrc + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + } + }); + }) + + self.fixturesCache_[relativeUrl] = htmlText; + } + + jasmine.Fixtures.prototype.makeFixtureUrl_ = function (relativeUrl){ + return this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl + } + + jasmine.Fixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) { + return this[methodName].apply(this, passedArguments) + } + + + jasmine.StyleFixtures = function () { + this.fixturesCache_ = {} + this.fixturesNodes_ = [] + this.fixturesPath = 'spec/javascripts/fixtures' + } + + jasmine.StyleFixtures.prototype.set = function (css) { + this.cleanUp() + this.createStyle_(css) + } + + jasmine.StyleFixtures.prototype.appendSet = function (css) { + this.createStyle_(css) + } + + jasmine.StyleFixtures.prototype.preload = function () { + this.read_.apply(this, arguments) + } + + jasmine.StyleFixtures.prototype.load = function () { + this.cleanUp() + this.createStyle_(this.read_.apply(this, arguments)) + } + + jasmine.StyleFixtures.prototype.appendLoad = function () { + this.createStyle_(this.read_.apply(this, arguments)) + } + + jasmine.StyleFixtures.prototype.cleanUp = function () { + while(this.fixturesNodes_.length) { + this.fixturesNodes_.pop().remove() + } + } + + jasmine.StyleFixtures.prototype.createStyle_ = function (html) { + var styleText = $('
').html(html).text() + , style = $('') + + this.fixturesNodes_.push(style) + $('head').append(style) + } + + jasmine.StyleFixtures.prototype.clearCache = jasmine.Fixtures.prototype.clearCache + jasmine.StyleFixtures.prototype.read_ = jasmine.Fixtures.prototype.read + jasmine.StyleFixtures.prototype.getFixtureHtml_ = jasmine.Fixtures.prototype.getFixtureHtml_ + jasmine.StyleFixtures.prototype.loadFixtureIntoCache_ = jasmine.Fixtures.prototype.loadFixtureIntoCache_ + jasmine.StyleFixtures.prototype.makeFixtureUrl_ = jasmine.Fixtures.prototype.makeFixtureUrl_ + jasmine.StyleFixtures.prototype.proxyCallTo_ = jasmine.Fixtures.prototype.proxyCallTo_ + + jasmine.getJSONFixtures = function () { + return jasmine.currentJSONFixtures_ = jasmine.currentJSONFixtures_ || new jasmine.JSONFixtures() + } + + jasmine.JSONFixtures = function () { + this.fixturesCache_ = {} + this.fixturesPath = 'spec/javascripts/fixtures/json' + } + + jasmine.JSONFixtures.prototype.load = function () { + this.read.apply(this, arguments) + return this.fixturesCache_ + } + + jasmine.JSONFixtures.prototype.read = function () { + var fixtureUrls = arguments + + for(var urlCount = fixtureUrls.length, urlIndex = 0; urlIndex < urlCount; urlIndex++) { + this.getFixtureData_(fixtureUrls[urlIndex]) + } + + return this.fixturesCache_ + } + + jasmine.JSONFixtures.prototype.clearCache = function () { + this.fixturesCache_ = {} + } + + jasmine.JSONFixtures.prototype.getFixtureData_ = function (url) { + if (!this.fixturesCache_[url]) this.loadFixtureIntoCache_(url) + return this.fixturesCache_[url] + } + + jasmine.JSONFixtures.prototype.loadFixtureIntoCache_ = function (relativeUrl) { + var self = this + , url = this.fixturesPath.match('/$') ? this.fixturesPath + relativeUrl : this.fixturesPath + '/' + relativeUrl + + $.ajax({ + async: false, // must be synchronous to guarantee that no tests are run before fixture is loaded + cache: false, + dataType: 'json', + url: url, + success: function (data) { + self.fixturesCache_[relativeUrl] = data + }, + error: function (jqXHR, status, errorThrown) { + throw new Error('JSONFixture could not be loaded: ' + url + ' (status: ' + status + ', message: ' + errorThrown.message + ')') + } + }) + } + + jasmine.JSONFixtures.prototype.proxyCallTo_ = function (methodName, passedArguments) { + return this[methodName].apply(this, passedArguments) + } + + jasmine.jQuery = function () {} + + jasmine.jQuery.browserTagCaseIndependentHtml = function (html) { + return $('
').append(html).html() + } + + jasmine.jQuery.elementToString = function (element) { + return $(element).map(function () { return this.outerHTML; }).toArray().join(', ') + } + + var data = { + spiedEvents: {} + , handlers: [] + } + + jasmine.jQuery.events = { + spyOn: function (selector, eventName) { + var handler = function (e) { + data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] = jasmine.util.argsToArray(arguments) + } + + $(selector).on(eventName, handler) + data.handlers.push(handler) + + return { + selector: selector, + eventName: eventName, + handler: handler, + reset: function (){ + delete data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + } + } + }, + + args: function (selector, eventName) { + var actualArgs = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + + if (!actualArgs) { + throw "There is no spy for " + eventName + " on " + selector.toString() + ". Make sure to create a spy using spyOnEvent." + } + + return actualArgs + }, + + wasTriggered: function (selector, eventName) { + return !!(data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)]) + }, + + wasTriggeredWith: function (selector, eventName, expectedArgs, util, customEqualityTesters) { + var actualArgs = jasmine.jQuery.events.args(selector, eventName).slice(1) + + if (Object.prototype.toString.call(expectedArgs) !== '[object Array]') + actualArgs = actualArgs[0] + + return util.equals(expectedArgs, actualArgs, customEqualityTesters) + }, + + wasPrevented: function (selector, eventName) { + var args = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + , e = args ? args[0] : undefined + + return e && e.isDefaultPrevented() + }, + + wasStopped: function (selector, eventName) { + var args = data.spiedEvents[jasmine.spiedEventsKey(selector, eventName)] + , e = args ? args[0] : undefined + return e && e.isPropagationStopped() + }, + + cleanUp: function () { + data.spiedEvents = {} + data.handlers = [] + } + } + + var hasProperty = function (actualValue, expectedValue) { + if (expectedValue === undefined) + return actualValue !== undefined + + return actualValue === expectedValue + } + + beforeEach(function () { + jasmine.addMatchers({ + toHaveClass: function () { + return { + compare: function (actual, className) { + return { pass: $(actual).hasClass(className) } + } + } + }, + + toHaveCss: function () { + return { + compare: function (actual, css) { + for (var prop in css){ + var value = css[prop] + // see issue #147 on gh + ;if (value === 'auto' && $(actual).get(0).style[prop] === 'auto') continue + if ($(actual).css(prop) !== value) return { pass: false } + } + return { pass: true } + } + } + }, + + toBeVisible: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':visible') } + } + } + }, + + toBeHidden: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':hidden') } + } + } + }, + + toBeSelected: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':selected') } + } + } + }, + + toBeChecked: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':checked') } + } + } + }, + + toBeEmpty: function () { + return { + compare: function (actual) { + return { pass: $(actual).is(':empty') } + } + } + }, + + toBeInDOM: function () { + return { + compare: function (actual) { + return { pass: $.contains(document.documentElement, $(actual)[0]) } + } + } + }, + + toExist: function () { + return { + compare: function (actual) { + return { pass: $(actual).length } + } + } + }, + + toHaveLength: function () { + return { + compare: function (actual, length) { + return { pass: $(actual).length === length } + } + } + }, + + toHaveAttr: function () { + return { + compare: function (actual, attributeName, expectedAttributeValue) { + return { pass: hasProperty($(actual).attr(attributeName), expectedAttributeValue) } + } + } + }, + + toHaveProp: function () { + return { + compare: function (actual, propertyName, expectedPropertyValue) { + return { pass: hasProperty($(actual).prop(propertyName), expectedPropertyValue) } + } + } + }, + + toHaveId: function () { + return { + compare: function (actual, id) { + return { pass: $(actual).attr('id') == id } + } + } + }, + + toHaveHtml: function () { + return { + compare: function (actual, html) { + return { pass: $(actual).html() == jasmine.jQuery.browserTagCaseIndependentHtml(html) } + } + } + }, + + toContainHtml: function () { + return { + compare: function (actual, html) { + var actualHtml = $(actual).html() + , expectedHtml = jasmine.jQuery.browserTagCaseIndependentHtml(html) + + return { pass: (actualHtml.indexOf(expectedHtml) >= 0) } + } + } + }, + + toHaveText: function () { + return { + compare: function (actual, text) { + var trimmedText = $.trim($(actual).text()) + + if (text && $.isFunction(text.test)) { + return { pass: text.test(trimmedText) } + } else { + return { pass: trimmedText == text } + } + } + } + }, + + toContainText: function () { + return { + compare: function (actual, text) { + var trimmedText = $.trim($(actual).text()) + + if (text && $.isFunction(text.test)) { + return { pass: text.test(trimmedText) } + } else { + return { pass: trimmedText.indexOf(text) != -1 } + } + } + } + }, + + toHaveValue: function () { + return { + compare: function (actual, value) { + return { pass: $(actual).val() === value } + } + } + }, + + toHaveData: function () { + return { + compare: function (actual, key, expectedValue) { + return { pass: hasProperty($(actual).data(key), expectedValue) } + } + } + }, + + toContainElement: function () { + return { + compare: function (actual, selector) { + if (window.debug) debugger + return { pass: $(actual).find(selector).length } + } + } + }, + + toBeMatchedBy: function () { + return { + compare: function (actual, selector) { + return { pass: $(actual).filter(selector).length } + } + } + }, + + toBeDisabled: function () { + return { + compare: function (actual, selector) { + return { pass: $(actual).is(':disabled') } + } + } + }, + + toBeFocused: function (selector) { + return { + compare: function (actual, selector) { + return { pass: $(actual)[0] === $(actual)[0].ownerDocument.activeElement } + } + } + }, + + toHandle: function () { + return { + compare: function (actual, event) { + var events = $._data($(actual).get(0), "events") + + if (!events || !event || typeof event !== "string") { + return { pass: false } + } + + var namespaces = event.split(".") + , eventType = namespaces.shift() + , sortedNamespaces = namespaces.slice(0).sort() + , namespaceRegExp = new RegExp("(^|\\.)" + sortedNamespaces.join("\\.(?:.*\\.)?") + "(\\.|$)") + + if (events[eventType] && namespaces.length) { + for (var i = 0; i < events[eventType].length; i++) { + var namespace = events[eventType][i].namespace + + if (namespaceRegExp.test(namespace)) + return { pass: true } + } + } else { + return { pass: (events[eventType] && events[eventType].length > 0) } + } + + return { pass: false } + } + } + }, + + toHandleWith: function () { + return { + compare: function (actual, eventName, eventHandler) { + var normalizedEventName = eventName.split('.')[0] + , stack = $._data($(actual).get(0), "events")[normalizedEventName] + + for (var i = 0; i < stack.length; i++) { + if (stack[i].handler == eventHandler) return { pass: true } + } + + return { pass: false } + } + } + }, + + toHaveBeenTriggeredOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasTriggered(selector, actual) } + + result.message = result.pass ? + "Expected event " + $(actual) + " not to have been triggered on " + selector : + "Expected event " + $(actual) + " to have been triggered on " + selector + + return result; + } + } + }, + + toHaveBeenTriggered: function (){ + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasTriggered(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been triggered on " + selector : + "Expected event " + eventName + " to have been triggered on " + selector + + return result + } + } + }, + + toHaveBeenTriggeredOnAndWith: function (j$, customEqualityTesters) { + return { + compare: function (actual, selector, expectedArgs) { + var wasTriggered = jasmine.jQuery.events.wasTriggered(selector, actual) + , result = { pass: wasTriggered && jasmine.jQuery.events.wasTriggeredWith(selector, actual, expectedArgs, j$, customEqualityTesters) } + + if (wasTriggered) { + var actualArgs = jasmine.jQuery.events.args(selector, actual, expectedArgs)[1] + result.message = result.pass ? + "Expected event " + actual + " not to have been triggered with " + jasmine.pp(expectedArgs) + " but it was triggered with " + jasmine.pp(actualArgs) : + "Expected event " + actual + " to have been triggered with " + jasmine.pp(expectedArgs) + " but it was triggered with " + jasmine.pp(actualArgs) + + } else { + // todo check on this + result.message = result.pass ? + "Expected event " + actual + " not to have been triggered on " + selector : + "Expected event " + actual + " to have been triggered on " + selector + } + + return result + } + } + }, + + toHaveBeenPreventedOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasPrevented(selector, actual) } + + result.message = result.pass ? + "Expected event " + actual + " not to have been prevented on " + selector : + "Expected event " + actual + " to have been prevented on " + selector + + return result + } + } + }, + + toHaveBeenPrevented: function () { + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasPrevented(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been prevented on " + selector : + "Expected event " + eventName + " to have been prevented on " + selector + + return result + } + } + }, + + toHaveBeenStoppedOn: function () { + return { + compare: function (actual, selector) { + var result = { pass: jasmine.jQuery.events.wasStopped(selector, actual) } + + result.message = result.pass ? + "Expected event " + actual + " not to have been stopped on " + selector : + "Expected event " + actual + " to have been stopped on " + selector + + return result; + } + } + }, + + toHaveBeenStopped: function () { + return { + compare: function (actual) { + var eventName = actual.eventName + , selector = actual.selector + , result = { pass: jasmine.jQuery.events.wasStopped(selector, eventName) } + + result.message = result.pass ? + "Expected event " + eventName + " not to have been stopped on " + selector : + "Expected event " + eventName + " to have been stopped on " + selector + + return result + } + } + } + }) + + jasmine.getEnv().addCustomEqualityTester(function(a, b) { + if (a && b) { + if (a instanceof $ || jasmine.isDomNode(a)) { + var $a = $(a) + + if (b instanceof $) + return $a.length == b.length && a.is(b) + + return $a.is(b); + } + + if (b instanceof $ || jasmine.isDomNode(b)) { + var $b = $(b) + + if (a instanceof jQuery) + return a.length == $b.length && $b.is(a) + + return $(b).is(a); + } + } + }) + + jasmine.getEnv().addCustomEqualityTester(function (a, b) { + if (a instanceof jQuery && b instanceof jQuery && a.size() == b.size()) + return a.is(b) + }) + }) + + afterEach(function () { + jasmine.getFixtures().cleanUp() + jasmine.getStyleFixtures().cleanUp() + jasmine.jQuery.events.cleanUp() + }) + + window.readFixtures = function () { + return jasmine.getFixtures().proxyCallTo_('read', arguments) + } + + window.preloadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('preload', arguments) + } + + window.loadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('load', arguments) + } + + window.appendLoadFixtures = function () { + jasmine.getFixtures().proxyCallTo_('appendLoad', arguments) + } + + window.setFixtures = function (html) { + return jasmine.getFixtures().proxyCallTo_('set', arguments) + } + + window.appendSetFixtures = function () { + jasmine.getFixtures().proxyCallTo_('appendSet', arguments) + } + + window.sandbox = function (attributes) { + return jasmine.getFixtures().sandbox(attributes) + } + + window.spyOnEvent = function (selector, eventName) { + return jasmine.jQuery.events.spyOn(selector, eventName) + } + + window.preloadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('preload', arguments) + } + + window.loadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('load', arguments) + } + + window.appendLoadStyleFixtures = function () { + jasmine.getStyleFixtures().proxyCallTo_('appendLoad', arguments) + } + + window.setStyleFixtures = function (html) { + jasmine.getStyleFixtures().proxyCallTo_('set', arguments) + } + + window.appendSetStyleFixtures = function (html) { + jasmine.getStyleFixtures().proxyCallTo_('appendSet', arguments) + } + + window.loadJSONFixtures = function () { + return jasmine.getJSONFixtures().proxyCallTo_('load', arguments) + } + + window.getJSONFixture = function (url) { + return jasmine.getJSONFixtures().proxyCallTo_('read', arguments)[url] + } +}(window, window.jasmine, window.jQuery); + diff --git a/src/jquery.cycle2.progressive.js b/src/jquery.cycle2.progressive.js index 2eab77e..4351aff 100644 --- a/src/jquery.cycle2.progressive.js +++ b/src/jquery.cycle2.progressive.js @@ -11,11 +11,11 @@ $(document).on( 'cycle-pre-initialize', function( e, opts ) { return; var API = opts.API; - var nextFn = API.next; - var prevFn = API.prev; var prepareTxFn = API.prepareTx; + var pageFn = API.page; var type = $.type( opts.progressive ); - var slides, scriptEl; + var slides, scriptEl, nodeName; + var progressive = API.progressive = {}; if ( type == 'array' ) { slides = opts.progressive; @@ -41,91 +41,98 @@ $(document).on( 'cycle-pre-initialize', function( e, opts ) { else { // plain text, split on delimeter slides = slides.split( new RegExp( scriptEl.data('cycle-split') || '\n') ); - + // #95; look for empty slide if ( ! slides[ slides.length - 1 ] ) slides.pop(); } } + progressive.buildSlide = function( markup, nodeName ) { + nodeName = nodeName || "IMG"; + + return $( "<" + nodeName + " />" ) + .data( "cycle.progressive", $.trim(markup) ) + .addClass( 'cycle-progressive-slide' ); + }; + if ( opts.pager ) { + nodeName = opts.slides.length ? opts.slides[0].nodeName : ""; + $.each( slides, function( index, slide ) { + opts.API.add( progressive.buildSlide(slide, nodeName) ); + }); + } if ( prepareTxFn ) { API.prepareTx = function( manual, fwd ) { - var index, slide; - - if ( manual || slides.length === 0 ) { - prepareTxFn.apply( opts.API, [ manual, fwd ] ); - return; - } + var opts = this.opts(), + index = fwd ? opts.currSlide + 1 : opts.currSlide - 1, + $slide = $( opts.slides[index] ); - if ( fwd && opts.currSlide == ( opts.slideCount-1) ) { - slide = slides[ 0 ]; - slides = slides.slice( 1 ); - opts.container.one('cycle-slide-added', function(e, opts ) { - setTimeout(function() { - opts.API.advanceSlide( 1 ); - },50); - }); - opts.API.add( slide ); - } - else if ( !fwd && opts.currSlide === 0 ) { - index = slides.length-1; - slide = slides[ index ]; - slides = slides.slice( 0, index ); - opts.container.one('cycle-slide-added', function(e, opts ) { - setTimeout(function() { - opts.currSlide = 1; - opts.API.advanceSlide( -1 ); - },50); - }); - opts.API.add( slide, true ); - } - else { - prepareTxFn.apply( opts.API, [ manual, fwd ] ); - } + progressive.navigate( $slide, function( api, args ) { + return function() { + prepareTxFn.apply( api, args ); + }; + }(opts.API, [ manual, fwd ]) ); }; } - if ( nextFn ) { - API.next = function() { - var opts = this.opts(); - if ( slides.length && opts.currSlide == ( opts.slideCount - 1 ) ) { - var slide = slides[ 0 ]; - slides = slides.slice( 1 ); - opts.container.one('cycle-slide-added', function(e, opts ) { - nextFn.apply( opts.API ); - opts.container.removeClass('cycle-loading'); - }); - opts.container.addClass('cycle-loading'); - opts.API.add( slide ); - } - else { - nextFn.apply( opts.API ); - } - }; - } - - if ( prevFn ) { - API.prev = function() { - var opts = this.opts(); - if ( slides.length && opts.currSlide === 0 ) { - var index = slides.length-1; - var slide = slides[ index ]; - slides = slides.slice( 0, index ); - opts.container.one('cycle-slide-added', function(e, opts ) { - opts.currSlide = 1; - opts.API.advanceSlide( -1 ); - opts.container.removeClass('cycle-loading'); - }); - opts.container.addClass('cycle-loading'); - opts.API.add( slide, true ); - } - else { - prevFn.apply( opts.API ); - } + if ( pageFn ) { + API.page = function( pager, target ) { + var opts = this.opts(), + index = $( target ).index(), + $slide = $( opts.slides[index] ); + + progressive.navigate( $slide, function( index ) { + return function() { + opts.API.jump( index ); + }; + }(index) ); }; } + + progressive.hydrate = function( $slide, opts ) { + var count = opts.container.find( ".cycle-slide" ).length, + index = $slide.index( ".cycle-slide" ) - 1, + $hydrated = $( $slide.data("cycle.progressive") ).addClass( "cycle-slide" ), + slideOpts = $slide.data( "cycle.opts" ), $images; + + $hydrated.data( "cycle.opts", slideOpts ); + progressive.replaceSlide( $hydrated[0], index, opts ); + opts.container.data( "cycle.opts", opts ); + opts.container.find( ".cycle-slide" ).eq( index + 1 ).replaceWith( $hydrated ); + $images = $hydrated.find( "img" ).andSelf().filter( "img" ); + if ( $images.length ) { + $images.load(function() { + opts.API.trigger( "cycle-slide-hydrated", [opts, slideOpts, $hydrated] ); + }); + } else { + opts.API.trigger( "cycle-slide-hydrated", [opts, slideOpts, $hydrated] ); + } + + return $hydrated; + }; + + progressive.navigate = function( $slide, proceed ) { + if ( $slide.hasClass("cycle-progressive-slide") ) { + opts.container.one( "cycle-slide-hydrated", function( e, opts ) { + if ( proceed ) { proceed(); } + opts.container.removeClass( "cycle-loading" ); + }); + opts.container.addClass( "cycle-loading" ); + progressive.hydrate( $slide, opts ); + } else { + if ( proceed ) { proceed(); } + } + }; + + progressive.replaceSlide = function( newSlide, index, opts ) { + var newSlides = []; + $.each( opts.slides, function(i, slide) { + newSlides.push( i === index ? newSlide : slide ); + }); + opts.slides = $( newSlides ); + }; }); })(jQuery); From b8bbab518f65e1475b3a3aaeb5c5daa252cad266 Mon Sep 17 00:00:00 2001 From: Elijah Manor Date: Fri, 24 Jan 2014 10:47:55 -0600 Subject: [PATCH 2/5] Hide hydrated slide before adding it --- build/core/jquery.cycle2.autoheight.min.js | 2 +- build/core/jquery.cycle2.caption.min.js | 2 +- build/core/jquery.cycle2.command.min.js | 2 +- build/core/jquery.cycle2.core.min.js | 2 +- build/core/jquery.cycle2.hash.min.js | 2 +- build/core/jquery.cycle2.loader.min.js | 2 +- build/core/jquery.cycle2.pager.min.js | 2 +- build/core/jquery.cycle2.prevnext.min.js | 2 +- build/core/jquery.cycle2.progressive.min.js | 4 ++-- build/core/jquery.cycle2.tmpl.min.js | 2 +- build/jquery.cycle2.js | 4 ++-- build/jquery.cycle2.js.map | 2 +- build/jquery.cycle2.min.js | 4 ++-- build/plugin/jquery.cycle2.caption2.min.js | 2 +- build/plugin/jquery.cycle2.carousel.min.js | 2 +- build/plugin/jquery.cycle2.center.min.js | 2 +- build/plugin/jquery.cycle2.flip.min.js | 2 +- build/plugin/jquery.cycle2.ie-fade.min.js | 2 +- build/plugin/jquery.cycle2.scrollVert.min.js | 2 +- build/plugin/jquery.cycle2.shuffle.min.js | 2 +- build/plugin/jquery.cycle2.swipe.min.js | 2 +- build/plugin/jquery.cycle2.tile.min.js | 2 +- build/plugin/jquery.cycle2.video.min.js | 2 +- spec/jquery.cycle2.progressive.spec.js | 2 +- src/jquery.cycle2.progressive.js | 2 +- 25 files changed, 28 insertions(+), 28 deletions(-) diff --git a/build/core/jquery.cycle2.autoheight.min.js b/build/core/jquery.cycle2.autoheight.min.js index 2845ef8..e858ce1 100644 --- a/build/core/jquery.cycle2.autoheight.min.js +++ b/build/core/jquery.cycle2.autoheight.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\d+\:\d+/.test(i)&&(h=i.match(/(\d+)\:(\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.caption.min.js b/build/core/jquery.cycle2.caption.min.js index cd0da85..7bf533e 100644 --- a/build/core/jquery.cycle2.caption.min.js +++ b/build/core/jquery.cycle2.caption.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.command.min.js b/build/core/jquery.cycle2.command.min.js index 5c9feb5..04f02dc 100644 --- a/build/core/jquery.cycle2.command.min.js +++ b/build/core/jquery.cycle2.command.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log('slideshow must be initialized before sending commands; "'+d+'" ignored'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){a(this).removeData(),c(this,"parsedAttrs",!1)})},jump:function(a){var b,c=this.opts();if(!c.busy||c.manualTrump){var d=parseInt(a,10);if(isNaN(d)||0>d||d>=c.slides.length)return void c.API.log("goto: invalid slide index: "+d);if(d==c.currSlide)return void c.API.log("goto: skipping, already on slide",d);c.nextSlide=d,clearTimeout(c.timeoutId),c.timeoutId=0,c.API.log("goto: ",d," (zero-index)"),b=c.currSlide .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.prevnext.min.js b/build/core/jquery.cycle2.prevnext.min.js index 28cbfb5..6de38e7 100644 --- a/build/core/jquery.cycle2.prevnext.min.js +++ b/build/core/jquery.cycle2.prevnext.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.progressive.min.js b/build/core/jquery.cycle2.progressive.min.js index 8683fca..f8fb06b 100644 --- a/build/core/jquery.cycle2.progressive.min.js +++ b/build/core/jquery.cycle2.progressive.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ -!function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.tmpl.min.js b/build/core/jquery.cycle2.tmpl.min.js index 5083823..12bffe6 100644 --- a/build/core/jquery.cycle2.tmpl.min.js +++ b/build/core/jquery.cycle2.tmpl.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;f .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery),/*! prevnext plugin for Cycle2; version: 20130709 */ function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2; version: 20130315 */ -function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;fb.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;cb.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a('').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.center.min.js b/build/plugin/jquery.cycle2.center.min.js index 504c643..61fba90 100644 --- a/build/plugin/jquery.cycle2.center.min.js +++ b/build/plugin/jquery.cycle2.center.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),a(document).on("cycle-pre-initialize",function(b,c){function d(){clearTimeout(i),i=setTimeout(g,50)}function e(){clearTimeout(i),clearTimeout(j),a(window).off("resize orientationchange",d)}function f(){c.slides.each(h)}function g(){h.apply(c.container.find("."+c.slideActiveClass)),clearTimeout(j),j=setTimeout(f,50)}function h(){var b=a(this),d=c.container.width(),e=c.container.height(),f=b.outerWidth(),g=b.outerHeight();f&&(c.centerHorz&&d>=f&&b.css("marginLeft",(d-f)/2),c.centerVert&&e>=g&&b.css("marginTop",(e-g)/2))}if(c.centerHorz||c.centerVert){var i,j;a(window).on("resize orientationchange",d),c.container.on("cycle-destroyed",e),c.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(){d()}),g()}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.flip.min.js b/build/plugin/jquery.cycle2.flip.min.js index 10c1faf..5d4ee36 100644 --- a/build/plugin/jquery.cycle2.flip.min.js +++ b/build/plugin/jquery.cycle2.flip.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";function b(b){return{preInit:function(a){a.slides.css(d)},transition:function(c,d,e,f,g){var h=c,i=a(d),j=a(e),k=h.speed/2;b.call(j,-90),j.css({display:"block","background-position":"-90px",opacity:1}),i.css("background-position","0px"),i.animate({backgroundPosition:90},{step:b,duration:k,easing:h.easeOut||h.easing,complete:function(){c.API.updateView(!1,!0),j.animate({backgroundPosition:0},{step:b,duration:k,easing:h.easeIn||h.easing,complete:g})}})}}}function c(b){return function(c){var d=a(this);d.css({"-webkit-transform":"rotate"+b+"("+c+"deg)","-moz-transform":"rotate"+b+"("+c+"deg)","-ms-transform":"rotate"+b+"("+c+"deg)","-o-transform":"rotate"+b+"("+c+"deg)",transform:"rotate"+b+"("+c+"deg)"})}}var d,e=document.createElement("div").style,f=a.fn.cycle.transitions,g=void 0!==e.transform||void 0!==e.MozTransform||void 0!==e.webkitTransform||void 0!==e.oTransform||void 0!==e.msTransform;g&&void 0!==e.msTransform&&(e.msTransform="rotateY(0deg)",e.msTransform||(g=!1)),g?(f.flipHorz=b(c("Y")),f.flipVert=b(c("X")),d={"-webkit-backface-visibility":"hidden","-moz-backface-visibility":"hidden","-o-backface-visibility":"hidden","backface-visibility":"hidden"}):(f.flipHorz=f.scrollHorz,f.flipVert=f.scrollVert||f.scrollHorz)}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.ie-fade.min.js b/build/plugin/jquery.cycle2.ie-fade.min.js index cbffb6b..b12f154 100644 --- a/build/plugin/jquery.cycle2.ie-fade.min.js +++ b/build/plugin/jquery.cycle2.ie-fade.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";function b(a,b,c){if(a&&c.style.filter){b._filter=c.style.filter;try{c.style.removeAttribute("filter")}catch(d){}}else!a&&b._filter&&(c.style.filter=b._filter)}a.extend(a.fn.cycle.transitions,{fade:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:0,display:"block"}),c.animIn={opacity:1},c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}},fadeout:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:1,display:"block"}),c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.scrollVert.min.js b/build/plugin/jquery.cycle2.scrollVert.min.js index e0571bd..5e6d320 100644 --- a/build/plugin/jquery.cycle2.scrollVert.min.js +++ b/build/plugin/jquery.cycle2.scrollVert.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.fn.cycle.transitions.scrollVert={before:function(a,b,c,d){a.API.stackSlides(a,b,c,d);var e=a.container.css("overflow","hidden").height();a.cssBefore={top:d?-e:e,left:0,opacity:1,display:"block"},a.animIn={top:0},a.animOut={top:d?e:-e}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.shuffle.min.js b/build/plugin/jquery.cycle2.shuffle.min.js index 4498b07..16f4835 100644 --- a/build/plugin/jquery.cycle2.shuffle.min.js +++ b/build/plugin/jquery.cycle2.shuffle.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.fn.cycle.transitions.shuffle={transition:function(b,c,d,e,f){function g(a){this.stack(b,c,d,e),a()}a(d).show();var h=b.container.css("overflow","visible").width(),i=b.speed/2,j=e?c:d;b=b.API.getSlideOpts(e?b.currSlide:b.nextSlide);var k={left:-h,top:15},l=b.slideCss||{left:0,top:0};void 0!==b.shuffleLeft?k.left=k.left+parseInt(b.shuffleLeft,10)||0:void 0!==b.shuffleRight&&(k.left=h+parseInt(b.shuffleRight,10)||0),b.shuffleTop&&(k.top=b.shuffleTop),a(j).animate(k,i,b.easeIn||b.easing).queue("fx",a.proxy(g,this)).animate(l,i,b.easeOut||b.easing,f)},stack:function(b,c,d,e){var f,g;if(e)b.API.stackSlides(d,c,e),a(c).css("zIndex",1);else{for(g=1,f=b.nextSlide-1;f>=0;f--)a(b.slides[f]).css("zIndex",g++);for(f=b.slideCount-1;f>b.nextSlide;f--)a(b.slides[f]).css("zIndex",g++);a(d).css("zIndex",b.maxZ),a(c).css("zIndex",b.maxZ-1)}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.swipe.min.js b/build/plugin/jquery.cycle2.swipe.min.js index 1f9d833..b27cb78 100644 --- a/build/plugin/jquery.cycle2.swipe.min.js +++ b/build/plugin/jquery.cycle2.swipe.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.event.special.swipe=a.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var b=a(this);b.bind("touchstart",function(c){function d(b){if(g){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;e={time:(new Date).getTime(),coords:[c.pageX,c.pageY]},Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e,f=c.originalEvent.touches?c.originalEvent.touches[0]:c,g={time:(new Date).getTime(),coords:[f.pageX,f.pageY],origin:a(c.target)};b.bind("touchmove",d).one("touchend",function(){b.unbind("touchmove",d),g&&e&&e.time-g.timea.event.special.swipe.horizontalDistanceThreshold&&Math.abs(g.coords[1]-e.coords[1])e.coords[0]?"swipeleft":"swiperight"),g=e=void 0})})}},a.event.special.swipeleft=a.event.special.swipeleft||{setup:function(){a(this).bind("swipe",a.noop)}},a.event.special.swiperight=a.event.special.swiperight||a.event.special.swipeleft}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.tile.min.js b/build/plugin/jquery.cycle2.tile.min.js index e0f6907..b774ea2 100644 --- a/build/plugin/jquery.cycle2.tile.min.js +++ b/build/plugin/jquery.cycle2.tile.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";a.fn.cycle.transitions.tileSlide=a.fn.cycle.transitions.tileBlind={before:function(b,c,d,e){b.API.stackSlides(c,d,e),a(c).show(),b.container.css("overflow","hidden"),b.tileDelay=b.tileDelay||"tileSlide"==b.fx?100:125,b.tileCount=b.tileCount||7,b.tileVertical=b.tileVertical!==!1,b.container.data("cycleTileInitialized")||(b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.container.data("cycleTileInitialized",!0))},transition:function(b,c,d,e,f){function g(a){m.eq(a).animate(t,{duration:b.speed,easing:b.easing,complete:function(){(e?p-1===a:0===a)&&b._tileAniCallback()}}),setTimeout(function(){(e?p-1!==a:0!==a)&&g(e?a+1:a-1)},b.tileDelay)}b.slides.not(c).not(d).hide();var h,i,j,k,l,m=a(),n=a(c),o=a(d),p=b.tileCount,q=b.tileVertical,r=b.container.height(),s=b.container.width();q?(i=Math.floor(s/p),k=s-i*(p-1),j=l=r):(i=k=s,j=Math.floor(r/p),l=r-j*(p-1)),b.container.find(".cycle-tiles-container").remove();var t,u={left:0,top:0,overflow:"hidden",position:"absolute",margin:0,padding:0};t=q?"tileSlide"==b.fx?{top:r}:{width:0}:"tileSlide"==b.fx?{left:s}:{height:0};var v=a('
');v.css({zIndex:n.css("z-index"),overflow:"visible",position:"absolute",top:0,left:0,direction:"ltr"}),v.insertBefore(d);for(var w=0;p>w;w++)h=a("
").css(u).css({width:p-1===w?k:i,height:p-1===w?l:j,marginLeft:q?w*i:0,marginTop:q?0:w*j}).append(n.clone().css({position:"relative",maxWidth:"none",width:n.width(),margin:0,padding:0,marginLeft:q?-(w*i):0,marginTop:q?0:-(w*j)})),m=m.add(h);v.append(m),n.hide(),o.show().css("opacity",1),g(e?0:p-1),b._tileAniCallback=function(){o.show(),n.hide(),v.remove(),f()}},stopTransition:function(a){a.container.find("*").stop(!0,!0),a._tileAniCallback&&a._tileAniCallback()},onDestroy:function(){var a=this.opts();a.container.find(".cycle-tiles-container").remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.video.min.js b/build/plugin/jquery.cycle2.video.min.js index b5c8c4c..75f9c42 100644 --- a/build/plugin/jquery.cycle2.video.min.js +++ b/build/plugin/jquery.cycle2.video.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140123 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ !function(a){"use strict";function b(){try{this.playVideo()}catch(a){}}function c(){try{this.pauseVideo()}catch(a){}}var d='
';a.extend(a.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),a(document).on("cycle-bootstrap",function(e,f){f.youtube&&(f.hideNonActive=!1,f.container.find(f.slides).each(function(b){if(this.href){var c,e=a(this),g=e.attr("href"),h=f.youtubeAllowFullScreen?"true":"false";g+=(/\?/.test(g)?"&":"?")+"enablejsapi=1",f.youtubeAutostart&&f.startingSlide===b&&(g+="&autoplay=1"),c=f.API.tmpl(d,{url:g,allowFullScreen:h}),e.replaceWith(c)}}),f.slides=f.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),f.youtubeAutostart&&f.container.on("cycle-initialized cycle-after",function(c,d){var e="cycle-initialized"==c.type?d.currSlide:d.nextSlide;a(d.slides[e]).find("object,embed").each(b)}),f.youtubeAutostop&&f.container.on("cycle-before",function(b,d){a(d.slides[d.currSlide]).find("object,embed").each(c)}))})}(jQuery); \ No newline at end of file diff --git a/spec/jquery.cycle2.progressive.spec.js b/spec/jquery.cycle2.progressive.spec.js index 2f4b18a..6fe0d80 100755 --- a/spec/jquery.cycle2.progressive.spec.js +++ b/spec/jquery.cycle2.progressive.spec.js @@ -37,7 +37,7 @@ describe( "Progressive", function() { }); describe( "hydrate", function() { - var markup = "", $slide, $hydrated; + var markup = "", $slide, $hydrated; beforeEach(function() { $slide = progressive.buildSlide( markup ).data( "cycle.opts", { success: true } ); diff --git a/src/jquery.cycle2.progressive.js b/src/jquery.cycle2.progressive.js index 4351aff..1919888 100644 --- a/src/jquery.cycle2.progressive.js +++ b/src/jquery.cycle2.progressive.js @@ -97,7 +97,7 @@ $(document).on( 'cycle-pre-initialize', function( e, opts ) { $hydrated = $( $slide.data("cycle.progressive") ).addClass( "cycle-slide" ), slideOpts = $slide.data( "cycle.opts" ), $images; - $hydrated.data( "cycle.opts", slideOpts ); + $hydrated.data( "cycle.opts", slideOpts ).hide(); progressive.replaceSlide( $hydrated[0], index, opts ); opts.container.data( "cycle.opts", opts ); opts.container.find( ".cycle-slide" ).eq( index + 1 ).replaceWith( $hydrated ); From a0010a5151071fa05c0fbf0cc3c72860373f1e79 Mon Sep 17 00:00:00 2001 From: Elijah Manor Date: Fri, 24 Jan 2014 10:49:10 -0600 Subject: [PATCH 3/5] Remove the copy grunt task --- Gruntfile.js | 11 +---------- package.json | 1 - 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index dbe46c8..f9461d6 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -108,15 +108,6 @@ grunt.initConfig({ } }, - copy: { - main: { - src: "build/jquery.cycle2.js", - dest: "../dr-root/vendor/assets/javascripts/", - flatten: true, - expand: true - } - }, - jasmine: { pivotal: { src: "build/jquery.cycle2.js", @@ -142,7 +133,7 @@ grunt.initConfig({ watch: { files: 'src/*.js', - tasks: ['jshint', 'concat', 'uglify', 'copy'] + tasks: ['jshint', 'concat', 'uglify'] } }); diff --git a/package.json b/package.json index c55dc9d..cd3db35 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "grunt-contrib-concat": "~0.1.3", "grunt-contrib-uglify": "~0.2.0", "grunt-contrib-watch": "~0.3.1", - "grunt-contrib-copy": "~0.5.0", "grunt-contrib-jasmine": "*", "grunt-contrib-connect": "~0.5.0", "matchdep": "*" From 79b4d95fa9b87a58ddb9e0ff02e215a875925cc9 Mon Sep 17 00:00:00 2001 From: Elijah Manor Date: Fri, 24 Jan 2014 11:57:01 -0600 Subject: [PATCH 4/5] Remove jasmine from grunt since it doesn't support v2.0 yet --- Gruntfile.js | 15 +-------------- package.json | 1 - 2 files changed, 1 insertion(+), 15 deletions(-) diff --git a/Gruntfile.js b/Gruntfile.js index f9461d6..2ebb545 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -108,19 +108,6 @@ grunt.initConfig({ } }, - jasmine: { - pivotal: { - src: "build/jquery.cycle2.js", - options: { - specs: "spec/**/*.spec.js", - vendor: [ - "bower_components/jquery/jquery.js" - ], - template: "spec/index.tmpl" - } - } - }, - connect: { server: { options: { @@ -138,6 +125,6 @@ grunt.initConfig({ }); -grunt.registerTask('default', [ 'jshint', 'concat', 'uglify', 'jasmine' ]); +grunt.registerTask('default', [ 'jshint', 'concat', 'uglify' ]); }; diff --git a/package.json b/package.json index cd3db35..f4434c5 100644 --- a/package.json +++ b/package.json @@ -14,7 +14,6 @@ "grunt-contrib-concat": "~0.1.3", "grunt-contrib-uglify": "~0.2.0", "grunt-contrib-watch": "~0.3.1", - "grunt-contrib-jasmine": "*", "grunt-contrib-connect": "~0.5.0", "matchdep": "*" } From 8a0bc9a6e2cfb1e9fe2c22cfd568a66b7d173cef Mon Sep 17 00:00:00 2001 From: Elijah Manor Date: Fri, 7 Feb 2014 11:49:53 -0600 Subject: [PATCH 5/5] Progressively load last slide if navigate to previous on 1st slide --- build/core/jquery.cycle2.autoheight.min.js | 2 +- build/core/jquery.cycle2.caption.min.js | 2 +- build/core/jquery.cycle2.command.min.js | 2 +- build/core/jquery.cycle2.core.min.js | 2 +- build/core/jquery.cycle2.hash.min.js | 2 +- build/core/jquery.cycle2.loader.min.js | 2 +- build/core/jquery.cycle2.pager.min.js | 2 +- build/core/jquery.cycle2.prevnext.min.js | 2 +- build/core/jquery.cycle2.progressive.min.js | 4 ++-- build/core/jquery.cycle2.tmpl.min.js | 2 +- build/jquery.cycle2.js | 4 ++-- build/jquery.cycle2.js.map | 2 +- build/jquery.cycle2.min.js | 4 ++-- build/plugin/jquery.cycle2.caption2.min.js | 2 +- build/plugin/jquery.cycle2.carousel.min.js | 2 +- build/plugin/jquery.cycle2.center.min.js | 4 ++-- build/plugin/jquery.cycle2.flip.min.js | 2 +- build/plugin/jquery.cycle2.ie-fade.min.js | 2 +- build/plugin/jquery.cycle2.scrollVert.min.js | 2 +- build/plugin/jquery.cycle2.shuffle.min.js | 2 +- build/plugin/jquery.cycle2.swipe.min.js | 2 +- build/plugin/jquery.cycle2.tile.min.js | 2 +- build/plugin/jquery.cycle2.video.min.js | 2 +- src/jquery.cycle2.progressive.js | 2 +- 24 files changed, 28 insertions(+), 28 deletions(-) diff --git a/build/core/jquery.cycle2.autoheight.min.js b/build/core/jquery.cycle2.autoheight.min.js index e858ce1..b7c284a 100644 --- a/build/core/jquery.cycle2.autoheight.min.js +++ b/build/core/jquery.cycle2.autoheight.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";function b(b,d){var e,f,g,h=d.autoHeight;if("container"==h)f=a(d.slides[d.currSlide]).outerHeight(),d.container.height(f);else if(d._autoHeightRatio)d.container.height(d.container.width()/d._autoHeightRatio);else if("calc"===h||"number"==a.type(h)&&h>=0){if(g="calc"===h?c(b,d):h>=d.slides.length?0:h,g==d._sentinelIndex)return;d._sentinelIndex=g,d._sentinel&&d._sentinel.remove(),e=a(d.slides[g].cloneNode(!0)),e.removeAttr("id name rel").find("[id],[name],[rel]").removeAttr("id name rel"),e.css({position:"static",visibility:"hidden",display:"block"}).prependTo(d.container).addClass("cycle-sentinel cycle-slide").removeClass("cycle-slide-active"),e.find("*").css("visibility","hidden"),d._sentinel=e}}function c(b,c){var d=0,e=-1;return c.slides.each(function(b){var c=a(this).height();c>e&&(e=c,d=b)}),d}function d(b,c,d,e){var f=a(e).outerHeight();c.container.animate({height:f},c.autoHeightSpeed,c.autoHeightEasing)}function e(c,f){f._autoHeightOnResize&&(a(window).off("resize orientationchange",f._autoHeightOnResize),f._autoHeightOnResize=null),f.container.off("cycle-slide-added cycle-slide-removed",b),f.container.off("cycle-destroyed",e),f.container.off("cycle-before",d),f._sentinel&&(f._sentinel.remove(),f._sentinel=null)}a.extend(a.fn.cycle.defaults,{autoHeight:0,autoHeightSpeed:250,autoHeightEasing:null}),a(document).on("cycle-initialized",function(c,f){function g(){b(c,f)}var h,i=f.autoHeight,j=a.type(i),k=null;("string"===j||"number"===j)&&(f.container.on("cycle-slide-added cycle-slide-removed",b),f.container.on("cycle-destroyed",e),"container"==i?f.container.on("cycle-before",d):"string"===j&&/\d+\:\d+/.test(i)&&(h=i.match(/(\d+)\:(\d+)/),h=h[1]/h[2],f._autoHeightRatio=h),"number"!==j&&(f._autoHeightOnResize=function(){clearTimeout(k),k=setTimeout(g,50)},a(window).on("resize orientationchange",f._autoHeightOnResize)),setTimeout(g,30))})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.caption.min.js b/build/core/jquery.cycle2.caption.min.js index 7bf533e..809fc5a 100644 --- a/build/core/jquery.cycle2.caption.min.js +++ b/build/core/jquery.cycle2.caption.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{caption:"> .cycle-caption",captionTemplate:"{{slideNum}} / {{slideCount}}",overlay:"> .cycle-overlay",overlayTemplate:"
{{title}}
{{desc}}
",captionModule:"caption"}),a(document).on("cycle-update-view",function(b,c,d,e){if("caption"===c.captionModule){a.each(["caption","overlay"],function(){var a=this,b=d[a+"Template"],f=c.API.getComponent(a);f.length&&b?(f.html(c.API.tmpl(b,d,c,e)),f.show()):f.hide()})}}),a(document).on("cycle-destroyed",function(b,c){var d;a.each(["caption","overlay"],function(){var a=this,b=c[a+"Template"];c[a]&&b&&(d=c.API.getComponent("caption"),d.empty())})})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.command.min.js b/build/core/jquery.cycle2.command.min.js index 04f02dc..81d0f21 100644 --- a/build/core/jquery.cycle2.command.min.js +++ b/build/core/jquery.cycle2.command.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";var b=a.fn.cycle;a.fn.cycle=function(c){var d,e,f,g=a.makeArray(arguments);return"number"==a.type(c)?this.cycle("goto",c):"string"==a.type(c)?this.each(function(){var h;return d=c,f=a(this).data("cycle.opts"),void 0===f?void b.log('slideshow must be initialized before sending commands; "'+d+'" ignored'):(d="goto"==d?"jump":d,e=f.API[d],a.isFunction(e)?(h=a.makeArray(g),h.shift(),e.apply(f.API,h)):void b.log("unknown command: ",d))}):b.apply(this,arguments)},a.extend(a.fn.cycle,b),a.extend(b.API,{next:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?-1:1;a.allowWrap===!1&&a.currSlide+b>=a.slideCount||(a.API.advanceSlide(b),a.API.trigger("cycle-next",[a]).log("cycle-next"))}},prev:function(){var a=this.opts();if(!a.busy||a.manualTrump){var b=a.reverse?1:-1;a.allowWrap===!1&&a.currSlide+b<0||(a.API.advanceSlide(b),a.API.trigger("cycle-prev",[a]).log("cycle-prev"))}},destroy:function(){this.stop();var b=this.opts(),c=a.isFunction(a._data)?a._data:a.noop;clearTimeout(b.timeoutId),b.timeoutId=0,b.API.stop(),b.API.trigger("cycle-destroyed",[b]).log("cycle-destroyed"),b.container.removeData(),c(b.container[0],"parsedAttrs",!1),b.retainStylesOnDestroy||(b.container.removeAttr("style"),b.slides.removeAttr("style"),b.slides.removeClass(b.slideActiveClass)),b.slides.each(function(){a(this).removeData(),c(this,"parsedAttrs",!1)})},jump:function(a){var b,c=this.opts();if(!c.busy||c.manualTrump){var d=parseInt(a,10);if(isNaN(d)||0>d||d>=c.slides.length)return void c.API.log("goto: invalid slide index: "+d);if(d==c.currSlide)return void c.API.log("goto: skipping, already on slide",d);c.nextSlide=d,clearTimeout(c.timeoutId),c.timeoutId=0,c.API.log("goto: ",d," (zero-index)"),b=c.currSlide .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.prevnext.min.js b/build/core/jquery.cycle2.prevnext.min.js index 6de38e7..8a1d992 100644 --- a/build/core/jquery.cycle2.prevnext.min.js +++ b/build/core/jquery.cycle2.prevnext.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.progressive.min.js b/build/core/jquery.cycle2.progressive.min.js index f8fb06b..d366efc 100644 --- a/build/core/jquery.cycle2.progressive.min.js +++ b/build/core/jquery.cycle2.progressive.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ -!function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery); \ No newline at end of file +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e>=0?e:d.slideCount-1]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery); \ No newline at end of file diff --git a/build/core/jquery.cycle2.tmpl.min.js b/build/core/jquery.cycle2.tmpl.min.js index 12bffe6..6cbc8a5 100644 --- a/build/core/jquery.cycle2.tmpl.min.js +++ b/build/core/jquery.cycle2.tmpl.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;f= 0 ? index : opts.slideCount - 1] ); progressive.navigate( $slide, function( api, args ) { return function() { diff --git a/build/jquery.cycle2.js.map b/build/jquery.cycle2.js.map index c372629..3da7466 100644 --- a/build/jquery.cycle2.js.map +++ b/build/jquery.cycle2.js.map @@ -1 +1 @@ -{"version":3,"file":"build/jquery.cycle2.min.js","sources":["build/jquery.cycle2.js"],"names":["$","lowerCase","s","toLowerCase","version","fn","cycle","options","o","this","length","isReady","each","data","opts","shortName","val","container","log","noop","p","hasOwnProperty","test","match","replace","extend","defaults","timeoutId","paused","_maxZ","maxZ","API","_container","trigger","eventName","args","addInitialSlides","preInitSlideshow","slides","initSlideshow","selector","c","context","slideCount","jquery","find","random","sort","Math","add","tx","transitions","fx","isFunction","preInit","_preInitialized","postInitSlideshow","postInit","slideOpts","pauseObj","calcFirstSlide","css","currSlide","show","stackSlides","nextSlide","reverse","pauseOnHover","hover","pause","resume","timeout","getSlideOpts","queueTransition","delay","_initialized","updateView","alreadyPaused","hoverPaused","addClass","clearTimeout","_remainingTimeout","now","_lastQueue","isNaN","undefined","alreadyResumed","removeClass","filter","prepend","len","oldSlideCount","startSlideshow","type","trim","slide","append","buildSlideOpts","initSlide","firstSlideIndex","parseInt","startingSlide","calcNextSlide","roll","calcTx","manual","manualFx","fade","prepareTx","fwd","after","curr","next","busy","manualTrump","stopTransition","_tx","manualSpeed","speed","before","transition","doTransition","currEl","nextEl","callback","animate","animIn","opacity","easeIn","easing","cssBefore","animOut","easeOut","cssAfter","sync","specificTimeout","loop","setTimeout","stop","advanceSlide","slideNum","e","index","suggestedZindex","slideCss","speeds","_default","slideClass","isAfter","isDuring","slideActiveClass","eq","hideNonActive","hide","getComponent","name","i","z","getSlideIndex","el","window","console","Array","prototype","join","call","arguments","custom","none","display","fadeout","scrollHorz","w","width","left","top","zIndex","allowWrap","autoSelector","position","document","ready","jQuery","initAutoHeight","clone","height","sentinelIndex","autoHeight","outerHeight","_autoHeightRatio","calcSentinelIndex","_sentinelIndex","_sentinel","remove","cloneNode","removeAttr","visibility","prependTo","max","h","onBefore","outgoing","incoming","autoHeightSpeed","autoHeightEasing","onDestroy","_autoHeightOnResize","off","on","onResize","ratio","t","resizeThrottle","caption","captionTemplate","overlay","overlayTemplate","captionModule","template","html","tmpl","empty","c2","cmd","cmdFn","makeArray","cmdArgs","shift","apply","count","prev","destroy","clean","_data","removeData","retainStylesOnDestroy","jump","num","reinit","slideToRemove","push","preventDefault","command","onHashChange","setStartingSlide","hash","_hashFence","location","substring","_onHashChange","loader","addSlide","slideArr","sorter","addFn","a","b","appendTo","imageLoaded","images","is","complete","load","src","buildPagerLink","pagerLink","pagers","pager","pagerTemplate","markup","children","pagerEvent","page","currentTarget","target","pagerActiveClass","slideAdded","nextEvent","disabledClass","prevEvent","swipe","swipeVert","cls","prevBoundry","_prevBoundry","nextBoundry","_nextBoundry","prop","progressive","scriptEl","nodeName","prepareTxFn","pageFn","parseJSON","err","split","RegExp","pop","buildSlide","$slide","navigate","api","hydrate","$images","$hydrated","replaceSlide","replaceWith","andSelf","proceed","hasClass","one","newSlide","newSlides","tmplRegex","str","regex","_","j","obj","names"],"mappings":"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","sourceRoot":"http://malsup.github.io/"} \ No newline at end of file +{"version":3,"file":"build/jquery.cycle2.min.js","sources":["build/jquery.cycle2.js"],"names":["$","lowerCase","s","toLowerCase","version","fn","cycle","options","o","this","length","isReady","each","data","opts","shortName","val","container","log","noop","p","hasOwnProperty","test","match","replace","extend","defaults","timeoutId","paused","_maxZ","maxZ","API","_container","trigger","eventName","args","addInitialSlides","preInitSlideshow","slides","initSlideshow","selector","c","context","slideCount","jquery","find","random","sort","Math","add","tx","transitions","fx","isFunction","preInit","_preInitialized","postInitSlideshow","postInit","slideOpts","pauseObj","calcFirstSlide","css","currSlide","show","stackSlides","nextSlide","reverse","pauseOnHover","hover","pause","resume","timeout","getSlideOpts","queueTransition","delay","_initialized","updateView","alreadyPaused","hoverPaused","addClass","clearTimeout","_remainingTimeout","now","_lastQueue","isNaN","undefined","alreadyResumed","removeClass","filter","prepend","len","oldSlideCount","startSlideshow","type","trim","slide","append","buildSlideOpts","initSlide","firstSlideIndex","parseInt","startingSlide","calcNextSlide","roll","calcTx","manual","manualFx","fade","prepareTx","fwd","after","curr","next","busy","manualTrump","stopTransition","_tx","manualSpeed","speed","before","transition","doTransition","currEl","nextEl","callback","animate","animIn","opacity","easeIn","easing","cssBefore","animOut","easeOut","cssAfter","sync","specificTimeout","loop","setTimeout","stop","advanceSlide","slideNum","e","index","suggestedZindex","slideCss","speeds","_default","slideClass","isAfter","isDuring","slideActiveClass","eq","hideNonActive","hide","getComponent","name","i","z","getSlideIndex","el","window","console","Array","prototype","join","call","arguments","custom","none","display","fadeout","scrollHorz","w","width","left","top","zIndex","allowWrap","autoSelector","position","document","ready","jQuery","initAutoHeight","clone","height","sentinelIndex","autoHeight","outerHeight","_autoHeightRatio","calcSentinelIndex","_sentinelIndex","_sentinel","remove","cloneNode","removeAttr","visibility","prependTo","max","h","onBefore","outgoing","incoming","autoHeightSpeed","autoHeightEasing","onDestroy","_autoHeightOnResize","off","on","onResize","ratio","t","resizeThrottle","caption","captionTemplate","overlay","overlayTemplate","captionModule","template","html","tmpl","empty","c2","cmd","cmdFn","makeArray","cmdArgs","shift","apply","count","prev","destroy","clean","_data","removeData","retainStylesOnDestroy","jump","num","reinit","slideToRemove","push","preventDefault","command","onHashChange","setStartingSlide","hash","_hashFence","location","substring","_onHashChange","loader","addSlide","slideArr","sorter","addFn","a","b","appendTo","imageLoaded","images","is","complete","load","src","buildPagerLink","pagerLink","pagers","pager","pagerTemplate","markup","children","pagerEvent","page","currentTarget","target","pagerActiveClass","slideAdded","nextEvent","disabledClass","prevEvent","swipe","swipeVert","cls","prevBoundry","_prevBoundry","nextBoundry","_nextBoundry","prop","progressive","scriptEl","nodeName","prepareTxFn","pageFn","parseJSON","err","split","RegExp","pop","buildSlide","$slide","navigate","api","hydrate","$images","$hydrated","replaceSlide","replaceWith","andSelf","proceed","hasClass","one","newSlide","newSlides","tmplRegex","str","regex","_","j","obj","names"],"mappings":"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","sourceRoot":"http://malsup.github.io/"} \ No newline at end of file diff --git a/build/jquery.cycle2.min.js b/build/jquery.cycle2.min.js index 9bc78e9..b9d4fa6 100644 --- a/build/jquery.cycle2.min.js +++ b/build/jquery.cycle2.min.js @@ -1,5 +1,5 @@ /*! -* jQuery Cycle2; version: 2.0.2 build: 20140124 +* jQuery Cycle2; version: 2.0.2 build: 20140207 * http://jquery.malsup.com/cycle2/ * Copyright (c) 2014 M. Alsup; Dual licensed: MIT/GPL */ @@ -11,6 +11,6 @@ function(a){"use strict";function b(b,c){var d;return b._hashFence?void(b._hashF function(a){"use strict";a.extend(a.fn.cycle.defaults,{loader:!1}),a(document).on("cycle-bootstrap",function(b,c){function d(b,d){function f(b){var f;"wait"==c.loader?(h.push(b),0===j&&(h.sort(g),e.apply(c.API,[h,d]),c.container.removeClass("cycle-loading"))):(f=a(c.slides[c.currSlide]),e.apply(c.API,[b,d]),f.show(),c.container.removeClass("cycle-loading"))}function g(a,b){return a.data("index")-b.data("index")}var h=[];if("string"==a.type(b))b=a.trim(b);else if("array"===a.type(b))for(var i=0;i .cycle-pager",pagerActiveClass:"cycle-pager-active",pagerEvent:"click.cycle",pagerTemplate:""}),a(document).on("cycle-bootstrap",function(a,c,d){d.buildPagerLink=b}),a(document).on("cycle-slide-added",function(a,b,d,e){b.pager&&(b.API.buildPagerLink(b,d,e),b.API.page=c)}),a(document).on("cycle-slide-removed",function(b,c,d){if(c.pager){var e=c.API.getComponent("pager");e.each(function(){var b=a(this);a(b.children()[d]).remove()})}}),a(document).on("cycle-update-view",function(b,c){var d;c.pager&&(d=c.API.getComponent("pager"),d.each(function(){a(this).children().removeClass(c.pagerActiveClass).eq(c.currSlide).addClass(c.pagerActiveClass)}))}),a(document).on("cycle-destroyed",function(a,b){var c=b.API.getComponent("pager");c&&(c.children().off(b.pagerEvent),b.pagerTemplate&&c.empty())})}(jQuery),/*! prevnext plugin for Cycle2; version: 20130709 */ function(a){"use strict";a.extend(a.fn.cycle.defaults,{next:"> .cycle-next",nextEvent:"click.cycle",disabledClass:"disabled",prev:"> .cycle-prev",prevEvent:"click.cycle",swipe:!1}),a(document).on("cycle-initialized",function(a,b){if(b.API.getComponent("next").on(b.nextEvent,function(a){a.preventDefault(),b.API.next()}),b.API.getComponent("prev").on(b.prevEvent,function(a){a.preventDefault(),b.API.prev()}),b.swipe){var c=b.swipeVert?"swipeUp.cycle":"swipeLeft.cycle swipeleft.cycle",d=b.swipeVert?"swipeDown.cycle":"swipeRight.cycle swiperight.cycle";b.container.on(c,function(){b.API.next()}),b.container.on(d,function(){b.API.prev()})}}),a(document).on("cycle-update-view",function(a,b){if(!b.allowWrap){var c=b.disabledClass,d=b.API.getComponent("next"),e=b.API.getComponent("prev"),f=b._prevBoundry||0,g=void 0!==b._nextBoundry?b._nextBoundry:b.slideCount-1;b.currSlide==g?d.addClass(c).prop("disabled",!0):d.removeClass(c).prop("disabled",!1),b.currSlide===f?e.addClass(c).prop("disabled",!0):e.removeClass(c).prop("disabled",!1)}}),a(document).on("cycle-destroyed",function(a,b){b.API.getComponent("prev").off(b.nextEvent),b.API.getComponent("next").off(b.prevEvent),b.container.off("swipeleft.cycle swiperight.cycle swipeLeft.cycle swipeRight.cycle swipeUp.cycle swipeDown.cycle")})}(jQuery),/*! progressive loader plugin for Cycle2; version: 20130315 */ -function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ +function(a){"use strict";a.extend(a.fn.cycle.defaults,{progressive:!1}),a(document).on("cycle-pre-initialize",function(b,c){if(c.progressive){var d,e,f,g=c.API,h=g.prepareTx,i=g.page,j=a.type(c.progressive),k=g.progressive={};if("array"==j)d=c.progressive;else if(a.isFunction(c.progressive))d=c.progressive(c);else if("string"==j){if(e=a(c.progressive),d=a.trim(e.html()),!d)return;if(/^(\[)/.test(d))try{d=a.parseJSON(d)}catch(l){return void g.log("error parsing progressive slides",l)}else d=d.split(new RegExp(e.data("cycle-split")||"\n")),d[d.length-1]||d.pop()}k.buildSlide=function(b,c){return c=c||"IMG",a("<"+c+" />").data("cycle.progressive",a.trim(b)).addClass("cycle-progressive-slide")},c.pager&&(f=c.slides.length?c.slides[0].nodeName:"",a.each(d,function(a,b){c.API.add(k.buildSlide(b,f))})),h&&(g.prepareTx=function(b,c){var d=this.opts(),e=c?d.currSlide+1:d.currSlide-1,f=a(d.slides[e>=0?e:d.slideCount-1]);k.navigate(f,function(a,b){return function(){h.apply(a,b)}}(d.API,[b,c]))}),i&&(g.page=function(b,c){var d=this.opts(),e=a(c).index(),f=a(d.slides[e]);k.navigate(f,function(a){return function(){d.API.jump(a)}}(e))}),k.hydrate=function(b,c){var d,e=(c.container.find(".cycle-slide").length,b.index(".cycle-slide")-1),f=a(b.data("cycle.progressive")).addClass("cycle-slide"),g=b.data("cycle.opts");return f.data("cycle.opts",g).hide(),k.replaceSlide(f[0],e,c),c.container.data("cycle.opts",c),c.container.find(".cycle-slide").eq(e+1).replaceWith(f),d=f.find("img").andSelf().filter("img"),d.length?d.load(function(){c.API.trigger("cycle-slide-hydrated",[c,g,f])}):c.API.trigger("cycle-slide-hydrated",[c,g,f]),f},k.navigate=function(a,b){a.hasClass("cycle-progressive-slide")?(c.container.one("cycle-slide-hydrated",function(a,c){b&&b(),c.container.removeClass("cycle-loading")}),c.container.addClass("cycle-loading"),k.hydrate(a,c)):b&&b()},k.replaceSlide=function(b,c,d){var e=[];a.each(d.slides,function(a,d){e.push(a===c?b:d)}),d.slides=a(e)}}})}(jQuery),/*! tmpl plugin for Cycle2; version: 20121227 */ function(a){"use strict";a.extend(a.fn.cycle.defaults,{tmplRegex:"{{((.)?.*?)}}"}),a.extend(a.fn.cycle.API,{tmpl:function(b,c){var d=new RegExp(c.tmplRegex||a.fn.cycle.defaults.tmplRegex,"g"),e=a.makeArray(arguments);return e.shift(),b.replace(d,function(b,c){var d,f,g,h,i=c.split(".");for(d=0;d1)for(h=g,f=0;fb.slideCount-b.carouselVisible||(b.API.advanceSlide(a),b.API.trigger("cycle-next",[b]).log("cycle-next"))})}),a.fn.cycle.transitions.carousel={preInit:function(b){b.hideNonActive=!1,b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.API.stopTransition=this.stopTransition;for(var c=0;cb.slideCount&&(b.carouselVisible=b.slideCount-1);var h=b.carouselVisible||b.slides.length,i={display:g?"block":"inline-block",position:"static"};if(b.container.css({position:"relative",overflow:"hidden"}),b.slides.css(i),b._currSlide=b.currSlide,f=a('').prependTo(b.container).css({margin:0,padding:0,top:0,left:0,position:"absolute"}).append(b.slides),b._carouselWrap=f,g||f.css("white-space","nowrap"),b.allowWrap!==!1){for(d=0;d<(void 0===b.carouselVisible?2:1);d++){for(c=0;c0;var l=b._currSlide,m=b.slideCount-b.carouselVisible;i>0&&b.nextSlide>m&&l==m?i=0:i>0&&b.nextSlide>m?i=b.nextSlide-l-(b.nextSlide-m):0>i&&b.currSlide>m&&b.nextSlide>m?i=0:0>i&&b.currSlide>m?i+=b.currSlide-m:l=b.currSlide,g=this.getScroll(b,j,l,i),b.API.opts()._currSlide=b.nextSlide>m?m:b.nextSlide}else e&&0===b.nextSlide?(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f)):e||b.nextSlide!=b.slideCount-1?g=this.getScroll(b,j,b.currSlide,i):(g=this.getDim(b,b.currSlide,j),f=this.genCallback(b,e,j,f));h[j?"top":"left"]=e?"-="+g:"+="+g,b.throttleSpeed&&(k=g/a(b.slides[0])[j?"height":"width"]()*b.speed),b._carouselWrap.animate(h,k,b.easing,f)},getDim:function(b,c,d){var e=a(b.slides[c]);return e[d?"outerHeight":"outerWidth"](!0)},getScroll:function(a,b,c,d){var e,f=0;if(d>0)for(e=c;c+d>e;e++)f+=this.getDim(a,e,b);else for(e=c;e>c+d;e--)f+=this.getDim(a,e,b);return f},genCallback:function(b,c,d,e){return function(){var c=a(b.slides[b.nextSlide]).position(),f=0-c[d?"top":"left"]+(b.carouselOffset||0);b._carouselWrap.css(b.carouselVertical?"top":"left",f),e()}},stopTransition:function(){var a=this.opts();a.slides.stop(!1,!0),a._carouselWrap.stop(!1,!0)},onDestroy:function(){var b=this.opts();b._carouselResizeThrottle&&a(window).off("resize",b._carouselResizeThrottle),b.slides.prependTo(b.container),b._carouselWrap.remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.center.min.js b/build/plugin/jquery.cycle2.center.min.js index 91637b2..abba652 100644 --- a/build/plugin/jquery.cycle2.center.min.js +++ b/build/plugin/jquery.cycle2.center.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140121 */ -(function(e){"use strict";e.extend(e.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),e(document).on("cycle-pre-initialize",function(t,i){function n(){clearTimeout(l),l=setTimeout(r,50)}function o(){clearTimeout(l),clearTimeout(a),e(window).off("resize orientationchange",n)}function s(){i.slides.each(c)}function r(){c.apply(i.container.find("."+i.slideActiveClass)),clearTimeout(a),a=setTimeout(s,50)}function c(){var t=e(this),n=i.container.width(),o=i.container.height(),s=t.outerWidth(),r=t.outerHeight();s&&(i.centerHorz&&n>=s&&t.css("marginLeft",(n-s)/2),i.centerVert&&o>=r&&t.css("marginTop",(o-r)/2))}if(i.centerHorz||i.centerVert){var l,a;e(window).on("resize orientationchange load",n),i.container.on("cycle-destroyed",o),i.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(){n()}),r()}})})(jQuery); +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ +!function(a){"use strict";a.extend(a.fn.cycle.defaults,{centerHorz:!1,centerVert:!1}),a(document).on("cycle-pre-initialize",function(b,c){function d(){clearTimeout(i),i=setTimeout(g,50)}function e(){clearTimeout(i),clearTimeout(j),a(window).off("resize orientationchange",d)}function f(){c.slides.each(h)}function g(){h.apply(c.container.find("."+c.slideActiveClass)),clearTimeout(j),j=setTimeout(f,50)}function h(){var b=a(this),d=c.container.width(),e=c.container.height(),f=b.outerWidth(),g=b.outerHeight();f&&(c.centerHorz&&d>=f&&b.css("marginLeft",(d-f)/2),c.centerVert&&e>=g&&b.css("marginTop",(e-g)/2))}if(c.centerHorz||c.centerVert){var i,j;a(window).on("resize orientationchange load",d),c.container.on("cycle-destroyed",e),c.container.on("cycle-initialized cycle-slide-added cycle-slide-removed",function(){d()}),g()}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.flip.min.js b/build/plugin/jquery.cycle2.flip.min.js index 5d4ee36..69ba436 100644 --- a/build/plugin/jquery.cycle2.flip.min.js +++ b/build/plugin/jquery.cycle2.flip.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";function b(b){return{preInit:function(a){a.slides.css(d)},transition:function(c,d,e,f,g){var h=c,i=a(d),j=a(e),k=h.speed/2;b.call(j,-90),j.css({display:"block","background-position":"-90px",opacity:1}),i.css("background-position","0px"),i.animate({backgroundPosition:90},{step:b,duration:k,easing:h.easeOut||h.easing,complete:function(){c.API.updateView(!1,!0),j.animate({backgroundPosition:0},{step:b,duration:k,easing:h.easeIn||h.easing,complete:g})}})}}}function c(b){return function(c){var d=a(this);d.css({"-webkit-transform":"rotate"+b+"("+c+"deg)","-moz-transform":"rotate"+b+"("+c+"deg)","-ms-transform":"rotate"+b+"("+c+"deg)","-o-transform":"rotate"+b+"("+c+"deg)",transform:"rotate"+b+"("+c+"deg)"})}}var d,e=document.createElement("div").style,f=a.fn.cycle.transitions,g=void 0!==e.transform||void 0!==e.MozTransform||void 0!==e.webkitTransform||void 0!==e.oTransform||void 0!==e.msTransform;g&&void 0!==e.msTransform&&(e.msTransform="rotateY(0deg)",e.msTransform||(g=!1)),g?(f.flipHorz=b(c("Y")),f.flipVert=b(c("X")),d={"-webkit-backface-visibility":"hidden","-moz-backface-visibility":"hidden","-o-backface-visibility":"hidden","backface-visibility":"hidden"}):(f.flipHorz=f.scrollHorz,f.flipVert=f.scrollVert||f.scrollHorz)}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.ie-fade.min.js b/build/plugin/jquery.cycle2.ie-fade.min.js index b12f154..72e42bf 100644 --- a/build/plugin/jquery.cycle2.ie-fade.min.js +++ b/build/plugin/jquery.cycle2.ie-fade.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";function b(a,b,c){if(a&&c.style.filter){b._filter=c.style.filter;try{c.style.removeAttribute("filter")}catch(d){}}else!a&&b._filter&&(c.style.filter=b._filter)}a.extend(a.fn.cycle.transitions,{fade:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:0,display:"block"}),c.animIn={opacity:1},c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}},fadeout:{before:function(c,d,e,f){var g=c.API.getSlideOpts(c.nextSlide).slideCss||{};c.API.stackSlides(d,e,f),c.cssBefore=a.extend(g,{opacity:1,display:"block"}),c.animOut={opacity:0},b(!0,c,e)},after:function(a,c,d){b(!1,a,d)}}})}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.scrollVert.min.js b/build/plugin/jquery.cycle2.scrollVert.min.js index 5e6d320..3642ef9 100644 --- a/build/plugin/jquery.cycle2.scrollVert.min.js +++ b/build/plugin/jquery.cycle2.scrollVert.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.fn.cycle.transitions.scrollVert={before:function(a,b,c,d){a.API.stackSlides(a,b,c,d);var e=a.container.css("overflow","hidden").height();a.cssBefore={top:d?-e:e,left:0,opacity:1,display:"block"},a.animIn={top:0},a.animOut={top:d?e:-e}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.shuffle.min.js b/build/plugin/jquery.cycle2.shuffle.min.js index 16f4835..3fc1af6 100644 --- a/build/plugin/jquery.cycle2.shuffle.min.js +++ b/build/plugin/jquery.cycle2.shuffle.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.fn.cycle.transitions.shuffle={transition:function(b,c,d,e,f){function g(a){this.stack(b,c,d,e),a()}a(d).show();var h=b.container.css("overflow","visible").width(),i=b.speed/2,j=e?c:d;b=b.API.getSlideOpts(e?b.currSlide:b.nextSlide);var k={left:-h,top:15},l=b.slideCss||{left:0,top:0};void 0!==b.shuffleLeft?k.left=k.left+parseInt(b.shuffleLeft,10)||0:void 0!==b.shuffleRight&&(k.left=h+parseInt(b.shuffleRight,10)||0),b.shuffleTop&&(k.top=b.shuffleTop),a(j).animate(k,i,b.easeIn||b.easing).queue("fx",a.proxy(g,this)).animate(l,i,b.easeOut||b.easing,f)},stack:function(b,c,d,e){var f,g;if(e)b.API.stackSlides(d,c,e),a(c).css("zIndex",1);else{for(g=1,f=b.nextSlide-1;f>=0;f--)a(b.slides[f]).css("zIndex",g++);for(f=b.slideCount-1;f>b.nextSlide;f--)a(b.slides[f]).css("zIndex",g++);a(d).css("zIndex",b.maxZ),a(c).css("zIndex",b.maxZ-1)}}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.swipe.min.js b/build/plugin/jquery.cycle2.swipe.min.js index b27cb78..b47a512 100644 --- a/build/plugin/jquery.cycle2.swipe.min.js +++ b/build/plugin/jquery.cycle2.swipe.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.event.special.swipe=a.event.special.swipe||{scrollSupressionThreshold:10,durationThreshold:1e3,horizontalDistanceThreshold:30,verticalDistanceThreshold:75,setup:function(){var b=a(this);b.bind("touchstart",function(c){function d(b){if(g){var c=b.originalEvent.touches?b.originalEvent.touches[0]:b;e={time:(new Date).getTime(),coords:[c.pageX,c.pageY]},Math.abs(g.coords[0]-e.coords[0])>a.event.special.swipe.scrollSupressionThreshold&&b.preventDefault()}}var e,f=c.originalEvent.touches?c.originalEvent.touches[0]:c,g={time:(new Date).getTime(),coords:[f.pageX,f.pageY],origin:a(c.target)};b.bind("touchmove",d).one("touchend",function(){b.unbind("touchmove",d),g&&e&&e.time-g.timea.event.special.swipe.horizontalDistanceThreshold&&Math.abs(g.coords[1]-e.coords[1])e.coords[0]?"swipeleft":"swiperight"),g=e=void 0})})}},a.event.special.swipeleft=a.event.special.swipeleft||{setup:function(){a(this).bind("swipe",a.noop)}},a.event.special.swiperight=a.event.special.swiperight||a.event.special.swipeleft}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.tile.min.js b/build/plugin/jquery.cycle2.tile.min.js index b774ea2..6e58310 100644 --- a/build/plugin/jquery.cycle2.tile.min.js +++ b/build/plugin/jquery.cycle2.tile.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";a.fn.cycle.transitions.tileSlide=a.fn.cycle.transitions.tileBlind={before:function(b,c,d,e){b.API.stackSlides(c,d,e),a(c).show(),b.container.css("overflow","hidden"),b.tileDelay=b.tileDelay||"tileSlide"==b.fx?100:125,b.tileCount=b.tileCount||7,b.tileVertical=b.tileVertical!==!1,b.container.data("cycleTileInitialized")||(b.container.on("cycle-destroyed",a.proxy(this.onDestroy,b.API)),b.container.data("cycleTileInitialized",!0))},transition:function(b,c,d,e,f){function g(a){m.eq(a).animate(t,{duration:b.speed,easing:b.easing,complete:function(){(e?p-1===a:0===a)&&b._tileAniCallback()}}),setTimeout(function(){(e?p-1!==a:0!==a)&&g(e?a+1:a-1)},b.tileDelay)}b.slides.not(c).not(d).hide();var h,i,j,k,l,m=a(),n=a(c),o=a(d),p=b.tileCount,q=b.tileVertical,r=b.container.height(),s=b.container.width();q?(i=Math.floor(s/p),k=s-i*(p-1),j=l=r):(i=k=s,j=Math.floor(r/p),l=r-j*(p-1)),b.container.find(".cycle-tiles-container").remove();var t,u={left:0,top:0,overflow:"hidden",position:"absolute",margin:0,padding:0};t=q?"tileSlide"==b.fx?{top:r}:{width:0}:"tileSlide"==b.fx?{left:s}:{height:0};var v=a('
');v.css({zIndex:n.css("z-index"),overflow:"visible",position:"absolute",top:0,left:0,direction:"ltr"}),v.insertBefore(d);for(var w=0;p>w;w++)h=a("
").css(u).css({width:p-1===w?k:i,height:p-1===w?l:j,marginLeft:q?w*i:0,marginTop:q?0:w*j}).append(n.clone().css({position:"relative",maxWidth:"none",width:n.width(),margin:0,padding:0,marginLeft:q?-(w*i):0,marginTop:q?0:-(w*j)})),m=m.add(h);v.append(m),n.hide(),o.show().css("opacity",1),g(e?0:p-1),b._tileAniCallback=function(){o.show(),n.hide(),v.remove(),f()}},stopTransition:function(a){a.container.find("*").stop(!0,!0),a._tileAniCallback&&a._tileAniCallback()},onDestroy:function(){var a=this.opts();a.container.find(".cycle-tiles-container").remove()}}}(jQuery); \ No newline at end of file diff --git a/build/plugin/jquery.cycle2.video.min.js b/build/plugin/jquery.cycle2.video.min.js index 75f9c42..294e431 100644 --- a/build/plugin/jquery.cycle2.video.min.js +++ b/build/plugin/jquery.cycle2.video.min.js @@ -1,2 +1,2 @@ -/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140124 */ +/* Plugin for Cycle2; Copyright (c) 2012 M. Alsup; v20140207 */ !function(a){"use strict";function b(){try{this.playVideo()}catch(a){}}function c(){try{this.pauseVideo()}catch(a){}}var d='
';a.extend(a.fn.cycle.defaults,{youtubeAllowFullScreen:!0,youtubeAutostart:!1,youtubeAutostop:!0}),a(document).on("cycle-bootstrap",function(e,f){f.youtube&&(f.hideNonActive=!1,f.container.find(f.slides).each(function(b){if(this.href){var c,e=a(this),g=e.attr("href"),h=f.youtubeAllowFullScreen?"true":"false";g+=(/\?/.test(g)?"&":"?")+"enablejsapi=1",f.youtubeAutostart&&f.startingSlide===b&&(g+="&autoplay=1"),c=f.API.tmpl(d,{url:g,allowFullScreen:h}),e.replaceWith(c)}}),f.slides=f.slides.replace(/(\b>?a\b)/,"div.cycle-youtube"),f.youtubeAutostart&&f.container.on("cycle-initialized cycle-after",function(c,d){var e="cycle-initialized"==c.type?d.currSlide:d.nextSlide;a(d.slides[e]).find("object,embed").each(b)}),f.youtubeAutostop&&f.container.on("cycle-before",function(b,d){a(d.slides[d.currSlide]).find("object,embed").each(c)}))})}(jQuery); \ No newline at end of file diff --git a/src/jquery.cycle2.progressive.js b/src/jquery.cycle2.progressive.js index 1919888..4ea6653 100644 --- a/src/jquery.cycle2.progressive.js +++ b/src/jquery.cycle2.progressive.js @@ -67,7 +67,7 @@ $(document).on( 'cycle-pre-initialize', function( e, opts ) { API.prepareTx = function( manual, fwd ) { var opts = this.opts(), index = fwd ? opts.currSlide + 1 : opts.currSlide - 1, - $slide = $( opts.slides[index] ); + $slide = $( opts.slides[index >= 0 ? index : opts.slideCount - 1] ); progressive.navigate( $slide, function( api, args ) { return function() {