From 2ad1cf331988e9a301dcd7474783eb58fcbc3c6d Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 19:30:27 -0600 Subject: [PATCH 01/28] Starting to clean up the internal API for animations --- ui/jquery.effects.blind.js | 20 ++++++------ ui/jquery.effects.core.js | 64 ++++++++++++++++++-------------------- 2 files changed, 41 insertions(+), 43 deletions(-) diff --git a/ui/jquery.effects.blind.js b/ui/jquery.effects.blind.js index f1b823533f..4ebba4071c 100644 --- a/ui/jquery.effects.blind.js +++ b/ui/jquery.effects.blind.js @@ -17,17 +17,17 @@ $.effects.blind = function(o) { return this.queue(function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'vertical'; // Default direction + var el = $(this), + props = ['position','top','bottom','left','right'], + mode = $.effects.setMode( el, o.mode || 'hide' ), + direction = o.direction || 'vertical', + ref = (direction == 'vertical') ? 'height' : 'width', + wrapper, distance; // Default direction // Adjust $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var ref = (direction == 'vertical') ? 'height' : 'width'; - var distance = (direction == 'vertical') ? wrapper.height() : wrapper.width(); + wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + distance = wrapper[ direction == 'vertical' ? "height" : "width" ](); if(mode == 'show') wrapper.css(ref, 0); // Shift // Animation @@ -35,10 +35,10 @@ $.effects.blind = function(o) { animation[ref] = mode == 'show' ? distance : 0; // Animate - wrapper.animate(animation, o.duration, o.options.easing, function() { + wrapper.animate(animation, o.duration, o.easing, function() { if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback + if(o.complete) o.complete.apply(el[0], arguments); // Callback el.dequeue(); }); diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js index a97ca040d2..84e7308897 100644 --- a/ui/jquery.effects.core.js +++ b/ui/jquery.effects.core.js @@ -410,39 +410,43 @@ $.extend($.effects, { } }); +// return an effect options object for the given parameters: +function _normalizeArguments( effect, options, speed, callback ) { + var effectObj = { + effect: effect + }; -function _normalizeArguments(effect, options, speed, callback) { - // shift params for method overloading - if (typeof effect == 'object') { - callback = options; - speed = null; - options = effect; - effect = options.effect; + // passed an effect options object: + if ( $.isPlainObject( effect ) ) { + return effect; } - if ($.isFunction(options)) { + + if ( $.isFunction(options) ) { callback = options; speed = null; options = {}; } - if (typeof options == 'number' || $.fx.speeds[options]) { + if (typeof options == 'number' || $.fx.speeds[options]) { callback = speed; speed = options; options = {}; } - if ($.isFunction(speed)) { + if ( $.isFunction(speed) ) { callback = speed; speed = null; } - options = options || {}; - + if ( options ) { + $.extend( effectObj, options ); + } + speed = speed || options.duration; - speed = $.fx.off ? 0 : typeof speed == 'number' + effectObj.duration = $.fx.off ? 0 : typeof speed == 'number' ? speed : speed in $.fx.speeds ? $.fx.speeds[speed] : $.fx.speeds._default; - callback = callback || options.complete; + effectObj.complete = callback || options.complete; - return [effect, options, speed, callback]; + return effectObj; } function standardSpeed( speed ) { @@ -462,29 +466,23 @@ function standardSpeed( speed ) { $.fn.extend({ effect: function(effect, options, speed, callback) { var args = _normalizeArguments.apply(this, arguments), - // TODO: make effects take actual parameters instead of a hash - args2 = { - options: args[1], - duration: args[2], - callback: args[3] - }, - mode = args2.options.mode, - effectMethod = $.effects[effect]; + mode = args.mode, + effectMethod = $.effects[args.effect]; if ( $.fx.off || !effectMethod ) { // delegate to the original method (e.g., .show()) if possible if ( mode ) { - return this[ mode ]( args2.duration, args2.callback ); + return this[ mode ]( args.duration, args.callback ); } else { return this.each(function() { - if ( args2.callback ) { - args2.callback.call( this ); + if ( args.callback ) { + args.callback.call( this ); } }); } } - return effectMethod.call(this, args2); + return effectMethod.call(this, args); }, _show: $.fn.show, @@ -493,8 +491,8 @@ $.fn.extend({ return this._show.apply(this, arguments); } else { var args = _normalizeArguments.apply(this, arguments); - args[1].mode = 'show'; - return this.effect.apply(this, args); + args.mode = 'show'; + return this.effect.call(this, args); } }, @@ -504,8 +502,8 @@ $.fn.extend({ return this._hide.apply(this, arguments); } else { var args = _normalizeArguments.apply(this, arguments); - args[1].mode = 'hide'; - return this.effect.apply(this, args); + args.mode = 'hide'; + return this.effect.call(this, args); } }, @@ -516,8 +514,8 @@ $.fn.extend({ return this.__toggle.apply(this, arguments); } else { var args = _normalizeArguments.apply(this, arguments); - args[1].mode = 'toggle'; - return this.effect.apply(this, args); + args.mode = 'toggle'; + return this.effect.call(this, args); } }, From 0b18671d2819bbd9b0ff9f020a5b5b9372cace3d Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 19:46:19 -0600 Subject: [PATCH 02/28] Should add a visual test for the standard show/hide method to make sure we don't break it by overriding it --- tests/visual/effects.all.html | 6 ++++++ tests/visual/effects.all.js | 16 +++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tests/visual/effects.all.html b/tests/visual/effects.all.html index 6fd07fb394..074ebcca6b 100644 --- a/tests/visual/effects.all.html +++ b/tests/visual/effects.all.html @@ -174,6 +174,12 @@ +
  • +
    +

    hide/show (jQuery)

    +
    +
  • + diff --git a/tests/visual/effects.all.js b/tests/visual/effects.all.js index 0479c47ac7..b11c13183a 100644 --- a/tests/visual/effects.all.js +++ b/tests/visual/effects.all.js @@ -1,5 +1,6 @@ $(function() { + var duration = 1000, wait = 500; $("div.effect") .hover(function() { $(this).addClass("hover"); }, @@ -13,15 +14,24 @@ $(function() { $(el).bind("click", function() { - $(this).addClass("current").hide(n, o, 1000, function() { + $(this).addClass("current").hide(n, o, duration, function() { var self = this; window.setTimeout(function() { - $(self).show(n, o, 1000, function() { $(this).removeClass("current"); }); - },500); + $(self).show(n, o, duration, function() { $(this).removeClass("current"); }); + }, wait); }); }); }; + + $("#hide").click(function() { + var el = $(this); + el.addClass("current").hide(duration, function() { + setTimeout(function() { + el.show(duration, function() { el.removeClass("current") }); + }, wait); + }) + }) effect("#blindHorizontally", "blind", { direction: "horizontal" }); effect("#blindVertically", "blind", { direction: "vertical" }); From 5fd1f17393d8467b3c873a379f4c55b9aa279ad1 Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 19:46:46 -0600 Subject: [PATCH 03/28] Quick rewrite for new options object --- ui/jquery.effects.bounce.js | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/ui/jquery.effects.bounce.js b/ui/jquery.effects.bounce.js index 055b475967..188c2809ff 100644 --- a/ui/jquery.effects.bounce.js +++ b/ui/jquery.effects.bounce.js @@ -17,14 +17,13 @@ $.effects.bounce = function(o) { return this.queue(function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var direction = o.options.direction || 'up'; // Default direction - var distance = o.options.distance || 20; // Default distance - var times = o.options.times || 5; // Default # of times - var speed = o.duration || 250; // Default speed per bounce + var el = $( this ), + props = [ 'position', 'top', 'bottom', 'left', 'right' ], + mode = $.effects.setMode( el, o.mode || 'effect' ), + direction = o.direction || 'up', // Default direction + distance = o.distance || 20, // Default distance + times = o.times || 5, // Default # of times + speed = o.duration || 250; // Default speed per bounce if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE // Adjust @@ -32,7 +31,7 @@ $.effects.bounce = function(o) { $.effects.createWrapper(el); // Create Wrapper var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); + var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift if (mode == 'hide') distance = distance / (times * 2); if (mode != 'hide') times--; @@ -41,7 +40,7 @@ $.effects.bounce = function(o) { if (mode == 'show') { // Show Bounce var animation = {opacity: 1}; animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation, speed / 2, o.options.easing); + el.animate(animation, speed / 2, o.easing); distance = distance / 2; times--; }; @@ -49,24 +48,24 @@ $.effects.bounce = function(o) { var animation1 = {}, animation2 = {}; animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing); + el.animate(animation1, speed / 2, o.easing).animate(animation2, speed / 2, o.easing); distance = (mode == 'hide') ? distance * 2 : distance / 2; }; if (mode == 'hide') { // Last Bounce var animation = {opacity: 0}; animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - el.animate(animation, speed / 2, o.options.easing, function(){ + el.animate(animation, speed / 2, o.easing, function(){ el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback }); } else { var animation1 = {}, animation2 = {}; animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.options.easing).animate(animation2, speed / 2, o.options.easing, function(){ + el.animate(animation1, speed / 2, o.easing).animate(animation2, speed / 2, o.easing, function(){ $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback }); }; el.queue('fx', function() { el.dequeue(); }); From a370d1ffc8b0783a3a9ed1951e144902baddb264 Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 20:00:57 -0600 Subject: [PATCH 04/28] Just a quick touch to update to new internal effects object API --- ui/jquery.effects.clip.js | 13 ++++++------- ui/jquery.effects.drop.js | 15 +++++++-------- ui/jquery.effects.explode.js | 22 +++++++++++----------- ui/jquery.effects.fold.js | 12 ++++++------ ui/jquery.effects.highlight.js | 8 ++++---- ui/jquery.effects.pulsate.js | 10 +++++----- ui/jquery.effects.shake.js | 20 ++++++++++---------- ui/jquery.effects.slide.js | 10 +++++----- ui/jquery.effects.transfer.js | 8 ++++---- 9 files changed, 58 insertions(+), 60 deletions(-) diff --git a/ui/jquery.effects.clip.js b/ui/jquery.effects.clip.js index c0fe450c98..9c29d252df 100644 --- a/ui/jquery.effects.clip.js +++ b/ui/jquery.effects.clip.js @@ -17,11 +17,10 @@ $.effects.clip = function(o) { return this.queue(function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right','height','width']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'vertical'; // Default direction + var el = $( this ), + props = ['position','top','bottom','left','right','height','width'], + mode = $.effects.setMode( el, o.mode || 'hide' ), + direction = o.direction || 'vertical'; // Default direction // Adjust $.effects.save(el, props); el.show(); // Save & Show @@ -40,10 +39,10 @@ $.effects.clip = function(o) { animation[ref.position] = mode == 'show' ? 0 : distance / 2; // Animate - animate.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + animate.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback + if(o.complete) o.complete.apply(el[0], arguments); // Callback el.dequeue(); }}); diff --git a/ui/jquery.effects.drop.js b/ui/jquery.effects.drop.js index f13dda856c..152da6b54e 100644 --- a/ui/jquery.effects.drop.js +++ b/ui/jquery.effects.drop.js @@ -17,18 +17,17 @@ $.effects.drop = function(o) { return this.queue(function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right','opacity']; - - // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var direction = o.options.direction || 'left'; // Default Direction + var el = $( this ), + props = ['position','top','bottom','left','right','opacity'], + mode = $.effects.setMode(el, o.mode || 'hide'), + direction = o.direction || 'left'; // Default Direction // Adjust $.effects.save(el, props); el.show(); // Save & Show $.effects.createWrapper(el); // Create Wrapper var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); + var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift // Animation @@ -36,10 +35,10 @@ $.effects.drop = function(o) { animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + el.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback el.dequeue(); }}); diff --git a/ui/jquery.effects.explode.js b/ui/jquery.effects.explode.js index 80e12770fb..7dffed5ed6 100644 --- a/ui/jquery.effects.explode.js +++ b/ui/jquery.effects.explode.js @@ -16,10 +16,10 @@ $.effects.explode = function(o) { return this.queue(function() { - var rows = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; - var cells = o.options.pieces ? Math.round(Math.sqrt(o.options.pieces)) : 3; + var rows = o.pieces ? Math.round(Math.sqrt(o.pieces)) : 3; + var cells = o.pieces ? Math.round(Math.sqrt(o.pieces)) : 3; - o.options.mode = o.options.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.options.mode; + o.mode = o.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.mode; var el = $(this).show().css('visibility', 'hidden'); var offset = el.offset(); @@ -49,13 +49,13 @@ $.effects.explode = function(o) { overflow: 'hidden', width: width/cells, height: height/rows, - left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), - top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), - opacity: o.options.mode == 'show' ? 0 : 1 + left: offset.left + j*(width/cells) + (o.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), + top: offset.top + i*(height/rows) + (o.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), + opacity: o.mode == 'show' ? 0 : 1 }).animate({ - left: offset.left + j*(width/cells) + (o.options.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), - top: offset.top + i*(height/rows) + (o.options.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), - opacity: o.options.mode == 'show' ? 1 : 0 + left: offset.left + j*(width/cells) + (o.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), + top: offset.top + i*(height/rows) + (o.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), + opacity: o.mode == 'show' ? 1 : 0 }, o.duration || 500); } } @@ -63,8 +63,8 @@ $.effects.explode = function(o) { // Set a timeout, to call the callback approx. when the other animations have finished setTimeout(function() { - o.options.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); - if(o.callback) o.callback.apply(el[0]); // Callback + o.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); + if(o.complete) o.complete.apply(el[0]); // Callback el.dequeue(); $('div.ui-effects-explode').remove(); diff --git a/ui/jquery.effects.fold.js b/ui/jquery.effects.fold.js index fa98ee2dd4..9357868b75 100644 --- a/ui/jquery.effects.fold.js +++ b/ui/jquery.effects.fold.js @@ -20,9 +20,9 @@ $.effects.fold = function(o) { var el = $(this), props = ['position','top','bottom','left','right']; // Set options - var mode = $.effects.setMode(el, o.options.mode || 'hide'); // Set Mode - var size = o.options.size || 15; // Default fold size - var horizFirst = !(!o.options.horizFirst); // Ensure a boolean value + var mode = $.effects.setMode(el, o.mode || 'hide'); // Set Mode + var size = o.size || 15; // Default fold size + var horizFirst = !(!o.horizFirst); // Ensure a boolean value var duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2; // Adjust @@ -41,11 +41,11 @@ $.effects.fold = function(o) { animation2[ref[1]] = mode == 'show' ? distance[1] : 0; // Animate - wrapper.animate(animation1, duration, o.options.easing) - .animate(animation2, duration, o.options.easing, function() { + wrapper.animate(animation1, duration, o.easing) + .animate(animation2, duration, o.easing, function() { if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(el[0], arguments); // Callback + if(o.complete) o.complete.apply(el[0], arguments); // Callback el.dequeue(); }); diff --git a/ui/jquery.effects.highlight.js b/ui/jquery.effects.highlight.js index 9a3edc5bcf..6ca0d53c25 100644 --- a/ui/jquery.effects.highlight.js +++ b/ui/jquery.effects.highlight.js @@ -16,7 +16,7 @@ $.effects.highlight = function(o) { return this.queue(function() { var elem = $(this), props = ['backgroundImage', 'backgroundColor', 'opacity'], - mode = $.effects.setMode(elem, o.options.mode || 'show'), + mode = $.effects.setMode(elem, o.mode || 'show'), animation = { backgroundColor: elem.css('backgroundColor') }; @@ -30,17 +30,17 @@ $.effects.highlight = function(o) { .show() .css({ backgroundImage: 'none', - backgroundColor: o.options.color || '#ffff99' + backgroundColor: o.color || '#ffff99' }) .animate(animation, { queue: false, duration: o.duration, - easing: o.options.easing, + easing: o.easing, complete: function() { (mode == 'hide' && elem.hide()); $.effects.restore(elem, props); (mode == 'show' && !$.support.opacity && this.style.removeAttribute('filter')); - (o.callback && o.callback.apply(this, arguments)); + (o.complete && o.complete.apply(this, arguments)); elem.dequeue(); } }); diff --git a/ui/jquery.effects.pulsate.js b/ui/jquery.effects.pulsate.js index 1b3cb00f89..e7d53d02d8 100644 --- a/ui/jquery.effects.pulsate.js +++ b/ui/jquery.effects.pulsate.js @@ -15,8 +15,8 @@ $.effects.pulsate = function(o) { return this.queue(function() { var elem = $(this), - mode = $.effects.setMode(elem, o.options.mode || 'show'), - times = ((o.options.times || 5) * 2) - 1, + mode = $.effects.setMode(elem, o.mode || 'show'), + times = ((o.times || 5) * 2) - 1, duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2, isVisible = elem.is(':visible'), animateTo = 0; @@ -31,15 +31,15 @@ $.effects.pulsate = function(o) { } for (var i = 0; i < times; i++) { - elem.animate({ opacity: animateTo }, duration, o.options.easing); + elem.animate({ opacity: animateTo }, duration, o.easing); animateTo = (animateTo + 1) % 2; } - elem.animate({ opacity: animateTo }, duration, o.options.easing, function() { + elem.animate({ opacity: animateTo }, duration, o.easing, function() { if (animateTo == 0) { elem.hide(); } - (o.callback && o.callback.apply(this, arguments)); + (o.complete && o.complete.apply(this, arguments)); }); elem diff --git a/ui/jquery.effects.shake.js b/ui/jquery.effects.shake.js index 14c9418093..011bd6b54f 100644 --- a/ui/jquery.effects.shake.js +++ b/ui/jquery.effects.shake.js @@ -20,11 +20,11 @@ $.effects.shake = function(o) { var el = $(this), props = ['position','top','bottom','left','right']; // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var direction = o.options.direction || 'left'; // Default direction - var distance = o.options.distance || 20; // Default distance - var times = o.options.times || 3; // Default # of times - var speed = o.duration || o.options.duration || 140; // Default speed per shake + var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode + var direction = o.direction || 'left'; // Default direction + var distance = o.distance || 20; // Default distance + var times = o.times || 3; // Default # of times + var speed = o.duration || o.duration || 140; // Default speed per shake // Adjust $.effects.save(el, props); el.show(); // Save & Show @@ -39,14 +39,14 @@ $.effects.shake = function(o) { animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; // Animate - el.animate(animation, speed, o.options.easing); + el.animate(animation, speed, o.easing); for (var i = 1; i < times; i++) { // Shakes - el.animate(animation1, speed, o.options.easing).animate(animation2, speed, o.options.easing); + el.animate(animation1, speed, o.easing).animate(animation2, speed, o.easing); }; - el.animate(animation1, speed, o.options.easing). - animate(animation, speed / 2, o.options.easing, function(){ // Last shake + el.animate(animation1, speed, o.easing). + animate(animation, speed / 2, o.easing, function(){ // Last shake $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback }); el.queue('fx', function() { el.dequeue(); }); el.dequeue(); diff --git a/ui/jquery.effects.slide.js b/ui/jquery.effects.slide.js index 35a584fd98..57b60290e9 100644 --- a/ui/jquery.effects.slide.js +++ b/ui/jquery.effects.slide.js @@ -20,15 +20,15 @@ $.effects.slide = function(o) { var el = $(this), props = ['position','top','bottom','left','right']; // Set options - var mode = $.effects.setMode(el, o.options.mode || 'show'); // Set Mode - var direction = o.options.direction || 'left'; // Default Direction + var mode = $.effects.setMode(el, o.mode || 'show'); // Set Mode + var direction = o.direction || 'left'; // Default Direction // Adjust $.effects.save(el, props); el.show(); // Save & Show $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.options.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); + var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift // Animation @@ -36,10 +36,10 @@ $.effects.slide = function(o) { animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + el.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback el.dequeue(); }}); diff --git a/ui/jquery.effects.transfer.js b/ui/jquery.effects.transfer.js index 4b4c410507..9765d49442 100644 --- a/ui/jquery.effects.transfer.js +++ b/ui/jquery.effects.transfer.js @@ -15,7 +15,7 @@ $.effects.transfer = function(o) { return this.queue(function() { var elem = $(this), - target = $(o.options.to), + target = $(o.to), endPosition = target.offset(), animation = { top: endPosition.top, @@ -26,7 +26,7 @@ $.effects.transfer = function(o) { startPosition = elem.offset(), transfer = $('
    ') .appendTo(document.body) - .addClass(o.options.className) + .addClass(o.className) .css({ top: startPosition.top, left: startPosition.left, @@ -34,9 +34,9 @@ $.effects.transfer = function(o) { width: elem.innerWidth(), position: 'absolute' }) - .animate(animation, o.duration, o.options.easing, function() { + .animate(animation, o.duration, o.easing, function() { transfer.remove(); - (o.callback && o.callback.apply(elem[0], arguments)); + (o.complete && o.complete.apply(elem[0], arguments)); elem.dequeue(); }); }); From a1c8c7bcd62bf829a5717d275fc35454624430b9 Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 20:10:09 -0600 Subject: [PATCH 05/28] Updated to new effects object API --- ui/jquery.effects.scale.js | 47 ++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 22 deletions(-) diff --git a/ui/jquery.effects.scale.js b/ui/jquery.effects.scale.js index 9a4020d580..fa8087fe37 100644 --- a/ui/jquery.effects.scale.js +++ b/ui/jquery.effects.scale.js @@ -15,12 +15,13 @@ $.effects.puff = function(o) { return this.queue(function() { var elem = $(this), - mode = $.effects.setMode(elem, o.options.mode || 'hide'), - percent = parseInt(o.options.percent, 10) || 150, + mode = $.effects.setMode(elem, o.mode || 'hide'), + percent = parseInt(o.percent, 10) || 150, factor = percent / 100, original = { height: elem.height(), width: elem.width() }; - $.extend(o.options, { + $.extend(o, { + effect: 'scale', fade: true, mode: mode, percent: mode == 'hide' ? percent : 100, @@ -31,8 +32,8 @@ $.effects.puff = function(o) { width: original.width * factor } }); - - elem.effect('scale', o.options, o.duration, o.callback); +console.log(o);debugger; + elem.effect(o); elem.dequeue(); }); }; @@ -45,17 +46,17 @@ $.effects.scale = function(o) { var el = $(this); // Set options - var options = $.extend(true, {}, o.options); - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var percent = parseInt(o.options.percent,10) || (parseInt(o.options.percent,10) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent - var direction = o.options.direction || 'both'; // Set default axis - var origin = o.options.origin; // The origin of the scaling + var options = $.extend(true, {}, o); + var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode + var percent = parseInt(o.percent,10) || (parseInt(o.percent,10) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent + var direction = o.direction || 'both'; // Set default axis + var origin = o.origin; // The origin of the scaling if (mode != 'effect') { // Set default origin and restore for show/hide options.origin = origin || ['middle','center']; options.restore = true; } var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.options.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state + el.from = o.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state // Adjust var factor = { // Set scaling factor @@ -64,16 +65,18 @@ $.effects.scale = function(o) { }; el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state - if (o.options.fade) { // Fade option to support puff + if (o.fade) { // Fade option to support puff if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; }; // Animation options.from = el.from; options.to = el.to; options.mode = mode; + + options.effect = "size"; // Animate - el.effect('size', options, o.duration, o.callback); + el.effect(options); el.dequeue(); }); @@ -92,13 +95,13 @@ $.effects.size = function(o) { var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; // Set options - var mode = $.effects.setMode(el, o.options.mode || 'effect'); // Set Mode - var restore = o.options.restore || false; // Default restore - var scale = o.options.scale || 'both'; // Default scale mode - var origin = o.options.origin; // The origin of the sizing + var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode + var restore = o.restore || false; // Default restore + var scale = o.scale || 'both'; // Default scale mode + var origin = o.origin; // The origin of the sizing var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.options.from || original; // Default from state - el.to = o.options.to || original; // Default to state + el.from = o.from || original; // Default from state + el.to = o.to || original; // Default to state // Adjust if (origin) { // Calculate baseline shifts var baseline = $.effects.getBaseline(origin, original); @@ -154,20 +157,20 @@ $.effects.size = function(o) { child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); }; child.css(child.from); // Shift children - child.animate(child.to, o.duration, o.options.easing, function(){ + child.animate(child.to, o.duration, o.easing, function(){ if (restore) $.effects.restore(child, props2); // Restore children }); // Animate children }); }; // Animate - el.animate(el.to, { queue: false, duration: o.duration, easing: o.options.easing, complete: function() { + el.animate(el.to, { queue: false, duration: o.duration, easing: o.easing, complete: function() { if (el.to.opacity === 0) { el.css('opacity', el.from.opacity); } if(mode == 'hide') el.hide(); // Hide $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore - if(o.callback) o.callback.apply(this, arguments); // Callback + if(o.complete) o.complete.apply(this, arguments); // Callback el.dequeue(); }}); From 5c4577f78c4db350ebcae1e96698721c0400fb7f Mon Sep 17 00:00:00 2001 From: gnarf Date: Wed, 2 Mar 2011 20:58:10 -0600 Subject: [PATCH 06/28] Cleaning up effects.core _normalizeArguments a bit more --- ui/jquery.effects.core.js | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js index 84e7308897..6618a22365 100644 --- a/ui/jquery.effects.core.js +++ b/ui/jquery.effects.core.js @@ -412,41 +412,47 @@ $.extend($.effects, { // return an effect options object for the given parameters: function _normalizeArguments( effect, options, speed, callback ) { - var effectObj = { - effect: effect - }; - // passed an effect options object: + // short path for passing an effect options object: if ( $.isPlainObject( effect ) ) { return effect; } - if ( $.isFunction(options) ) { + // convert to an object + effect = { effect: effect }; + + // catch (effect, callback) + if ( $.isFunction( options ) ) { callback = options; speed = null; options = {}; } - if (typeof options == 'number' || $.fx.speeds[options]) { + + // catch (effect, speed, ?) + if ( $.type( options ) == 'number' || $.fx.speeds[ options ]) { callback = speed; speed = options; options = {}; } - if ( $.isFunction(speed) ) { + + // catch (effect, options, callback) + if ( $.isFunction( speed ) ) { callback = speed; speed = null; } + // add options to effect if ( options ) { - $.extend( effectObj, options ); + $.extend( effect, options ); } speed = speed || options.duration; - effectObj.duration = $.fx.off ? 0 : typeof speed == 'number' - ? speed : speed in $.fx.speeds ? $.fx.speeds[speed] : $.fx.speeds._default; + effect.duration = $.fx.off ? 0 : typeof speed == 'number' + ? speed : speed in $.fx.speeds ? $.fx.speeds[ speed ] : $.fx.speeds._default; - effectObj.complete = callback || options.complete; + effect.complete = callback || options.complete; - return effectObj; + return effect; } function standardSpeed( speed ) { From 2fdc868707d67f9e9df54698395c300d63d75720 Mon Sep 17 00:00:00 2001 From: gnarf Date: Fri, 4 Mar 2011 17:10:02 -0600 Subject: [PATCH 07/28] Effects: General Code Cleanup --- ui/jquery.effects.blind.js | 18 ++++++------ ui/jquery.effects.bounce.js | 57 +++++++++++++++++++++---------------- 2 files changed, 41 insertions(+), 34 deletions(-) diff --git a/ui/jquery.effects.blind.js b/ui/jquery.effects.blind.js index 4ebba4071c..0bf5b0b719 100644 --- a/ui/jquery.effects.blind.js +++ b/ui/jquery.effects.blind.js @@ -15,30 +15,28 @@ $.effects.blind = function(o) { return this.queue(function() { - // Create element var el = $(this), props = ['position','top','bottom','left','right'], mode = $.effects.setMode( el, o.mode || 'hide' ), direction = o.direction || 'vertical', ref = (direction == 'vertical') ? 'height' : 'width', - wrapper, distance; // Default direction + animation = {}, + wrapper, distance; // Adjust $.effects.save(el, props); el.show(); // Save & Show + wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - distance = wrapper[ direction == 'vertical' ? "height" : "width" ](); - if(mode == 'show') wrapper.css(ref, 0); // Shift - // Animation - var animation = {}; - animation[ref] = mode == 'show' ? distance : 0; + animation[ref] = ( mode == 'show' ? wrapper[ ref ]() : 0 ); + (mode == 'show' && wrapper.css(ref, 0)); // start at 0 if we are showing // Animate - wrapper.animate(animation, o.duration, o.easing, function() { - if(mode == 'hide') el.hide(); // Hide + wrapper.animate( animation, o.duration, o.easing, function() { + (mode == 'hide' && el.hide()); // Hide $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(el[0], arguments); // Callback + (o.complete && o.complete.apply(el[0], arguments)); // Callback el.dequeue(); }); diff --git a/ui/jquery.effects.bounce.js b/ui/jquery.effects.bounce.js index 188c2809ff..dde99481b8 100644 --- a/ui/jquery.effects.bounce.js +++ b/ui/jquery.effects.bounce.js @@ -12,6 +12,8 @@ */ (function( $, undefined ) { +var rshowhide = /show|hide/; + $.effects.bounce = function(o) { return this.queue(function() { @@ -19,56 +21,63 @@ $.effects.bounce = function(o) { // Create element var el = $( this ), props = [ 'position', 'top', 'bottom', 'left', 'right' ], + // defaults: mode = $.effects.setMode( el, o.mode || 'effect' ), - direction = o.direction || 'up', // Default direction - distance = o.distance || 20, // Default distance - times = o.times || 5, // Default # of times - speed = o.duration || 250; // Default speed per bounce - if (/show|hide/.test(mode)) props.push('opacity'); // Avoid touching opacity to prevent clearType and PNG issues in IE + direction = o.direction || 'up', + distance = o.distance || 20, + times = o.times || 5, + speed = (o.duration || 250), + // utility: + ref = ( direction == 'up' || direction == 'down' ) ? 'top' : 'left', + motion = ( direction == 'up' || direction == 'left' ), // true is positive + distance = o.distance || false; + + // Avoid touching opacity to prevent clearType and PNG issues in IE + if ( rshowhide.test(mode) ) props.push('opacity'); - // Adjust $.effects.save(el, props); el.show(); // Save & Show $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 3 : el.outerWidth({margin:true}) / 3); - if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + + if ( !distance ) { + distance = el[ref == 'top' ? 'outerHeight' : 'outerWidth' ]( { margin:true } ) / 3; + } + if (mode == 'show') el.css('opacity', 0).css(ref, motion ? -distance : distance ); // Shift if (mode == 'hide') distance = distance / (times * 2); if (mode != 'hide') times--; // Animate if (mode == 'show') { // Show Bounce - var animation = {opacity: 1}; - animation[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation, speed / 2, o.easing); + var animation = { opacity: 1 }; + animation[ref] = (motion ? '+=' : '-=') + distance; + el.animate( animation, speed / 2, o.easing); distance = distance / 2; times--; }; for (var i = 0; i < times; i++) { // Bounces var animation1 = {}, animation2 = {}; - animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.easing).animate(animation2, speed / 2, o.easing); + animation1[ref] = (motion ? '-=' : '+=') + distance; + animation2[ref] = (motion ? '+=' : '-=') + distance; + el.animate( animation1, speed / 2, o.easing ).animate( animation2, speed / 2, o.easing ); distance = (mode == 'hide') ? distance * 2 : distance / 2; }; if (mode == 'hide') { // Last Bounce - var animation = {opacity: 0}; - animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - el.animate(animation, speed / 2, o.easing, function(){ + var animation = { opacity: 0 }; + animation[ref] = (motion ? '-=' : '+=') + distance; + el.animate( animation, speed / 2, o.easing, function(){ el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback + $.effects.restore( el, props ); $.effects.removeWrapper( el ); // Restore + if ( o.complete ) o.complete.apply( this, arguments ); // Callback }); } else { var animation1 = {}, animation2 = {}; - animation1[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation2[ref] = (motion == 'pos' ? '+=' : '-=') + distance; + animation1[ref] = (motion ? '-=' : '+=') + distance; + animation2[ref] = (motion ? '+=' : '-=') + distance; el.animate(animation1, speed / 2, o.easing).animate(animation2, speed / 2, o.easing, function(){ $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore if(o.complete) o.complete.apply(this, arguments); // Callback }); }; - el.queue('fx', function() { el.dequeue(); }); + el.queue('fx', function(next) { next(); }); el.dequeue(); }); From d742cd6a887ea81c58359f8083930ee141c0bade Mon Sep 17 00:00:00 2001 From: gnarf Date: Sat, 5 Mar 2011 16:17:54 -0600 Subject: [PATCH 08/28] Effects: Minor whitespace improvements --- ui/jquery.effects.core.js | 1 - ui/jquery.effects.highlight.js | 1 + ui/jquery.effects.transfer.js | 12 ++++++------ 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js index 6618a22365..cbfd4fbe19 100644 --- a/ui/jquery.effects.core.js +++ b/ui/jquery.effects.core.js @@ -487,7 +487,6 @@ $.fn.extend({ }); } } - return effectMethod.call(this, args); }, diff --git a/ui/jquery.effects.highlight.js b/ui/jquery.effects.highlight.js index 6ca0d53c25..2049ec015a 100644 --- a/ui/jquery.effects.highlight.js +++ b/ui/jquery.effects.highlight.js @@ -26,6 +26,7 @@ $.effects.highlight = function(o) { } $.effects.save(elem, props); + elem .show() .css({ diff --git a/ui/jquery.effects.transfer.js b/ui/jquery.effects.transfer.js index 9765d49442..b57ac51b9a 100644 --- a/ui/jquery.effects.transfer.js +++ b/ui/jquery.effects.transfer.js @@ -14,8 +14,8 @@ $.effects.transfer = function(o) { return this.queue(function() { - var elem = $(this), - target = $(o.to), + var elem = $( this ), + target = $( o.to ), endPosition = target.offset(), animation = { top: endPosition.top, @@ -24,9 +24,9 @@ $.effects.transfer = function(o) { width: target.innerWidth() }, startPosition = elem.offset(), - transfer = $('
    ') - .appendTo(document.body) - .addClass(o.className) + transfer = $( '
    ' ) + .appendTo( document.body ) + .addClass( o.className ) .css({ top: startPosition.top, left: startPosition.left, @@ -34,7 +34,7 @@ $.effects.transfer = function(o) { width: elem.innerWidth(), position: 'absolute' }) - .animate(animation, o.duration, o.easing, function() { + .animate( animation, o.duration, o.easing, function() { transfer.remove(); (o.complete && o.complete.apply(elem[0], arguments)); elem.dequeue(); From 210fcc427819140795e71392d07bbdd836eee2bb Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 05:22:32 -0600 Subject: [PATCH 09/28] effects.clip: Style Guidance --- ui/jquery.effects.clip.js | 62 ++++++++++++++++++++++++--------------- 1 file changed, 39 insertions(+), 23 deletions(-) diff --git a/ui/jquery.effects.clip.js b/ui/jquery.effects.clip.js index 9c29d252df..643e436b12 100644 --- a/ui/jquery.effects.clip.js +++ b/ui/jquery.effects.clip.js @@ -12,39 +12,55 @@ */ (function( $, undefined ) { -$.effects.clip = function(o) { +$.effects.clip = function( o ) { - return this.queue(function() { + return this.queue( function() { // Create element var el = $( this ), props = ['position','top','bottom','left','right','height','width'], mode = $.effects.setMode( el, o.mode || 'hide' ), - direction = o.direction || 'vertical'; // Default direction + direction = o.direction || 'vertical', + ref = { + size: (direction == 'vertical') ? 'height' : 'width', + position: (direction == 'vertical') ? 'top' : 'left' + }, + animation = {}, + wrapper, animate, distance; - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var animate = el[0].tagName == 'IMG' ? wrapper : el; - var ref = { - size: (direction == 'vertical') ? 'height' : 'width', - position: (direction == 'vertical') ? 'top' : 'left' - }; - var distance = (direction == 'vertical') ? animate.height() : animate.width(); - if(mode == 'show') { animate.css(ref.size, 0); animate.css(ref.position, distance / 2); } // Shift + // Save & Show + $.effects.save( el, props ); el.show(); - // Animation - var animation = {}; - animation[ref.size] = mode == 'show' ? distance : 0; - animation[ref.position] = mode == 'show' ? 0 : distance / 2; + // Create Wrapper + wrapper = $.effects.createWrapper( el ).css({ + overflow: 'hidden' + }); + animate = ( el[0].tagName == 'IMG' ) ? wrapper : el; + distance = ( direction == 'vertical' ) ? animate.height() : animate.width(); + + // Shift + if ( mode == 'show' ) { + animate.css( ref.size, 0 ); + animate.css( ref.position, distance / 2 ); + } + + // Create Animation Object: + animation[ ref.size ] = mode == 'show' ? distance : 0; + animation[ ref.position ] = mode == 'show' ? 0 : distance / 2; // Animate - animate.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(el[0], arguments); // Callback - el.dequeue(); - }}); + animate.animate( animation, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: function() { + mode == 'hide' && el.hide(); + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( el[ 0 ], arguments ); + el.dequeue(); + } + }); }); From 7391fe8df3ce335f467989a69151636c8bed17bc Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 05:25:38 -0600 Subject: [PATCH 10/28] effects.clip: Reuse a var instead of calculate again --- ui/jquery.effects.clip.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/jquery.effects.clip.js b/ui/jquery.effects.clip.js index 643e436b12..8cf91da57a 100644 --- a/ui/jquery.effects.clip.js +++ b/ui/jquery.effects.clip.js @@ -36,7 +36,7 @@ $.effects.clip = function( o ) { overflow: 'hidden' }); animate = ( el[0].tagName == 'IMG' ) ? wrapper : el; - distance = ( direction == 'vertical' ) ? animate.height() : animate.width(); + distance = animate[ ref.size ](); // Shift if ( mode == 'show' ) { From 61cf83408136514282523179e4ce93d3b88638da Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 05:36:06 -0600 Subject: [PATCH 11/28] effects.drop: Style Guidance --- ui/jquery.effects.drop.js | 56 ++++++++++++++++++++++++--------------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/ui/jquery.effects.drop.js b/ui/jquery.effects.drop.js index 152da6b54e..e13690746e 100644 --- a/ui/jquery.effects.drop.js +++ b/ui/jquery.effects.drop.js @@ -12,35 +12,49 @@ */ (function( $, undefined ) { -$.effects.drop = function(o) { +$.effects.drop = function( o ) { - return this.queue(function() { + return this.queue( function() { - // Create element var el = $( this ), - props = ['position','top','bottom','left','right','opacity'], - mode = $.effects.setMode(el, o.mode || 'hide'), - direction = o.direction || 'left'; // Default Direction - + props = [ 'position', 'top', 'bottom', 'left', 'right', 'opacity' ], + mode = $.effects.setMode( el, o.mode || 'hide' ), + direction = o.direction || 'left', + ref = (direction == 'up' || direction == 'down') ? 'top' : 'left', + motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg', + animation = { + opacity: mode == 'show' ? 1 : 0 + }, + distance; + // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) / 2 : el.outerWidth({margin:true}) / 2); - if (mode == 'show') el.css('opacity', 0).css(ref, motion == 'pos' ? -distance : distance); // Shift + $.effects.save(el, props); el.show(); + $.effects.createWrapper(el); + + distance = o.distance || el[ ref == 'top' ? 'outerHeight': 'outerWidth' ]({ margin: true }) / 2; + + if ( mode == 'show' ) { + el + .css( 'opacity', 0 ) + .css( ref, motion == 'pos' ? -distance : distance ); + } // Animation - var animation = {opacity: mode == 'show' ? 1 : 0}; - animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + animation[ ref ] = ((mode == 'show') ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback - el.dequeue(); - }}); + el.animate( animation, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: function() { + mode == 'hide' && el.hide(); + $.effects.restore(el, props); + $.effects.removeWrapper(el); + $.isFunction( o.complete ) && o.complete.apply(this, arguments); + el.dequeue(); + } + }); }); From bcb8f7ed9aee8ecb0ad5144204f6c7083949b3a7 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 15:24:24 -0600 Subject: [PATCH 12/28] effects.*: More Style Guidance --- ui/jquery.effects.blind.js | 4 +- ui/jquery.effects.explode.js | 99 ++++++++++++++++++------------------ ui/jquery.effects.fade.js | 18 ++++--- 3 files changed, 61 insertions(+), 60 deletions(-) diff --git a/ui/jquery.effects.blind.js b/ui/jquery.effects.blind.js index 0bf5b0b719..814649a040 100644 --- a/ui/jquery.effects.blind.js +++ b/ui/jquery.effects.blind.js @@ -16,11 +16,11 @@ $.effects.blind = function(o) { return this.queue(function() { // Create element - var el = $(this), + var el = $( this ), props = ['position','top','bottom','left','right'], mode = $.effects.setMode( el, o.mode || 'hide' ), direction = o.direction || 'vertical', - ref = (direction == 'vertical') ? 'height' : 'width', + ref = ( direction == 'vertical' ) ? 'height' : 'width', animation = {}, wrapper, distance; diff --git a/ui/jquery.effects.explode.js b/ui/jquery.effects.explode.js index 7dffed5ed6..763092457f 100644 --- a/ui/jquery.effects.explode.js +++ b/ui/jquery.effects.explode.js @@ -12,64 +12,63 @@ */ (function( $, undefined ) { -$.effects.explode = function(o) { +$.effects.explode = function( o ) { - return this.queue(function() { + return this.queue( function() { - var rows = o.pieces ? Math.round(Math.sqrt(o.pieces)) : 3; - var cells = o.pieces ? Math.round(Math.sqrt(o.pieces)) : 3; + var rows = o.pieces ? Math.round(Math.sqrt(o.pieces)) : 3, + cells = rows, + el = $( this ).show().css( 'visibility', 'hidden' ), + mode = $.effects.setMode( el, o.mode || 'hide' ), + offset = el.offset(), + width = el.outerWidth( true ), + height = el.outerHeight( true ); - o.mode = o.mode == 'toggle' ? ($(this).is(':visible') ? 'hide' : 'show') : o.mode; - var el = $(this).show().css('visibility', 'hidden'); - var offset = el.offset(); + //Substract the margins - not fixing the problem yet. + offset.top -= parseInt( el.css( "marginTop" ), 10 ) || 0; + offset.left -= parseInt( el.css( "marginLeft" ), 10 ) || 0; - //Substract the margins - not fixing the problem yet. - offset.top -= parseInt(el.css("marginTop"),10) || 0; - offset.left -= parseInt(el.css("marginLeft"),10) || 0; - - var width = el.outerWidth(true); - var height = el.outerHeight(true); - - for(var i=0;i') - .css({ - position: 'absolute', - visibility: 'visible', - left: -j*(width/cells), - top: -i*(height/rows) - }) - .parent() - .addClass('ui-effects-explode') - .css({ - position: 'absolute', - overflow: 'hidden', - width: width/cells, - height: height/rows, - left: offset.left + j*(width/cells) + (o.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), - top: offset.top + i*(height/rows) + (o.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), - opacity: o.mode == 'show' ? 0 : 1 - }).animate({ - left: offset.left + j*(width/cells) + (o.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), - top: offset.top + i*(height/rows) + (o.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), - opacity: o.mode == 'show' ? 1 : 0 - }, o.duration || 500); + for( var i = 0; i < rows ; i++ ) { // = + for( var j = 0; j < cells ; j++ ) { // || + el + .clone() + .appendTo('body') + .wrap('
    ') + .css({ + position: 'absolute', + visibility: 'visible', + left: -j*(width/cells), + top: -i*(height/rows) + }) + .parent() + .addClass('ui-effects-explode') + .css({ + position: 'absolute', + overflow: 'hidden', + width: width/cells, + height: height/rows, + left: offset.left + j*(width/cells) + (o.mode == 'show' ? (j-Math.floor(cells/2))*(width/cells) : 0), + top: offset.top + i*(height/rows) + (o.mode == 'show' ? (i-Math.floor(rows/2))*(height/rows) : 0), + opacity: mode == 'show' ? 0 : 1 + }).animate({ + left: offset.left + j*(width/cells) + (o.mode == 'show' ? 0 : (j-Math.floor(cells/2))*(width/cells)), + top: offset.top + i*(height/rows) + (o.mode == 'show' ? 0 : (i-Math.floor(rows/2))*(height/rows)), + opacity: mode == 'show' ? 1 : 0 + }, o.duration || 500); + } } - } - // Set a timeout, to call the callback approx. when the other animations have finished - setTimeout(function() { + // Set a timeout, to call the callback approx. when the other animations have finished + setTimeout(function() { - o.mode == 'show' ? el.css({ visibility: 'visible' }) : el.css({ visibility: 'visible' }).hide(); - if(o.complete) o.complete.apply(el[0]); // Callback - el.dequeue(); + el.css({ visibility: 'visible' }); + mode != 'show' && el.hide(); + $.isFunction( o.complete ) && o.complete.apply( el[ 0 ] ); + el.dequeue(); - $('div.ui-effects-explode').remove(); - - }, o.duration || 500); + // Note: This is removing all exploding peices from the dom, rather than the ones for this animation only... Ticket# 6022 + $('div.ui-effects-explode').remove(); + }, o.duration || 500); }); diff --git a/ui/jquery.effects.fade.js b/ui/jquery.effects.fade.js index 9fa8a79c41..c6cb85cc21 100644 --- a/ui/jquery.effects.fade.js +++ b/ui/jquery.effects.fade.js @@ -12,18 +12,20 @@ */ (function( $, undefined ) { -$.effects.fade = function(o) { - return this.queue(function() { - var elem = $(this), - mode = $.effects.setMode(elem, o.options.mode || 'hide'); +$.effects.fade = function( o ) { + return this.queue( function() { + var el = $( this ), + mode = $.effects.setMode( el, o.mode || 'hide' ); - elem.animate({ opacity: mode }, { + el.animate({ + opacity: mode + }, { queue: false, duration: o.duration, - easing: o.options.easing, + easing: o.easing, complete: function() { - (o.callback && o.callback.apply(this, arguments)); - elem.dequeue(); + jQuery.isFunction( o.complete ) && o.complete.apply( this, arguments ); + el.dequeue(); } }); }); From 8ce879e51be564bc9eb906295fd04069ce90a5bc Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 15:24:48 -0600 Subject: [PATCH 13/28] Adding fade to the tests --- tests/visual/effects.all.html | 7 +++++++ tests/visual/effects.all.js | 8 +++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/visual/effects.all.html b/tests/visual/effects.all.html index 074ebcca6b..392ed62564 100644 --- a/tests/visual/effects.all.html +++ b/tests/visual/effects.all.html @@ -11,6 +11,7 @@ + @@ -90,6 +91,12 @@ +
  • +
    +

    Fade

    +
    +
  • +
  • Fold

    diff --git a/tests/visual/effects.all.js b/tests/visual/effects.all.js index b11c13183a..5e47a4f48c 100644 --- a/tests/visual/effects.all.js +++ b/tests/visual/effects.all.js @@ -49,6 +49,8 @@ $(function() { effect("#explode9", "explode", {}); effect("#explode36", "explode", { pieces: 36 }); + effect("#fade", "fade", {}); + effect("#fold", "fold", { size: 50 }); effect("#highlight", "highlight", {}); @@ -71,7 +73,7 @@ $(function() { $(this).addClass(function() { window.console && console.log(arguments); return "current"; - }, 1000, function() { + }, duration, function() { $(this).removeClass("current"); }); }); @@ -79,12 +81,12 @@ $(function() { $(this).addClass("current").removeClass(function() { window.console && console.log(arguments); return "current" - }, 1000); + }, duration); }); $("#toggleClass").click(function() { $(this).toggleClass(function() { window.console && console.log(arguments); return "current" - }, 1000); + }, duration); }); }); From 7a60bc6824227bc2613eec1b79bcd6e8170d61f0 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 17:45:43 -0600 Subject: [PATCH 14/28] effect.*: Style Guidance --- ui/jquery.effects.fold.js | 69 +++++++++++++++++++++------------- ui/jquery.effects.highlight.js | 22 +++++------ ui/jquery.effects.pulsate.js | 39 +++++++++---------- 3 files changed, 74 insertions(+), 56 deletions(-) diff --git a/ui/jquery.effects.fold.js b/ui/jquery.effects.fold.js index 9357868b75..19e97c40f2 100644 --- a/ui/jquery.effects.fold.js +++ b/ui/jquery.effects.fold.js @@ -12,42 +12,59 @@ */ (function( $, undefined ) { -$.effects.fold = function(o) { +$.effects.fold = function( o ) { - return this.queue(function() { + return this.queue( function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right']; + var el = $( this ), + props = ['position','top','bottom','left','right'], + mode = $.effects.setMode(el, o.mode || 'hide'), + size = o.size || 15, + percent = /([0-9]+)%/.exec(size), + horizFirst = !!o.horizFirst, + widthFirst = ((mode == 'show') != horizFirst), + ref = widthFirst ? ['width', 'height'] : ['height', 'width'], + duration = o.duration / 2, + wrapper, distance; - // Set options - var mode = $.effects.setMode(el, o.mode || 'hide'); // Set Mode - var size = o.size || 15; // Default fold size - var horizFirst = !(!o.horizFirst); // Ensure a boolean value - var duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2; + $.effects.save( el, props ); + el.show(); - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - var wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var widthFirst = ((mode == 'show') != horizFirst); - var ref = widthFirst ? ['width', 'height'] : ['height', 'width']; - var distance = widthFirst ? [wrapper.width(), wrapper.height()] : [wrapper.height(), wrapper.width()]; - var percent = /([0-9]+)%/.exec(size); - if(percent) size = parseInt(percent[1],10) / 100 * distance[mode == 'hide' ? 0 : 1]; - if(mode == 'show') wrapper.css(horizFirst ? {height: 0, width: size} : {height: size, width: 0}); // Shift + // Create Wrapper + wrapper = $.effects.createWrapper( el ).css({ + overflow: 'hidden' + }); + distance = widthFirst ? + [ wrapper.width(), wrapper.height() ] : + [ wrapper.height(), wrapper.width() ]; + + if ( percent ) { + size = parseInt( percent[ 1 ], 10 ) / 100 * distance[ ( mode == 'hide') ? 0 : 1 ]; + } + mode == 'show' && wrapper.css( horizFirst ? { + height: 0, + width: size + } : { + height: size, + width: 0 + }); // Animation var animation1 = {}, animation2 = {}; - animation1[ref[0]] = mode == 'show' ? distance[0] : size; - animation2[ref[1]] = mode == 'show' ? distance[1] : 0; + animation1[ ref[ 0 ] ] = mode == 'show' ? distance[ 0 ] : size; + animation2[ ref[ 1 ] ] = mode == 'show' ? distance[ 1 ] : 0; // Animate - wrapper.animate(animation1, duration, o.easing) - .animate(animation2, duration, o.easing, function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(el[0], arguments); // Callback - el.dequeue(); - }); + wrapper + .animate( animation1, duration, o.easing ) + .animate( animation2, duration, o.easing, function() { + (mode == 'hide') && el.hide(); + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + jQuery.isFunction(o.complete) && o.complete.apply( el[ 0 ], arguments ); + el.dequeue(); + }); }); diff --git a/ui/jquery.effects.highlight.js b/ui/jquery.effects.highlight.js index 2049ec015a..b2ffb15e8e 100644 --- a/ui/jquery.effects.highlight.js +++ b/ui/jquery.effects.highlight.js @@ -12,20 +12,20 @@ */ (function( $, undefined ) { -$.effects.highlight = function(o) { - return this.queue(function() { - var elem = $(this), - props = ['backgroundImage', 'backgroundColor', 'opacity'], - mode = $.effects.setMode(elem, o.mode || 'show'), +$.effects.highlight = function( o ) { + return this.queue( function() { + var elem = $( this ), + props = [ 'backgroundImage', 'backgroundColor', 'opacity' ], + mode = $.effects.setMode( elem, o.mode || 'show' ), animation = { - backgroundColor: elem.css('backgroundColor') + backgroundColor: elem.css( 'backgroundColor' ) }; if (mode == 'hide') { animation.opacity = 0; } - $.effects.save(elem, props); + $.effects.save( elem, props ); elem .show() @@ -33,15 +33,15 @@ $.effects.highlight = function(o) { backgroundImage: 'none', backgroundColor: o.color || '#ffff99' }) - .animate(animation, { + .animate( animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { (mode == 'hide' && elem.hide()); - $.effects.restore(elem, props); - (mode == 'show' && !$.support.opacity && this.style.removeAttribute('filter')); - (o.complete && o.complete.apply(this, arguments)); + $.effects.restore( elem, props ); + (mode == 'show' && !$.support.opacity && this.style.removeAttribute( 'filter' )); + jQuery.isFunction(o.complete) && o.complete.apply(this, arguments); elem.dequeue(); } }); diff --git a/ui/jquery.effects.pulsate.js b/ui/jquery.effects.pulsate.js index e7d53d02d8..c5f67b12bf 100644 --- a/ui/jquery.effects.pulsate.js +++ b/ui/jquery.effects.pulsate.js @@ -12,39 +12,40 @@ */ (function( $, undefined ) { -$.effects.pulsate = function(o) { - return this.queue(function() { - var elem = $(this), - mode = $.effects.setMode(elem, o.mode || 'show'), - times = ((o.times || 5) * 2) - 1, - duration = o.duration ? o.duration / 2 : $.fx.speeds._default / 2, - isVisible = elem.is(':visible'), - animateTo = 0; +$.effects.pulsate = function( o ) { + return this.queue( function() { + var elem = $( this ), + mode = $.effects.setMode( elem, o.mode || 'show' ), + times = ( ( o.times || 5 ) * 2 ) - 1, + duration = o.duration / 2, + isVisible = elem.is( ':visible' ), + animateTo = 0, + i; - if (!isVisible) { + if ( !isVisible ) { elem.css('opacity', 0).show(); animateTo = 1; } - if ((mode == 'hide' && isVisible) || (mode == 'show' && !isVisible)) { + if ( ( mode == 'hide' && isVisible ) || ( mode == 'show' && !isVisible ) ) { times--; } - for (var i = 0; i < times; i++) { - elem.animate({ opacity: animateTo }, duration, o.easing); - animateTo = (animateTo + 1) % 2; + for ( i = 0; i < times; i++ ) { + elem.animate({ + opacity: animateTo + }, duration, o.easing ); + animateTo = ( animateTo + 1 ) % 2; } - elem.animate({ opacity: animateTo }, duration, o.easing, function() { + elem.animate({ + opacity: animateTo + }, duration, o.easing, function() { if (animateTo == 0) { elem.hide(); } (o.complete && o.complete.apply(this, arguments)); - }); - - elem - .queue('fx', function() { elem.dequeue(); }) - .dequeue(); + }).dequeue(); }); }; From 9c771b8f8b49a95da2b2234fdc0bd19c26a91038 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 18:34:18 -0600 Subject: [PATCH 15/28] effects.*: Style Guidance --- ui/jquery.effects.scale.js | 286 +++++++++++++++++++++------------- ui/jquery.effects.shake.js | 65 ++++---- ui/jquery.effects.slide.js | 61 +++++--- ui/jquery.effects.transfer.js | 7 +- 4 files changed, 258 insertions(+), 161 deletions(-) diff --git a/ui/jquery.effects.scale.js b/ui/jquery.effects.scale.js index fa8087fe37..ec707c2b59 100644 --- a/ui/jquery.effects.scale.js +++ b/ui/jquery.effects.scale.js @@ -12,13 +12,17 @@ */ (function( $, undefined ) { -$.effects.puff = function(o) { - return this.queue(function() { - var elem = $(this), - mode = $.effects.setMode(elem, o.mode || 'hide'), - percent = parseInt(o.percent, 10) || 150, +$.effects.puff = function( o ) { + console.log(o); + return this.queue( function() { + var elem = $( this ), + mode = $.effects.setMode( elem, o.mode || 'hide' ), + percent = parseInt( o.percent, 10 ) || 150, factor = percent / 100, - original = { height: elem.height(), width: elem.width() }; + original = { + height: elem.height(), + width: elem.width() + }; $.extend(o, { effect: 'scale', @@ -32,147 +36,213 @@ $.effects.puff = function(o) { width: original.width * factor } }); -console.log(o);debugger; - elem.effect(o); - elem.dequeue(); + + elem.effect( o ).dequeue(); }); }; -$.effects.scale = function(o) { +$.effects.scale = function( o ) { - return this.queue(function() { + return this.queue( function() { // Create element - var el = $(this); + var el = $( this ), + options = $.extend( true, {}, o ), + mode = $.effects.setMode( el, o.mode || 'effect' ), + percent = parseInt( o.percent, 10 ) || ( parseInt( o.percent, 10 ) == 0 ? 0 : ( mode == 'hide' ? 0 : 100 ) ), + direction = o.direction || 'both', + origin = o.origin, + original = { + height: el.height(), + width: el.width() + }, + factor = { + y: direction != 'horizontal' ? (percent / 100) : 1, + x: direction != 'vertical' ? (percent / 100) : 1 + }; - // Set options - var options = $.extend(true, {}, o); - var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode - var percent = parseInt(o.percent,10) || (parseInt(o.percent,10) == 0 ? 0 : (mode == 'hide' ? 0 : 100)); // Set default scaling percent - var direction = o.direction || 'both'; // Set default axis - var origin = o.origin; // The origin of the scaling - if (mode != 'effect') { // Set default origin and restore for show/hide + // We are going to pass this effect to the size effect: + options.effect = "size"; + + // Set default origin and restore for show/hide + if ( mode != 'effect' ) { options.origin = origin || ['middle','center']; options.restore = true; } - var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.from || (mode == 'show' ? {height: 0, width: 0} : original); // Default from state - // Adjust - var factor = { // Set scaling factor - y: direction != 'horizontal' ? (percent / 100) : 1, - x: direction != 'vertical' ? (percent / 100) : 1 + options.from = o.from || ( mode == 'show' ? { height: 0, width: 0 } : original ); + options.to = { + height: original.height * factor.y, + width: original.width * factor.x + }; + + if ( options.fade ) { // Fade option to support puff + if ( mode == 'show' ) { + options.from.opacity = 0; + options.to.opacity = 1; + } + if ( mode == 'hide' ) { + options.from.opacity = 1; + options.to.opacity = 0; + } }; - el.to = {height: original.height * factor.y, width: original.width * factor.x}; // Set to state - - if (o.fade) { // Fade option to support puff - if (mode == 'show') {el.from.opacity = 0; el.to.opacity = 1;}; - if (mode == 'hide') {el.from.opacity = 1; el.to.opacity = 0;}; - }; - - // Animation - options.from = el.from; options.to = el.to; options.mode = mode; - - options.effect = "size"; // Animate - el.effect(options); - el.dequeue(); + el.effect(options).dequeue(); }); }; -$.effects.size = function(o) { - - return this.queue(function() { +$.effects.size = function( o ) { + return this.queue( function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right','width','height','overflow','opacity']; - var props1 = ['position','top','bottom','left','right','overflow','opacity']; // Always restore - var props2 = ['width','height','overflow']; // Copy for children - var cProps = ['fontSize']; - var vProps = ['borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom']; - var hProps = ['borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight']; + var el = $( this ), + props = [ 'position', 'top', 'bottom', 'left', 'right', 'width', 'height', 'overflow', 'opacity' ], + + // Always restore + props1 = [ 'position', 'top', 'bottom', 'left', 'right', 'overflow', 'opacity' ], + + // Copy for children + props2 = [ 'width', 'height', 'overflow' ], + cProps = [ 'fontSize' ], + vProps = [ 'borderTopWidth', 'borderBottomWidth', 'paddingTop', 'paddingBottom' ], + hProps = [ 'borderLeftWidth', 'borderRightWidth', 'paddingLeft', 'paddingRight' ], + + // Set options + mode = $.effects.setMode( el, o.mode || 'effect' ), + restore = o.restore || false, + scale = o.scale || 'both', + origin = o.origin, + original = { + height: el.height(), + width: el.width() + }, + baseline, factor; + + el.from = o.from || original; + el.to = o.to || original; - // Set options - var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode - var restore = o.restore || false; // Default restore - var scale = o.scale || 'both'; // Default scale mode - var origin = o.origin; // The origin of the sizing - var original = {height: el.height(), width: el.width()}; // Save original - el.from = o.from || original; // Default from state - el.to = o.to || original; // Default to state // Adjust if (origin) { // Calculate baseline shifts - var baseline = $.effects.getBaseline(origin, original); - el.from.top = (original.height - el.from.height) * baseline.y; - el.from.left = (original.width - el.from.width) * baseline.x; - el.to.top = (original.height - el.to.height) * baseline.y; - el.to.left = (original.width - el.to.width) * baseline.x; + baseline = $.effects.getBaseline( origin, original ); + el.from.top = ( original.height - el.from.height ) * baseline.y; + el.from.left = ( original.width - el.from.width ) * baseline.x; + el.to.top = ( original.height - el.to.height ) * baseline.y; + el.to.left = ( original.width - el.to.width ) * baseline.x; + } + + // Set scaling factor + factor = { + from: { + y: el.from.height / original.height, + x: el.from.width / original.width + }, + to: { + y: el.to.height / original.height, + x: el.to.width / original.width + } }; - var factor = { // Set scaling factor - from: {y: el.from.height / original.height, x: el.from.width / original.width}, - to: {y: el.to.height / original.height, x: el.to.width / original.width} - }; - if (scale == 'box' || scale == 'both') { // Scale the css box - if (factor.from.y != factor.to.y) { // Vertical props scaling - props = props.concat(vProps); - el.from = $.effects.setTransition(el, vProps, factor.from.y, el.from); - el.to = $.effects.setTransition(el, vProps, factor.to.y, el.to); + + // Scale the css box + if ( scale == 'box' || scale == 'both' ) { + + // Vertical props scaling + if ( factor.from.y != factor.to.y ) { + props = props.concat( vProps ); + el.from = $.effects.setTransition( el, vProps, factor.from.y, el.from ); + el.to = $.effects.setTransition( el, vProps, factor.to.y, el.to ); }; - if (factor.from.x != factor.to.x) { // Horizontal props scaling - props = props.concat(hProps); - el.from = $.effects.setTransition(el, hProps, factor.from.x, el.from); - el.to = $.effects.setTransition(el, hProps, factor.to.x, el.to); + + // Horizontal props scaling + if ( factor.from.x != factor.to.x ) { + props = props.concat( hProps ); + el.from = $.effects.setTransition( el, hProps, factor.from.x, el.from ); + el.to = $.effects.setTransition( el, hProps, factor.to.x, el.to ); }; }; - if (scale == 'content' || scale == 'both') { // Scale the content - if (factor.from.y != factor.to.y) { // Vertical props scaling - props = props.concat(cProps); - el.from = $.effects.setTransition(el, cProps, factor.from.y, el.from); - el.to = $.effects.setTransition(el, cProps, factor.to.y, el.to); + + // Scale the content + if ( scale == 'content' || scale == 'both' ) { + + // Vertical props scaling + if ( factor.from.y != factor.to.y ) { + props = props.concat( cProps ); + el.from = $.effects.setTransition( el, cProps, factor.from.y, el.from ); + el.to = $.effects.setTransition( el, cProps, factor.to.y, el.to ); }; }; - $.effects.save(el, restore ? props : props1); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - el.css('overflow','hidden').css(el.from); // Shift + + $.effects.save( el, restore ? props : props1 ); + el.show(); + $.effects.createWrapper( el ); + el.css( 'overflow', 'hidden' ).css( el.from ); // Animate - if (scale == 'content' || scale == 'both') { // Scale the children - vProps = vProps.concat(['marginTop','marginBottom']).concat(cProps); // Add margins/font-size - hProps = hProps.concat(['marginLeft','marginRight']); // Add margins - props2 = props.concat(vProps).concat(hProps); // Concat - el.find("*[width]").each(function(){ - var child = $(this); + if ( scale == 'content' || scale == 'both' ) { // Scale the children + + // Add margins/font-size + vProps = vProps.concat([ 'marginTop', 'marginBottom' ]).concat(cProps); + hProps = hProps.concat([ 'marginLeft', 'marginRight' ]); + props2 = props.concat(vProps).concat(hProps); + + el.find( "*[width]" ).each( function(){ + var child = $( this ), + c_original = { + height: child.height(), + width: child.width() + }; if (restore) $.effects.save(child, props2); - var c_original = {height: child.height(), width: child.width()}; // Save original - child.from = {height: c_original.height * factor.from.y, width: c_original.width * factor.from.x}; - child.to = {height: c_original.height * factor.to.y, width: c_original.width * factor.to.x}; - if (factor.from.y != factor.to.y) { // Vertical props scaling - child.from = $.effects.setTransition(child, vProps, factor.from.y, child.from); - child.to = $.effects.setTransition(child, vProps, factor.to.y, child.to); + + child.from = { + height: c_original.height * factor.from.y, + width: c_original.width * factor.from.x }; - if (factor.from.x != factor.to.x) { // Horizontal props scaling - child.from = $.effects.setTransition(child, hProps, factor.from.x, child.from); - child.to = $.effects.setTransition(child, hProps, factor.to.x, child.to); + child.to = { + height: c_original.height * factor.to.y, + width: c_original.width * factor.to.x }; - child.css(child.from); // Shift children - child.animate(child.to, o.duration, o.easing, function(){ - if (restore) $.effects.restore(child, props2); // Restore children - }); // Animate children + + // Vertical props scaling + if ( factor.from.y != factor.to.y ) { + child.from = $.effects.setTransition( child, vProps, factor.from.y, child.from ); + child.to = $.effects.setTransition( child, vProps, factor.to.y, child.to ); + }; + + // Horizontal props scaling + if ( factor.from.x != factor.to.x ) { + child.from = $.effects.setTransition( child, hProps, factor.from.x, child.from ); + child.to = $.effects.setTransition( child, hProps, factor.to.x, child.to ); + }; + + // Animate children + child.css( child.from ); + child.animate( child.to, o.duration, o.easing, function() { + + // Restore children + if (restore) $.effects.restore( child, props2 ); + }); }); }; // Animate - el.animate(el.to, { queue: false, duration: o.duration, easing: o.easing, complete: function() { - if (el.to.opacity === 0) { - el.css('opacity', el.from.opacity); + el.animate( el.to, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: function() { + if ( el.to.opacity === 0 ) { + el.css( 'opacity', el.from.opacity ); + } + if( mode == 'hide' ) { + el.hide(); + } + $.effects.restore( el, restore ? props : props1 ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( this, arguments ); // Callback + el.dequeue(); } - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, restore ? props : props1); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback - el.dequeue(); - }}); + }); }); diff --git a/ui/jquery.effects.shake.js b/ui/jquery.effects.shake.js index 011bd6b54f..5e8875abeb 100644 --- a/ui/jquery.effects.shake.js +++ b/ui/jquery.effects.shake.js @@ -12,44 +12,51 @@ */ (function( $, undefined ) { -$.effects.shake = function(o) { +$.effects.shake = function( o ) { - return this.queue(function() { + return this.queue( function() { - // Create element - var el = $(this), props = ['position','top','bottom','left','right']; - - // Set options - var mode = $.effects.setMode(el, o.mode || 'effect'); // Set Mode - var direction = o.direction || 'left'; // Default direction - var distance = o.distance || 20; // Default distance - var times = o.times || 3; // Default # of times - var speed = o.duration || o.duration || 140; // Default speed per shake + var el = $( this ), + props = [ 'position', 'top', 'bottom', 'left', 'right' ], + mode = $.effects.setMode( el, o.mode || 'effect' ), + direction = o.direction || 'left', + distance = o.distance || 20, + times = o.times || 3, + speed = o.duration || 140, + ref = (direction == 'up' || direction == 'down') ? 'top' : 'left', + motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg', + animation = {}, + animation1 = {}, + animation2 = {}, + i; // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; + $.effects.save( el, props ); + el.show(); + $.effects.createWrapper( el ); // Create Wrapper // Animation - var animation = {}, animation1 = {}, animation2 = {}; - animation[ref] = (motion == 'pos' ? '-=' : '+=') + distance; - animation1[ref] = (motion == 'pos' ? '+=' : '-=') + distance * 2; - animation2[ref] = (motion == 'pos' ? '-=' : '+=') + distance * 2; + animation[ ref ] = ( motion == 'pos' ? '-=' : '+=' ) + distance; + animation1[ ref ] = ( motion == 'pos' ? '+=' : '-=' ) + distance * 2; + animation2[ ref ] = ( motion == 'pos' ? '-=' : '+=' ) + distance * 2; // Animate - el.animate(animation, speed, o.easing); - for (var i = 1; i < times; i++) { // Shakes - el.animate(animation1, speed, o.easing).animate(animation2, speed, o.easing); + el.animate( animation, speed, o.easing ); + + // Shakes + for ( i = 1; i < times; i++ ) { + el.animate( animation1, speed, o.easing ).animate( animation2, speed, o.easing ); }; - el.animate(animation1, speed, o.easing). - animate(animation, speed / 2, o.easing, function(){ // Last shake - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback - }); - el.queue('fx', function() { el.dequeue(); }); - el.dequeue(); + el + .animate( animation1, speed, o.easing ) + .animate( animation, speed / 2, o.easing, function() { + + // Last shake + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( this, arguments ); + }) + .dequeue(); }); }; diff --git a/ui/jquery.effects.slide.js b/ui/jquery.effects.slide.js index 57b60290e9..eeba117cf8 100644 --- a/ui/jquery.effects.slide.js +++ b/ui/jquery.effects.slide.js @@ -12,36 +12,55 @@ */ (function( $, undefined ) { -$.effects.slide = function(o) { +$.effects.slide = function( o ) { - return this.queue(function() { + return this.queue( function() { // Create element - var el = $(this), props = ['position','top','bottom','left','right']; - - // Set options - var mode = $.effects.setMode(el, o.mode || 'show'); // Set Mode - var direction = o.direction || 'left'; // Default Direction + var el = $( this ), + props = ['position','top','bottom','left','right'], + mode = $.effects.setMode( el, o.mode || 'show' ), + direction = o.direction || 'left', + ref = (direction == 'up' || direction == 'down') ? 'top' : 'left', + motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg', + distance, + animation = {}; // Adjust - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper - var ref = (direction == 'up' || direction == 'down') ? 'top' : 'left'; - var motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg'; - var distance = o.distance || (ref == 'top' ? el.outerHeight({margin:true}) : el.outerWidth({margin:true})); - if (mode == 'show') el.css(ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance); // Shift + $.effects.save( el, props ); + el.show(); + $.effects.createWrapper( el ).css({ + overflow: 'hidden' + }); + + distance = o.distance || el[ ref == 'top' ? "outerHeight" : "outerWidth" ]({ + margin: true + }); + if (mode == 'show') { + el.css( ref, motion == 'pos' ? (isNaN(distance) ? "-" + distance : -distance) : distance ); + } // Animation - var animation = {}; - animation[ref] = (mode == 'show' ? (motion == 'pos' ? '+=' : '-=') : (motion == 'pos' ? '-=' : '+=')) + distance; + animation[ ref ] = ( mode == 'show' ? + (motion == 'pos' ? '+=' : '-=') : + (motion == 'pos' ? '-=' : '+=')) + + distance; // Animate - el.animate(animation, { queue: false, duration: o.duration, easing: o.easing, complete: function() { - if(mode == 'hide') el.hide(); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback - el.dequeue(); - }}); + el.animate( animation, { + queue: false, + duration: o.duration, + easing: o.easing, + complete: function() { + if ( mode == 'hide' ) { + el.hide(); + } + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction(o.complete) && o.complete.apply( this, arguments ); + el.dequeue(); + } + }); }); diff --git a/ui/jquery.effects.transfer.js b/ui/jquery.effects.transfer.js index b57ac51b9a..79b1577d95 100644 --- a/ui/jquery.effects.transfer.js +++ b/ui/jquery.effects.transfer.js @@ -12,8 +12,9 @@ */ (function( $, undefined ) { -$.effects.transfer = function(o) { - return this.queue(function() { +$.effects.transfer = function( o ) { + + return this.queue( function() { var elem = $( this ), target = $( o.to ), endPosition = target.offset(), @@ -36,7 +37,7 @@ $.effects.transfer = function(o) { }) .animate( animation, o.duration, o.easing, function() { transfer.remove(); - (o.complete && o.complete.apply(elem[0], arguments)); + $.isFunction( o.complete ) && o.complete.apply(elem[0], arguments); elem.dequeue(); }); }); From 576cd0b92b7469a1f8836dcd7c942083a4d1326d Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 18:48:14 -0600 Subject: [PATCH 16/28] effects.*: style guidance --- ui/jquery.effects.blind.js | 31 ++++++++------ ui/jquery.effects.bounce.js | 80 ++++++++++++++++++++++--------------- ui/jquery.effects.drop.js | 4 +- 3 files changed, 68 insertions(+), 47 deletions(-) diff --git a/ui/jquery.effects.blind.js b/ui/jquery.effects.blind.js index 814649a040..0c865d59f0 100644 --- a/ui/jquery.effects.blind.js +++ b/ui/jquery.effects.blind.js @@ -12,31 +12,36 @@ */ (function( $, undefined ) { -$.effects.blind = function(o) { +$.effects.blind = function( o ) { + + return this.queue( function() { - return this.queue(function() { // Create element - var el = $( this ), - props = ['position','top','bottom','left','right'], + var el = $( this ), + props = [ 'position', 'top', 'bottom', 'left', 'right' ], mode = $.effects.setMode( el, o.mode || 'hide' ), direction = o.direction || 'vertical', ref = ( direction == 'vertical' ) ? 'height' : 'width', animation = {}, wrapper, distance; - // Adjust - $.effects.save(el, props); el.show(); // Save & Show - - wrapper = $.effects.createWrapper(el).css({overflow:'hidden'}); // Create Wrapper + $.effects.save( el, props ); + el.show(); + wrapper = $.effects.createWrapper( el ).css({ + overflow: 'hidden' + }); - animation[ref] = ( mode == 'show' ? wrapper[ ref ]() : 0 ); - (mode == 'show' && wrapper.css(ref, 0)); // start at 0 if we are showing + animation[ ref ] = ( mode == 'show' ? wrapper[ ref ]() : 0 ); + + // start at 0 if we are showing + ( mode == 'show' && wrapper.css( ref, 0 ) ); // Animate wrapper.animate( animation, o.duration, o.easing, function() { - (mode == 'hide' && el.hide()); // Hide - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - (o.complete && o.complete.apply(el[0], arguments)); // Callback + ( mode == 'hide' && el.hide() ); + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( el[ 0 ], arguments ); el.dequeue(); }); diff --git a/ui/jquery.effects.bounce.js b/ui/jquery.effects.bounce.js index dde99481b8..d5b43492e9 100644 --- a/ui/jquery.effects.bounce.js +++ b/ui/jquery.effects.bounce.js @@ -30,54 +30,70 @@ $.effects.bounce = function(o) { // utility: ref = ( direction == 'up' || direction == 'down' ) ? 'top' : 'left', motion = ( direction == 'up' || direction == 'left' ), // true is positive - distance = o.distance || false; + i, animation, animation1, animation2; // Avoid touching opacity to prevent clearType and PNG issues in IE - if ( rshowhide.test(mode) ) props.push('opacity'); + if ( rshowhide.test( mode ) ) { + props.push( 'opacity' ); + } - $.effects.save(el, props); el.show(); // Save & Show - $.effects.createWrapper(el); // Create Wrapper + $.effects.save( el, props ); + el.show(); + $.effects.createWrapper( el ); // Create Wrapper if ( !distance ) { - distance = el[ref == 'top' ? 'outerHeight' : 'outerWidth' ]( { margin:true } ) / 3; + distance = el[ ref == 'top' ? 'outerHeight' : 'outerWidth' ]({ margin:true }) / 3; } - if (mode == 'show') el.css('opacity', 0).css(ref, motion ? -distance : distance ); // Shift - if (mode == 'hide') distance = distance / (times * 2); - if (mode != 'hide') times--; + if ( mode == 'show' ) el.css( 'opacity', 0 ).css( ref, motion ? -distance : distance ); // Shift + if ( mode == 'hide' ) distance = distance / (times * 2); + if ( mode != 'hide' ) times--; // Animate - if (mode == 'show') { // Show Bounce - var animation = { opacity: 1 }; - animation[ref] = (motion ? '+=' : '-=') + distance; + if ( mode == 'show' ) { + animation = { + opacity: 1 + }; + animation[ ref ] = ( motion ? '+=' : '-=' ) + distance; el.animate( animation, speed / 2, o.easing); distance = distance / 2; times--; }; - for (var i = 0; i < times; i++) { // Bounces - var animation1 = {}, animation2 = {}; - animation1[ref] = (motion ? '-=' : '+=') + distance; - animation2[ref] = (motion ? '+=' : '-=') + distance; + + // Bounces + for (i = 0; i < times; i++) { + animation1 = {}; + animation2 = {}; + animation1[ ref ] = ( motion ? '-=' : '+=' ) + distance; + animation2[ ref ] = ( motion ? '+=' : '-=' ) + distance; el.animate( animation1, speed / 2, o.easing ).animate( animation2, speed / 2, o.easing ); - distance = (mode == 'hide') ? distance * 2 : distance / 2; - }; - if (mode == 'hide') { // Last Bounce - var animation = { opacity: 0 }; - animation[ref] = (motion ? '-=' : '+=') + distance; + distance = ( mode == 'hide' ) ? distance * 2 : distance / 2; + } + + // Last Bounce + if ( mode == 'hide' ) { + animation = { + opacity: 0 + }; + animation[ ref ] = ( motion ? '-=' : '+=' ) + distance; el.animate( animation, speed / 2, o.easing, function(){ - el.hide(); // Hide - $.effects.restore( el, props ); $.effects.removeWrapper( el ); // Restore - if ( o.complete ) o.complete.apply( this, arguments ); // Callback + el.hide(); + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( this, arguments ); }); } else { - var animation1 = {}, animation2 = {}; - animation1[ref] = (motion ? '-=' : '+=') + distance; - animation2[ref] = (motion ? '+=' : '-=') + distance; - el.animate(animation1, speed / 2, o.easing).animate(animation2, speed / 2, o.easing, function(){ - $.effects.restore(el, props); $.effects.removeWrapper(el); // Restore - if(o.complete) o.complete.apply(this, arguments); // Callback - }); - }; - el.queue('fx', function(next) { next(); }); + animation1 = {}; + animation2 = {}; + animation1[ ref ] = ( motion ? '-=' : '+=' ) + distance; + animation2[ ref ] = ( motion ? '+=' : '-=' ) + distance; + el + .animate( animation1, speed / 2, o.easing ) + .animate( animation2, speed / 2, o.easing, function() { + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); + $.isFunction( o.complete ) && o.complete.apply( this, arguments ); + }); + } el.dequeue(); }); diff --git a/ui/jquery.effects.drop.js b/ui/jquery.effects.drop.js index e13690746e..221a0bf17a 100644 --- a/ui/jquery.effects.drop.js +++ b/ui/jquery.effects.drop.js @@ -49,8 +49,8 @@ $.effects.drop = function( o ) { easing: o.easing, complete: function() { mode == 'hide' && el.hide(); - $.effects.restore(el, props); - $.effects.removeWrapper(el); + $.effects.restore( el, props ); + $.effects.removeWrapper( el ); $.isFunction( o.complete ) && o.complete.apply(this, arguments); el.dequeue(); } From 703cd82cd0a2cae1aa7b9ecc5457c8e3afaa9905 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 20:44:35 -0600 Subject: [PATCH 17/28] effects.core: Style Guidance --- ui/jquery.effects.core.js | 493 +++++++++++++++++++++----------------- 1 file changed, 270 insertions(+), 223 deletions(-) diff --git a/ui/jquery.effects.core.js b/ui/jquery.effects.core.js index cbfd4fbe19..6024c36b0f 100644 --- a/ui/jquery.effects.core.js +++ b/ui/jquery.effects.core.js @@ -11,8 +11,6 @@ $.effects = {}; - - /******************************************************************************/ /****************************** COLOR ANIMATIONS ******************************/ /******************************************************************************/ @@ -144,7 +142,7 @@ var colors = { /****************************** CLASS ANIMATIONS ******************************/ /******************************************************************************/ -var classAnimationActions = ['add', 'remove', 'toggle'], +var classAnimationActions = [ 'add', 'remove', 'toggle' ], shorthandStyles = { border: 1, borderBottom: 1, @@ -163,24 +161,25 @@ function getElementStyles() { : this.currentStyle, newStyle = {}, key, - camelCase; + camelCase, + len; // webkit enumerates style porperties - if (style && style.length && style[0] && style[style[0]]) { - var len = style.length; - while (len--) { - key = style[len]; - if (typeof style[key] == 'string') { - camelCase = key.replace(/\-(\w)/g, function(all, letter){ + if ( style && style.length && style[ 0 ] && style[ style[ 0 ] ] ) { + len = style.length; + while ( len-- ) { + key = style[ len ]; + if ( typeof style[ key ] == 'string' ) { + camelCase = key.replace( /\-(\w)/g, function( all, letter ) { return letter.toUpperCase(); }); - newStyle[camelCase] = style[key]; + newStyle[ camelCase ] = style[ key ]; } } } else { - for (key in style) { - if (typeof style[key] === 'string') { - newStyle[key] = style[key]; + for ( key in style ) { + if ( typeof style[ key ] === 'string' ) { + newStyle[ key ] = style[ key ]; } } } @@ -188,115 +187,126 @@ function getElementStyles() { return newStyle; } -function filterStyles(styles) { +function filterStyles( styles ) { var name, value; - for (name in styles) { - value = styles[name]; + for ( name in styles ) { + value = styles[ name ]; if ( // ignore null and undefined values value == null || // ignore functions (when does this occur?) - $.isFunction(value) || + $.isFunction( value ) || // shorthand styles that need to be expanded name in shorthandStyles || // ignore scrollbars (break in IE) - (/scrollbar/).test(name) || + ( /scrollbar/ ).test( name ) || // only colors or values that can be converted to numbers - (!(/color/i).test(name) && isNaN(parseFloat(value))) + ( !( /color/i ).test( name ) && isNaN( parseFloat( value ) ) ) ) { - delete styles[name]; + delete styles[ name ]; } } return styles; } -function styleDifference(oldStyle, newStyle) { +function styleDifference( oldStyle, newStyle ) { var diff = { _: 0 }, // http://dev.jquery.com/ticket/5459 name; - for (name in newStyle) { - if (oldStyle[name] != newStyle[name]) { - diff[name] = newStyle[name]; + for ( name in newStyle ) { + if ( oldStyle[ name ] != newStyle[ name ] ) { + diff[ name ] = newStyle[ name ]; } } return diff; } -$.effects.animateClass = function(value, duration, easing, callback) { - if ($.isFunction(easing)) { +$.effects.animateClass = function( value, duration, easing, callback ) { + if ( $.isFunction( easing ) ) { callback = easing; easing = null; } - return this.queue('fx', function() { - var that = $(this), - originalStyleAttr = that.attr('style') || ' ', - originalStyle = filterStyles(getElementStyles.call(this)), + return this.queue( 'fx', function() { + var that = $( this ), + originalStyleAttr = that.attr( 'style' ) || ' ', + originalStyle = filterStyles( getElementStyles.call( this ) ), newStyle, - className = that.attr('className'); + className = that.attr( 'className' ); - $.each(classAnimationActions, function(i, action) { - if (value[action]) { - that[action + 'Class'](value[action]); + $.each( classAnimationActions, function(i, action) { + if ( value[ action ] ) { + that[ action + 'Class' ]( value[ action ] ); } }); - newStyle = filterStyles(getElementStyles.call(this)); - that.attr('className', className); + newStyle = filterStyles( getElementStyles.call( this ) ); + that.attr( 'className', className ); - that.animate(styleDifference(originalStyle, newStyle), duration, easing, function() { - $.each(classAnimationActions, function(i, action) { - if (value[action]) { that[action + 'Class'](value[action]); } + that.animate( styleDifference( originalStyle, newStyle ), duration, easing, function() { + $.each( classAnimationActions, function( i, action ) { + if ( value[ action ] ) { + that[ action + 'Class' ]( value[ action ] ); + } }); // work around bug in IE by clearing the cssText before setting it - if (typeof that.attr('style') == 'object') { - that.attr('style').cssText = ''; - that.attr('style').cssText = originalStyleAttr; + if ( typeof that.attr( 'style' ) == 'object' ) { + that.attr( 'style' ).cssText = ''; + that.attr( 'style' ).cssText = originalStyleAttr; } else { - that.attr('style', originalStyleAttr); + that.attr( 'style', originalStyleAttr ); + } + if ( callback ) { + callback.apply( this, arguments ); } - if (callback) { callback.apply(this, arguments); } }); // $.animate adds a function to the end of the queue // but we want it at the front - var queue = $.queue(this), - anim = queue.splice(queue.length - 1, 1)[0]; - queue.splice(1, 0, anim); - $.dequeue(this); + var queue = $.queue( this ), + anim = queue.splice( queue.length - 1, 1 )[ 0 ]; + queue.splice( 1, 0, anim ); + $.dequeue( this ); }); }; $.fn.extend({ _addClass: $.fn.addClass, - addClass: function(classNames, speed, easing, callback) { - return speed ? $.effects.animateClass.apply(this, [{ add: classNames },speed,easing,callback]) : this._addClass(classNames); + addClass: function( classNames, speed, easing, callback ) { + return speed ? + $.effects.animateClass.apply( this, [{ add: classNames }, speed, easing, callback ]) : + this._addClass(classNames); }, _removeClass: $.fn.removeClass, - removeClass: function(classNames,speed,easing,callback) { - return speed ? $.effects.animateClass.apply(this, [{ remove: classNames },speed,easing,callback]) : this._removeClass(classNames); + removeClass: function( classNames, speed, easing, callback ) { + return speed ? + $.effects.animateClass.apply( this, [{ remove: classNames }, speed, easing, callback ]) : + this._removeClass(classNames); }, _toggleClass: $.fn.toggleClass, - toggleClass: function(classNames, force, speed, easing, callback) { + toggleClass: function( classNames, force, speed, easing, callback ) { if ( typeof force == "boolean" || force === undefined ) { if ( !speed ) { // without speed parameter; - return this._toggleClass(classNames, force); + return this._toggleClass( classNames, force ); } else { - return $.effects.animateClass.apply(this, [(force?{add:classNames}:{remove:classNames}),speed,easing,callback]); + return $.effects.animateClass.apply( this, [( force ? { add:classNames } : { remove:classNames }), speed, easing, callback ]); } } else { // without switch parameter; - return $.effects.animateClass.apply(this, [{ toggle: classNames },force,speed,easing]); + return $.effects.animateClass.apply( this, [{ toggle: classNames }, force, speed, easing ]); } }, - switchClass: function(remove,add,speed,easing,callback) { - return $.effects.animateClass.apply(this, [{ add: add, remove: remove },speed,easing,callback]); + switchClass: function( remove, add, speed, easing, callback) { + return $.effects.animateClass.apply( this, [{ + add: add, + remove: remove + }, speed, easing, callback ]); } }); @@ -306,51 +316,61 @@ $.fn.extend({ /*********************************** EFFECTS **********************************/ /******************************************************************************/ -$.extend($.effects, { +$.extend( $.effects, { version: "@VERSION", // Saves a set of properties in a data storage - save: function(element, set) { - for(var i=0; i < set.length; i++) { - if(set[i] !== null) element.data("ec.storage."+set[i], element[0].style[set[i]]); + save: function( element, set ) { + for( var i=0; i < set.length; i++ ) { + if ( set[ i ] !== null ) { + element.data( "ec.storage." + set[ i ], element[ 0 ].style[ set[ i ] ] ); + } } }, // Restores a set of previously saved properties from a data storage - restore: function(element, set) { - for(var i=0; i < set.length; i++) { - if(set[i] !== null) element.css(set[i], element.data("ec.storage."+set[i])); + restore: function( element, set ) { + for( var i=0; i < set.length; i++ ) { + if ( set[ i ] !== null ) { + element.css( set[ i ], element.data( "ec.storage." + set[ i ] ) ); + } } }, - setMode: function(el, mode) { - if (mode == 'toggle') mode = el.is(':hidden') ? 'show' : 'hide'; // Set for toggle + setMode: function( el, mode ) { + if (mode == 'toggle') { + mode = el.is( ':hidden' ) ? 'show' : 'hide'; + } return mode; }, - getBaseline: function(origin, original) { // Translates a [top,left] array into a baseline value - // this should be a little more flexible in the future to handle a string & hash + // Translates a [top,left] array into a baseline value + // this should be a little more flexible in the future to handle a string & hash + getBaseline: function( origin, original ) { var y, x; - switch (origin[0]) { + switch ( origin[ 0 ] ) { case 'top': y = 0; break; case 'middle': y = 0.5; break; case 'bottom': y = 1; break; - default: y = origin[0] / original.height; + default: y = origin[ 0 ] / original.height; }; - switch (origin[1]) { + switch ( origin[ 1 ] ) { case 'left': x = 0; break; case 'center': x = 0.5; break; case 'right': x = 1; break; - default: x = origin[1] / original.width; + default: x = origin[ 1 ] / original.width; + }; + return { + x: x, + y: y }; - return {x: x, y: y}; }, // Wraps the element around a wrapper that copies position properties - createWrapper: function(element) { + createWrapper: function( element ) { // if the element is already wrapped, return it - if (element.parent().is('.ui-effects-wrapper')) { + if ( element.parent().is( '.ui-effects-wrapper' )) { return element.parent(); } @@ -358,10 +378,10 @@ $.extend($.effects, { var props = { width: element.outerWidth(true), height: element.outerHeight(true), - 'float': element.css('float') + 'float': element.css( 'float' ) }, - wrapper = $('
    ') - .addClass('ui-effects-wrapper') + wrapper = $( '
    ' ) + .addClass( 'ui-effects-wrapper' ) .css({ fontSize: '100%', background: 'transparent', @@ -370,41 +390,47 @@ $.extend($.effects, { padding: 0 }); - element.wrap(wrapper); + element.wrap( wrapper ); wrapper = element.parent(); //Hotfix for jQuery 1.4 since some change in wrap() seems to actually loose the reference to the wrapped element // transfer positioning properties to the wrapper - if (element.css('position') == 'static') { + if ( element.css( 'position' ) == 'static' ) { wrapper.css({ position: 'relative' }); element.css({ position: 'relative' }); } else { - $.extend(props, { - position: element.css('position'), - zIndex: element.css('z-index') + $.extend( props, { + position: element.css( 'position' ), + zIndex: element.css( 'z-index' ) }); - $.each(['top', 'left', 'bottom', 'right'], function(i, pos) { - props[pos] = element.css(pos); - if (isNaN(parseInt(props[pos], 10))) { - props[pos] = 'auto'; + $.each([ 'top', 'left', 'bottom', 'right' ], function(i, pos) { + props[ pos ] = element.css( pos ); + if ( isNaN( parseInt( props[ pos ], 10 ) ) ) { + props[ pos ] = 'auto'; } }); - element.css({position: 'relative', top: 0, left: 0, right: 'auto', bottom: 'auto' }); + element.css({ + position: 'relative', + top: 0, + left: 0, + right: 'auto', + bottom: 'auto' + }); } - return wrapper.css(props).show(); + return wrapper.css( props ).show(); }, - removeWrapper: function(element) { - if (element.parent().is('.ui-effects-wrapper')) - return element.parent().replaceWith(element); + removeWrapper: function( element ) { + if ( element.parent().is( '.ui-effects-wrapper' ) ) + return element.parent().replaceWith( element ); return element; }, - setTransition: function(element, list, factor, value) { + setTransition: function( element, list, factor, value ) { value = value || {}; - $.each(list, function(i, x){ - unit = element.cssUnit(x); - if (unit[0] > 0) value[x] = unit[0] * factor + unit[1]; + $.each( list, function(i, x){ + unit = element.cssUnit( x ); + if ( unit[ 0 ] > 0 ) value[ x ] = unit[ 0 ] * factor + unit[ 1 ]; }); return value; } @@ -470,66 +496,68 @@ function standardSpeed( speed ) { } $.fn.extend({ - effect: function(effect, options, speed, callback) { - var args = _normalizeArguments.apply(this, arguments), + effect: function( effect, options, speed, callback ) { + var args = _normalizeArguments.apply( this, arguments ), mode = args.mode, - effectMethod = $.effects[args.effect]; + effectMethod = $.effects[ args.effect ]; if ( $.fx.off || !effectMethod ) { // delegate to the original method (e.g., .show()) if possible if ( mode ) { return this[ mode ]( args.duration, args.callback ); } else { - return this.each(function() { + return this.each( function() { if ( args.callback ) { args.callback.call( this ); } }); } } - return effectMethod.call(this, args); + return effectMethod.call( this, args ); }, _show: $.fn.show, - show: function(speed) { + show: function( speed ) { if ( standardSpeed( speed ) ) { - return this._show.apply(this, arguments); + return this._show.apply( this, arguments ); } else { - var args = _normalizeArguments.apply(this, arguments); + var args = _normalizeArguments.apply( this, arguments ); args.mode = 'show'; - return this.effect.call(this, args); + return this.effect.call( this, args ); } }, _hide: $.fn.hide, - hide: function(speed) { + hide: function( speed ) { if ( standardSpeed( speed ) ) { - return this._hide.apply(this, arguments); + return this._hide.apply( this, arguments ); } else { - var args = _normalizeArguments.apply(this, arguments); + var args = _normalizeArguments.apply( this, arguments ); args.mode = 'hide'; - return this.effect.call(this, args); + return this.effect.call( this, args ); } }, // jQuery core overloads toggle and creates _toggle __toggle: $.fn.toggle, - toggle: function(speed) { + toggle: function( speed ) { if ( standardSpeed( speed ) || typeof speed === "boolean" || $.isFunction( speed ) ) { - return this.__toggle.apply(this, arguments); + return this.__toggle.apply( this, arguments ); } else { - var args = _normalizeArguments.apply(this, arguments); + var args = _normalizeArguments.apply( this, arguments ); args.mode = 'toggle'; - return this.effect.call(this, args); + return this.effect.call( this, args ); } }, // helper functions cssUnit: function(key) { - var style = this.css(key), val = []; - $.each( ['em','px','%','pt'], function(i, unit){ - if(style.indexOf(unit) > 0) - val = [parseFloat(style), unit]; + var style = this.css( key ), + val = []; + + $.each( [ 'em', 'px', '%', 'pt' ], function( i, unit ) { + if ( style.indexOf( unit ) > 0 ) + val = [ parseFloat( style ), unit ]; }); return val; } @@ -581,136 +609,155 @@ $.fn.extend({ // t: current time, b: begInnIng value, c: change In value, d: duration $.easing.jswing = $.easing.swing; -$.extend($.easing, -{ +$.extend( $.easing, { def: 'easeOutQuad', - swing: function (x, t, b, c, d) { - //alert($.easing.default); - return $.easing[$.easing.def](x, t, b, c, d); + swing: function ( x, t, b, c, d ) { + return $.easing[ $.easing.def ]( x, t, b, c, d ); }, - easeInQuad: function (x, t, b, c, d) { - return c*(t/=d)*t + b; + easeInQuad: function ( x, t, b, c, d ) { + return c * ( t /= d ) * t + b; }, - easeOutQuad: function (x, t, b, c, d) { - return -c *(t/=d)*(t-2) + b; + easeOutQuad: function ( x, t, b, c, d ) { + return -c * ( t /= d ) * ( t - 2 ) + b; }, - easeInOutQuad: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t + b; - return -c/2 * ((--t)*(t-2) - 1) + b; + easeInOutQuad: function ( x, t, b, c, d ) { + if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t + b; + return -c / 2 * ( ( --t ) * ( t-2 ) - 1) + b; }, - easeInCubic: function (x, t, b, c, d) { - return c*(t/=d)*t*t + b; + easeInCubic: function ( x, t, b, c, d ) { + return c * ( t /= d ) * t * t + b; }, - easeOutCubic: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t + 1) + b; + easeOutCubic: function ( x, t, b, c, d ) { + return c * ( ( t = t / d - 1 ) * t * t + 1 ) + b; }, - easeInOutCubic: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t + b; - return c/2*((t-=2)*t*t + 2) + b; + easeInOutCubic: function ( x, t, b, c, d ) { + if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t * t + b; + return c / 2 * ( ( t -= 2 ) * t * t + 2) + b; }, - easeInQuart: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t + b; + easeInQuart: function ( x, t, b, c, d ) { + return c * ( t /= d ) * t * t * t + b; }, - easeOutQuart: function (x, t, b, c, d) { - return -c * ((t=t/d-1)*t*t*t - 1) + b; + easeOutQuart: function ( x, t, b, c, d ) { + return -c * ( ( t = t / d - 1 ) * t * t * t - 1) + b; }, - easeInOutQuart: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t + b; - return -c/2 * ((t-=2)*t*t*t - 2) + b; + easeInOutQuart: function ( x, t, b, c, d ) { + if ( (t /= d / 2 ) < 1 ) return c / 2 * t * t * t * t + b; + return -c / 2 * ( ( t -= 2 ) * t * t * t - 2) + b; }, - easeInQuint: function (x, t, b, c, d) { - return c*(t/=d)*t*t*t*t + b; + easeInQuint: function ( x, t, b, c, d ) { + return c * ( t /= d ) * t * t * t * t + b; }, - easeOutQuint: function (x, t, b, c, d) { - return c*((t=t/d-1)*t*t*t*t + 1) + b; + easeOutQuint: function ( x, t, b, c, d ) { + return c * ( ( t = t / d - 1 ) * t * t * t * t + 1) + b; }, - easeInOutQuint: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b; - return c/2*((t-=2)*t*t*t*t + 2) + b; + easeInOutQuint: function ( x, t, b, c, d ) { + if ( ( t /= d / 2 ) < 1 ) return c / 2 * t * t * t * t * t + b; + return c / 2 * ( ( t -= 2 ) * t * t * t * t + 2) + b; }, - easeInSine: function (x, t, b, c, d) { - return -c * Math.cos(t/d * (Math.PI/2)) + c + b; + easeInSine: function ( x, t, b, c, d ) { + return -c * Math.cos( t / d * ( Math.PI / 2 ) ) + c + b; }, - easeOutSine: function (x, t, b, c, d) { - return c * Math.sin(t/d * (Math.PI/2)) + b; + easeOutSine: function ( x, t, b, c, d ) { + return c * Math.sin( t / d * ( Math.PI /2 ) ) + b; }, - easeInOutSine: function (x, t, b, c, d) { - return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b; + easeInOutSine: function ( x, t, b, c, d ) { + return -c / 2 * ( Math.cos( Math.PI * t / d ) - 1 ) + b; }, - easeInExpo: function (x, t, b, c, d) { - return (t==0) ? b : c * Math.pow(2, 10 * (t/d - 1)) + b; + easeInExpo: function ( x, t, b, c, d ) { + return ( t==0 ) ? b : c * Math.pow( 2, 10 * ( t / d - 1) ) + b; }, - easeOutExpo: function (x, t, b, c, d) { - return (t==d) ? b+c : c * (-Math.pow(2, -10 * t/d) + 1) + b; + easeOutExpo: function ( x, t, b, c, d ) { + return ( t==d ) ? b + c : c * ( -Math.pow( 2, -10 * t / d) + 1) + b; }, - easeInOutExpo: function (x, t, b, c, d) { - if (t==0) return b; - if (t==d) return b+c; - if ((t/=d/2) < 1) return c/2 * Math.pow(2, 10 * (t - 1)) + b; - return c/2 * (-Math.pow(2, -10 * --t) + 2) + b; + easeInOutExpo: function ( x, t, b, c, d ) { + if ( t==0 ) return b; + if ( t==d ) return b + c; + if ( ( t /= d / 2) < 1) return c / 2 * Math.pow( 2, 10 * (t - 1) ) + b; + return c / 2 * ( -Math.pow( 2, -10 * --t ) + 2 ) + b; }, - easeInCirc: function (x, t, b, c, d) { - return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b; + easeInCirc: function ( x, t, b, c, d ) { + return -c * ( Math.sqrt( 1 - ( t /= d ) * t ) - 1 ) + b; }, - easeOutCirc: function (x, t, b, c, d) { - return c * Math.sqrt(1 - (t=t/d-1)*t) + b; + easeOutCirc: function ( x, t, b, c, d ) { + return c * Math.sqrt( 1 - ( t = t / d - 1 ) * t ) + b; }, - easeInOutCirc: function (x, t, b, c, d) { - if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b; - return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b; + easeInOutCirc: function ( x, t, b, c, d ) { + if ( ( t /= d / 2) < 1 ) return -c / 2 * ( Math.sqrt( 1 - t * t ) - 1 ) + b; + return c / 2 * ( Math.sqrt( 1 - ( t -= 2 ) * t ) + 1 ) + b; }, - easeInElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - }, - easeOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d)==1) return b+c; if (!p) p=d*.3; - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b; - }, - easeInOutElastic: function (x, t, b, c, d) { - var s=1.70158;var p=0;var a=c; - if (t==0) return b; if ((t/=d/2)==2) return b+c; if (!p) p=d*(.3*1.5); - if (a < Math.abs(c)) { a=c; var s=p/4; } - else var s = p/(2*Math.PI) * Math.asin (c/a); - if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b; - return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b; - }, - easeInBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*(t/=d)*t*((s+1)*t - s) + b; - }, - easeOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b; - }, - easeInOutBack: function (x, t, b, c, d, s) { - if (s == undefined) s = 1.70158; - if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b; - return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b; - }, - easeInBounce: function (x, t, b, c, d) { - return c - $.easing.easeOutBounce (x, d-t, 0, c, d) + b; - }, - easeOutBounce: function (x, t, b, c, d) { - if ((t/=d) < (1/2.75)) { - return c*(7.5625*t*t) + b; - } else if (t < (2/2.75)) { - return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b; - } else if (t < (2.5/2.75)) { - return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b; + easeInElastic: function ( x, t, b, c, d ) { + var s = 1.70158, + p = d * 0.3, + a = c; + if ( t == 0 ) return b; + if ( ( t /= d ) == 1 ) return b+c; + if ( a < Math.abs( c ) ) { + a = c; + s = p / 4; } else { - return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b; + s = p / ( 2 * Math.PI ) * Math.asin( c / a ); + } + return - ( a * Math.pow( 2, 10 * ( t -= 1 ) ) * Math.sin( ( t * d - s) * ( 2 * Math.PI ) / p ) ) + b; + }, + easeOutElastic: function ( x, t, b, c, d ) { + var s = 1.70158, + p = d * 0.3, + a = c; + if ( t == 0 ) return b; + if ( ( t /= d ) == 1 ) return b+c; + if ( a < Math.abs( c ) ) { + a = c; + s = p / 4; + } else { + s = p / ( 2 * Math.PI ) * Math.asin( c / a ); + } + return a * Math.pow( 2, -10 * t ) * Math.sin( ( t * d - s ) * ( 2 * Math.PI ) / p ) + c + b; + }, + easeInOutElastic: function ( x, t, b, c, d ) { + var s = 1.70158, + p = d * ( 0.3 * 1.5 ), + a = c; + if ( t == 0 ) return b; + if ( ( t /= d / 2 ) == 2 ) return b+c; + if ( a < Math.abs( c ) ) { + a = c; + s = p / 4; + } else { + s = p / ( 2 * Math.PI ) * Math.asin( c / a ); + } + if ( t < 1 ) return -.5 * ( a * Math.pow( 2, 10 * ( t -= 1 ) ) * Math.sin( ( t * d - s ) * ( 2 * Math.PI ) / p ) ) + b; + return a * Math.pow( 2, -10 * ( t -= 1 ) ) * Math.sin( ( t * d - s ) * ( 2 * Math.PI ) / p ) *.5 + c + b; + }, + easeInBack: function ( x, t, b, c, d, s ) { + if ( s == undefined ) s = 1.70158; + return c * ( t /= d ) * t * ( ( s+1 ) * t - s ) + b; + }, + easeOutBack: function ( x, t, b, c, d, s ) { + if ( s == undefined ) s = 1.70158; + return c * ( ( t = t / d - 1 ) * t * ( ( s + 1 ) * t + s) + 1) + b; + }, + easeInOutBack: function ( x, t, b, c, d, s ) { + if ( s == undefined ) s = 1.70158; + if ( ( t /= d / 2 ) < 1 ) return c / 2 * ( t * t * ( ( ( s *= 1.525 ) + 1 ) * t - s ) ) + b; + return c / 2 * ( ( t -= 2 ) * t * ( ( ( s *= 1.525 ) + 1 ) * t + s) + 2) + b; + }, + easeInBounce: function ( x, t, b, c, d ) { + return c - $.easing.easeOutBounce( x, d - t, 0, c, d ) + b; + }, + easeOutBounce: function ( x, t, b, c, d ) { + if ( ( t /= d ) < ( 1 / 2.75 ) ) { + return c * ( 7.5625 * t * t ) + b; + } else if ( t < ( 2 / 2.75 ) ) { + return c * ( 7.5625 * ( t -= ( 1.5 / 2.75 ) ) * t + .75 ) + b; + } else if ( t < ( 2.5 / 2.75 ) ) { + return c * ( 7.5625 * ( t -= ( 2.25/ 2.75 ) ) * t + .9375 ) + b; + } else { + return c * ( 7.5625 * ( t -= ( 2.625 / 2.75 ) ) * t + .984375 ) + b; } }, - easeInOutBounce: function (x, t, b, c, d) { - if (t < d/2) return $.easing.easeInBounce (x, t*2, 0, c, d) * .5 + b; - return $.easing.easeOutBounce (x, t*2-d, 0, c, d) * .5 + c*.5 + b; + easeInOutBounce: function ( x, t, b, c, d ) { + if ( t < d / 2 ) return $.easing.easeInBounce( x, t * 2, 0, c, d ) * .5 + b; + return $.easing.easeOutBounce( x, t * 2 - d, 0, c, d ) * .5 + c * .5 + b; } }); From 69a7382fb71b1dade2284bca519c730b726d85d5 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 21:16:56 -0600 Subject: [PATCH 18/28] effects.fade: Using $ instead of jQuery --- ui/jquery.effects.fade.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/jquery.effects.fade.js b/ui/jquery.effects.fade.js index c6cb85cc21..825c84e780 100644 --- a/ui/jquery.effects.fade.js +++ b/ui/jquery.effects.fade.js @@ -24,7 +24,7 @@ $.effects.fade = function( o ) { duration: o.duration, easing: o.easing, complete: function() { - jQuery.isFunction( o.complete ) && o.complete.apply( this, arguments ); + $.isFunction( o.complete ) && o.complete.apply( this, arguments ); el.dequeue(); } }); From b6debf4daf015173de904a361ddb1041fc9474a8 Mon Sep 17 00:00:00 2001 From: gnarf Date: Sun, 6 Mar 2011 23:34:24 -0600 Subject: [PATCH 19/28] effects.drop: Quick second pass Style Guidance --- ui/jquery.effects.drop.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/ui/jquery.effects.drop.js b/ui/jquery.effects.drop.js index 221a0bf17a..b88a8c4287 100644 --- a/ui/jquery.effects.drop.js +++ b/ui/jquery.effects.drop.js @@ -20,17 +20,18 @@ $.effects.drop = function( o ) { props = [ 'position', 'top', 'bottom', 'left', 'right', 'opacity' ], mode = $.effects.setMode( el, o.mode || 'hide' ), direction = o.direction || 'left', - ref = (direction == 'up' || direction == 'down') ? 'top' : 'left', - motion = (direction == 'up' || direction == 'left') ? 'pos' : 'neg', + ref = ( direction == 'up' || direction == 'down' ) ? 'top' : 'left', + motion = ( direction == 'up' || direction == 'left' ) ? 'pos' : 'neg', animation = { opacity: mode == 'show' ? 1 : 0 }, distance; - + // Adjust - $.effects.save(el, props); el.show(); - $.effects.createWrapper(el); - + $.effects.save( el, props ); + el.show(); + $.effects.createWrapper( el ); + distance = o.distance || el[ ref == 'top' ? 'outerHeight': 'outerWidth' ]({ margin: true }) / 2; if ( mode == 'show' ) { From 103744415c8e86751f35b5bbe23853af3dab7663 Mon Sep 17 00:00:00 2001 From: Richard Worth Date: Wed, 2 Mar 2011 20:44:26 -0500 Subject: [PATCH 20/28] Switched to latest stable jQuery 1.5.1 --- demos/accordion/collapsible.html | 2 +- demos/accordion/custom-icons.html | 2 +- demos/accordion/default.html | 2 +- demos/accordion/fillspace.html | 2 +- demos/accordion/hoverintent.html | 2 +- demos/accordion/mouseover.html | 2 +- demos/accordion/no-auto-height.html | 2 +- demos/accordion/sortable.html | 2 +- demos/addClass/default.html | 2 +- demos/animate/default.html | 2 +- demos/autocomplete/categories.html | 2 +- demos/autocomplete/combobox.html | 2 +- demos/autocomplete/custom-data.html | 2 +- demos/autocomplete/default.html | 2 +- demos/autocomplete/folding.html | 2 +- demos/autocomplete/maxheight.html | 2 +- demos/autocomplete/multiple-remote.html | 2 +- demos/autocomplete/multiple.html | 2 +- demos/autocomplete/remote-jsonp.html | 2 +- demos/autocomplete/remote-with-cache.html | 2 +- demos/autocomplete/remote.html | 2 +- demos/autocomplete/xml.html | 2 +- demos/button/checkbox.html | 2 +- demos/button/default.html | 2 +- demos/button/icons.html | 2 +- demos/button/radio.html | 2 +- demos/button/splitbutton.html | 2 +- demos/button/toolbar.html | 2 +- demos/datepicker/alt-field.html | 2 +- demos/datepicker/animation.html | 2 +- demos/datepicker/buttonbar.html | 2 +- demos/datepicker/date-formats.html | 2 +- demos/datepicker/date-range.html | 2 +- demos/datepicker/default.html | 2 +- demos/datepicker/dropdown-month-year.html | 2 +- demos/datepicker/icon-trigger.html | 2 +- demos/datepicker/inline.html | 2 +- demos/datepicker/localization.html | 2 +- demos/datepicker/min-max.html | 2 +- demos/datepicker/multiple-calendars.html | 2 +- demos/datepicker/other-months.html | 2 +- demos/datepicker/show-week.html | 2 +- demos/dialog/animated.html | 2 +- demos/dialog/default.html | 2 +- demos/dialog/modal-confirmation.html | 2 +- demos/dialog/modal-form.html | 2 +- demos/dialog/modal-message.html | 2 +- demos/dialog/modal.html | 2 +- demos/draggable/constrain-movement.html | 2 +- demos/draggable/cursor-style.html | 2 +- demos/draggable/default.html | 2 +- demos/draggable/delay-start.html | 2 +- demos/draggable/events.html | 2 +- demos/draggable/handle.html | 2 +- demos/draggable/revert.html | 2 +- demos/draggable/scroll.html | 2 +- demos/draggable/snap-to.html | 2 +- demos/draggable/sortable.html | 2 +- demos/draggable/visual-feedback.html | 2 +- demos/droppable/accepted-elements.html | 2 +- demos/droppable/default.html | 2 +- demos/droppable/photo-manager.html | 2 +- demos/droppable/propagation.html | 2 +- demos/droppable/revert.html | 2 +- demos/droppable/shopping-cart.html | 2 +- demos/droppable/visual-feedback.html | 2 +- demos/effect/default.html | 2 +- demos/effect/easing.html | 2 +- demos/hide/default.html | 2 +- demos/index.html | 2 +- demos/menu/contextmenu.html | 2 +- demos/menu/default.html | 2 +- demos/position/cycler.html | 2 +- demos/position/default.html | 2 +- demos/progressbar/animated.html | 2 +- demos/progressbar/default.html | 2 +- demos/progressbar/resize.html | 2 +- demos/removeClass/default.html | 2 +- demos/resizable/animate.html | 2 +- demos/resizable/aspect-ratio.html | 2 +- demos/resizable/constrain-area.html | 2 +- demos/resizable/default.html | 2 +- demos/resizable/delay-start.html | 2 +- demos/resizable/helper.html | 2 +- demos/resizable/max-min.html | 2 +- demos/resizable/snap-to-grid.html | 2 +- demos/resizable/synchronous-resize.html | 2 +- demos/resizable/textarea.html | 2 +- demos/resizable/visual-feedback.html | 2 +- demos/selectable/default.html | 2 +- demos/selectable/display-grid.html | 2 +- demos/selectable/serialize.html | 2 +- demos/show/default.html | 2 +- demos/slider/colorpicker.html | 2 +- demos/slider/default.html | 2 +- demos/slider/hotelrooms.html | 2 +- demos/slider/multiple-vertical.html | 2 +- demos/slider/range-vertical.html | 2 +- demos/slider/range.html | 2 +- demos/slider/rangemax.html | 2 +- demos/slider/rangemin.html | 2 +- demos/slider/side-scroll.html | 2 +- demos/slider/slider-vertical.html | 2 +- demos/slider/steps.html | 2 +- demos/slider/tabs.html | 2 +- .../sortable/connect-lists-through-tabs.html | 2 +- demos/sortable/connect-lists.html | 2 +- demos/sortable/default.html | 2 +- demos/sortable/delay-start.html | 2 +- demos/sortable/display-grid.html | 2 +- demos/sortable/empty-lists.html | 2 +- demos/sortable/items.html | 2 +- demos/sortable/placeholder.html | 2 +- demos/sortable/portlets.html | 2 +- demos/spinner/currency.html | 2 +- demos/spinner/decimal.html | 2 +- demos/spinner/default.html | 2 +- demos/spinner/latlong.html | 2 +- demos/spinner/overflow.html | 2 +- demos/spinner/time.html | 2 +- demos/switchClass/default.html | 2 +- demos/tabs/ajax.html | 2 +- demos/tabs/bottom.html | 2 +- demos/tabs/collapsible.html | 2 +- demos/tabs/cookie.html | 2 +- demos/tabs/default.html | 2 +- demos/tabs/manipulation.html | 2 +- demos/tabs/mouseover.html | 2 +- demos/tabs/sortable.html | 2 +- demos/tabs/vertical.html | 2 +- demos/toggle/default.html | 2 +- demos/toggleClass/default.html | 2 +- demos/tooltip/custom-animation.html | 2 +- demos/tooltip/default.html | 2 +- demos/tooltip/delegation-mixbag.html | 2 +- demos/tooltip/forms.html | 2 +- demos/tooltip/tracking.html | 2 +- jquery-1.4.4.js => jquery-1.5.1.js | 3167 +++++++++++------ tests/index.html | 2 +- tests/static/accordion/default.html | 2 +- tests/static/accordion/dl.html | 2 +- tests/static/accordion/ul.html | 2 +- tests/static/button/default.html | 2 +- tests/static/datepicker/datepicker.html | 2 +- tests/static/datepicker/default.html | 2 +- tests/static/dialog/default.html | 2 +- tests/static/dialog/dialog.html | 2 +- tests/static/draggable/default.html | 2 +- tests/static/droppable/default.html | 2 +- tests/static/highlight_error.html | 2 +- tests/static/icons.html | 2 +- tests/static/index.html | 2 +- tests/static/menu/all-menus-icons.html | 2 +- tests/static/menu/default.html | 2 +- tests/static/overlay.html | 2 +- tests/static/progressbar/default.html | 2 +- tests/static/progressbar/progressbar.html | 2 +- tests/static/resizable/default.html | 2 +- tests/static/selectable/default.html | 2 +- tests/static/slider/default.html | 2 +- tests/static/slider/default_vertical.html | 2 +- tests/static/slider/slider_horizontal.html | 2 +- .../slider/slider_horizontal_range.html | 2 +- .../slider/slider_horizontal_range_max.html | 2 +- .../slider/slider_horizontal_range_min.html | 2 +- tests/static/slider/slider_vertical.html | 2 +- .../static/slider/slider_vertical_range.html | 2 +- .../slider/slider_vertical_range_max.html | 2 +- .../slider/slider_vertical_range_min.html | 2 +- tests/static/sortable/default.html | 2 +- tests/static/tabs/default.html | 2 +- tests/static/tabs/tabs.html | 2 +- tests/unit/accordion/accordio.html | 2 +- tests/unit/accordion/accordion.html | 2 +- tests/unit/autocomplete/autocomplete.html | 2 +- tests/unit/button/button.html | 2 +- tests/unit/core/core.html | 2 +- tests/unit/datepicker/datepicker.html | 2 +- tests/unit/dialog/dialog.html | 2 +- tests/unit/draggable/draggable.html | 2 +- tests/unit/droppable/droppable.html | 2 +- tests/unit/menu/menu.html | 2 +- tests/unit/position/position.html | 2 +- tests/unit/progressbar/progressbar.html | 2 +- tests/unit/resizable/resizable.html | 2 +- tests/unit/selectable/selectable.html | 2 +- tests/unit/slider/slider.html | 2 +- tests/unit/sortable/sortable.html | 2 +- tests/unit/spinner/spinner.html | 2 +- tests/unit/tabs/tabs.html | 2 +- tests/unit/tooltip/tooltip.html | 2 +- tests/unit/widget/widget.html | 2 +- tests/visual/accordion/accordion.html | 2 +- tests/visual/accordion/accordion_dl.html | 2 +- .../accordion/accordion_method_destroy.html | 2 +- .../accordion/accordion_method_disable.html | 2 +- ...accordion_option_animated_bounceslide.html | 2 +- .../accordion_option_animated_easeslide.html | 2 +- .../accordion_option_animated_false.html | 2 +- .../accordion_option_animated_slide.html | 2 +- .../accordion_option_animated_true.html | 2 +- .../accordion_option_autoHeight_false.html | 2 +- .../accordion_option_autoHeight_true.html | 2 +- .../accordion_option_fillSpace_true.html | 2 +- .../accordion_option_navigation_true.html | 2 +- .../accordion/accordion_ticket_4322.html | 2 +- .../accordion/accordion_ticket_4331.html | 2 +- .../accordion/accordion_ticket_4444.html | 2 +- tests/visual/accordion/accordion_ul.html | 2 +- tests/visual/addClass/addClass_queue.html | 2 +- tests/visual/all.html | 2 +- .../animate/animate_backgroundColor_hex.html | 2 +- .../animate/animate_backgroundColor_rgb.html | 2 +- tests/visual/animate/animate_color_hex.html | 2 +- tests/visual/animate/animate_color_rgb.html | 2 +- tests/visual/autocomplete/autocomplete.html | 2 +- tests/visual/button/button.html | 2 +- tests/visual/button/button_disabled_true.html | 2 +- .../button/button_input_type_checkbox.html | 2 +- .../button/button_option_disabled_true.html | 2 +- tests/visual/button/button_performance.html | 2 +- tests/visual/button/button_ticket_5254.html | 2 +- tests/visual/button/button_ticket_5261.html | 2 +- tests/visual/button/button_ticket_5278.html | 2 +- tests/visual/compound/accordion_dialog.html | 2 +- tests/visual/compound/accordion_tabs.html | 2 +- tests/visual/compound/datepicker_dialog.html | 2 +- .../visual/compound/draggable_accordion.html | 2 +- ...le_accordion_accordion_tabs_draggable.html | 2 +- .../sortable_accordion_sortable_tabs.html | 2 +- tests/visual/compound/tabs_tabs.html | 2 +- tests/visual/compound/tabs_tooltips.html | 2 +- tests/visual/compound/widgets_in_dialog.html | 2 +- tests/visual/datepicker/datepicker.html | 2 +- .../datepicker/datepicker_multi_inline.html | 2 +- .../datepicker/datepicker_ticket_4071.html | 2 +- .../datepicker/datepicker_ticket_4240.html | 2 +- .../datepicker/datepicker_ticket_4443.html | 2 +- .../datepicker/datepicker_ticket_5676.html | 2 +- tests/visual/datepicker/multimonth.html | 2 +- tests/visual/datepicker/viewport.html | 2 +- tests/visual/dialog/dialog.html | 2 +- .../dialog/dialog_on_page_with_large_dom.html | 2 +- .../dialog_on_page_with_scrollbars.html | 2 +- .../dialog_option_buttons_OK_Cancel.html | 2 +- .../dialog_option_closeOnEscape_false.html | 2 +- .../dialog_option_closeOnEscape_true.html | 2 +- .../dialog/dialog_option_modal_false.html | 2 +- .../dialog/dialog_option_modal_true.html | 2 +- .../dialog_option_position_right_top.html | 2 +- tests/visual/dialog/dialog_ticket_4350.html | 2 +- tests/visual/dialog/dialog_ticket_4826.html | 2 +- tests/visual/draggable/draggable.html | 2 +- tests/visual/draggable/draggable.scroll.html | 2 +- .../draggable_option_containment_array.html | 2 +- .../draggable_option_cursorAt_object.html | 2 +- .../draggable_option_handle_selector.html | 2 +- .../draggable_option_iframeFix_false.html | 2 +- .../draggable_option_iframeFix_selector.html | 2 +- .../draggable_option_iframeFix_true.html | 2 +- tests/visual/droppable/droppable.html | 2 +- .../droppable_option_accept_default.html | 2 +- .../droppable_option_accept_function.html | 2 +- .../droppable_option_accept_selector.html | 2 +- .../droppable/droppable_ticket_4087.html | 2 +- .../droppable/droppable_ticket_4088.html | 2 +- tests/visual/effects.all.html | 2 +- tests/visual/menu/contextmenu.html | 2 +- tests/visual/menu/drilldown.html | 2 +- tests/visual/menu/menu.html | 2 +- tests/visual/menu/menubar.html | 2 +- tests/visual/menu/tablemenu.html | 2 +- tests/visual/position/position.html | 2 +- tests/visual/position/position_margin.html | 2 +- tests/visual/progressbar/progressbar.html | 2 +- tests/visual/resizable/resizable.html | 2 +- .../resizable_option_alsoResize_child.html | 2 +- .../resizable_option_aspectRatio_0.5.html | 2 +- .../resizable_option_aspectRatio_1.0.html | 2 +- .../resizable_option_aspectRatio_1.5.html | 2 +- ...on_aspectRatio_preserve_maxHeight_150.html | 2 +- ...ion_aspectRatio_preserve_maxWidth_150.html | 2 +- ...ion_aspectRatio_preserve_minHeight_50.html | 2 +- ...tion_aspectRatio_preserve_minWidth_50.html | 2 +- ...option_aspectRatio_preserve_w100xh100.html | 2 +- ..._option_aspectRatio_preserve_w100xh50.html | 2 +- ..._option_aspectRatio_preserve_w50xh100.html | 2 +- .../resizable/resizable_ticket_3053.html | 2 +- .../resizable/resizable_ticket_4199.html | 2 +- .../resizable/resizable_ticket_4217.html | 2 +- .../resizable/resizable_ticket_4940.html | 2 +- .../resizable/resizable_ticket_5335.html | 2 +- tests/visual/selectable/selectable.html | 2 +- .../selectable/selectable_ticket_4341.html | 2 +- tests/visual/slider/slider.html | 2 +- tests/visual/slider/slider_horizontal.html | 2 +- .../slider/slider_horizontal_range.html | 2 +- .../slider/slider_horizontal_range_max.html | 2 +- .../slider/slider_horizontal_range_min.html | 2 +- .../slider_in_container_with_scrollbars.html | 2 +- .../visual/slider/slider_method_destroy.html | 2 +- .../visual/slider/slider_method_disable.html | 2 +- .../slider/slider_option_animate_false.html | 2 +- .../slider/slider_option_animate_true.html | 2 +- tests/visual/slider/slider_option_max_3.html | 2 +- tests/visual/slider/slider_option_max_30.html | 2 +- .../visual/slider/slider_option_max_300.html | 2 +- tests/visual/slider/slider_option_min_-3.html | 2 +- .../visual/slider/slider_option_min_-30.html | 2 +- .../visual/slider/slider_option_min_-300.html | 2 +- .../slider_option_orientation_horizontal.html | 2 +- .../slider_option_orientation_vertical.html | 2 +- .../slider/slider_option_range_false.html | 2 +- .../slider/slider_option_range_max.html | 2 +- .../slider/slider_option_range_min.html | 2 +- .../slider/slider_option_range_true.html | 2 +- .../visual/slider/slider_option_step_25.html | 2 +- tests/visual/slider/slider_option_step_5.html | 2 +- .../visual/slider/slider_option_value_3.html | 2 +- .../visual/slider/slider_option_value_30.html | 2 +- .../slider/slider_option_values_25_50_75.html | 2 +- .../slider/slider_option_values_25_75.html | 2 +- .../slider/slider_option_values_50.html | 2 +- tests/visual/slider/slider_ticket_3736.html | 2 +- tests/visual/slider/slider_ticket_3762.html | 2 +- tests/visual/slider/slider_ticket_4385.html | 2 +- tests/visual/slider/slider_ticket_4467.html | 2 +- tests/visual/slider/slider_vertical.html | 2 +- .../visual/slider/slider_vertical_range.html | 2 +- .../slider/slider_vertical_range_max.html | 2 +- .../slider/slider_vertical_range_min.html | 2 +- tests/visual/sortable/sortable.html | 2 +- .../sortable/sortable_massive_scale.html | 2 +- .../sortable_option_revert_false.html | 2 +- .../sortable/sortable_option_revert_true.html | 2 +- .../visual/sortable/sortable_ticket_4231.html | 2 +- .../visual/sortable/sortable_ticket_4551.html | 2 +- .../visual/sortable/sortable_ticket_5355.html | 2 +- tests/visual/spinner/spinner.html | 2 +- tests/visual/tabs/tabs.html | 2 +- tests/visual/theme.html | 2 +- tests/visual/tooltip/callout.html | 2 +- tests/visual/tooltip/tooltip.html | 2 +- 343 files changed, 2494 insertions(+), 1357 deletions(-) rename jquery-1.4.4.js => jquery-1.5.1.js (70%) diff --git a/demos/accordion/collapsible.html b/demos/accordion/collapsible.html index 8e27e21252..f77fdc05c8 100644 --- a/demos/accordion/collapsible.html +++ b/demos/accordion/collapsible.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Collapse content - + diff --git a/demos/accordion/custom-icons.html b/demos/accordion/custom-icons.html index 3ec244131a..4f78b47d8c 100644 --- a/demos/accordion/custom-icons.html +++ b/demos/accordion/custom-icons.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Customize icons - + diff --git a/demos/accordion/default.html b/demos/accordion/default.html index 974dc0569e..e24a586336 100644 --- a/demos/accordion/default.html +++ b/demos/accordion/default.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Default functionality - + diff --git a/demos/accordion/fillspace.html b/demos/accordion/fillspace.html index 6cdd691810..945ea3d1bc 100644 --- a/demos/accordion/fillspace.html +++ b/demos/accordion/fillspace.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Fill space - + diff --git a/demos/accordion/hoverintent.html b/demos/accordion/hoverintent.html index 6633408b6a..570be752d3 100644 --- a/demos/accordion/hoverintent.html +++ b/demos/accordion/hoverintent.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Open on hoverintent - + diff --git a/demos/accordion/mouseover.html b/demos/accordion/mouseover.html index 836f35530a..d2cc7dbc0f 100644 --- a/demos/accordion/mouseover.html +++ b/demos/accordion/mouseover.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Open on mouseover - + diff --git a/demos/accordion/no-auto-height.html b/demos/accordion/no-auto-height.html index 4df1c145da..ffda319653 100644 --- a/demos/accordion/no-auto-height.html +++ b/demos/accordion/no-auto-height.html @@ -4,7 +4,7 @@ jQuery UI Accordion - No auto height - + diff --git a/demos/accordion/sortable.html b/demos/accordion/sortable.html index e0925c4fca..1bfce6fe19 100644 --- a/demos/accordion/sortable.html +++ b/demos/accordion/sortable.html @@ -4,7 +4,7 @@ jQuery UI Accordion - Sortable - + diff --git a/demos/addClass/default.html b/demos/addClass/default.html index cb1d7408de..73502d6fb5 100644 --- a/demos/addClass/default.html +++ b/demos/addClass/default.html @@ -4,7 +4,7 @@ jQuery UI Effects - addClass demo - + - + diff --git a/tests/visual/button/button_disabled_true.html b/tests/visual/button/button_disabled_true.html index 0188655fa1..c1832fcb2d 100644 --- a/tests/visual/button/button_disabled_true.html +++ b/tests/visual/button/button_disabled_true.html @@ -5,7 +5,7 @@ Button Visual Test : Button disabled true - + diff --git a/tests/visual/button/button_input_type_checkbox.html b/tests/visual/button/button_input_type_checkbox.html index c3ceb271e3..5596736ffc 100644 --- a/tests/visual/button/button_input_type_checkbox.html +++ b/tests/visual/button/button_input_type_checkbox.html @@ -5,7 +5,7 @@ Button Visual Test : Button input type checkbox - + diff --git a/tests/visual/button/button_option_disabled_true.html b/tests/visual/button/button_option_disabled_true.html index 0188655fa1..c1832fcb2d 100644 --- a/tests/visual/button/button_option_disabled_true.html +++ b/tests/visual/button/button_option_disabled_true.html @@ -5,7 +5,7 @@ Button Visual Test : Button disabled true - + diff --git a/tests/visual/button/button_performance.html b/tests/visual/button/button_performance.html index 1cd9c992ba..4d675bb6d0 100644 --- a/tests/visual/button/button_performance.html +++ b/tests/visual/button/button_performance.html @@ -9,7 +9,7 @@ #toolbar { margin-top: 2em; padding:0.2em; } #ops1, #ops2, #format, #mode { margin-right: 1em } - + diff --git a/tests/visual/button/button_ticket_5254.html b/tests/visual/button/button_ticket_5254.html index 95ecbeabd9..9031861e94 100644 --- a/tests/visual/button/button_ticket_5254.html +++ b/tests/visual/button/button_ticket_5254.html @@ -5,7 +5,7 @@ Button Visual Test : Button ticket #5254 - + diff --git a/tests/visual/button/button_ticket_5261.html b/tests/visual/button/button_ticket_5261.html index 3d2f817299..494912b1f3 100644 --- a/tests/visual/button/button_ticket_5261.html +++ b/tests/visual/button/button_ticket_5261.html @@ -5,7 +5,7 @@ Button Visual Test : Button ticket #5261 - + diff --git a/tests/visual/button/button_ticket_5278.html b/tests/visual/button/button_ticket_5278.html index 253b52f8c7..a519cc38ea 100644 --- a/tests/visual/button/button_ticket_5278.html +++ b/tests/visual/button/button_ticket_5278.html @@ -5,7 +5,7 @@ Button Visual Test : Button ticket #5278 - + diff --git a/tests/visual/compound/accordion_dialog.html b/tests/visual/compound/accordion_dialog.html index 5f10357c83..cf0f25c6d8 100644 --- a/tests/visual/compound/accordion_dialog.html +++ b/tests/visual/compound/accordion_dialog.html @@ -5,7 +5,7 @@ Compound Visual Test : Accordion in Dialog - + diff --git a/tests/visual/compound/accordion_tabs.html b/tests/visual/compound/accordion_tabs.html index 3acf783660..76a960fc3a 100644 --- a/tests/visual/compound/accordion_tabs.html +++ b/tests/visual/compound/accordion_tabs.html @@ -5,7 +5,7 @@ Compound Visual Test : Accordion in Tabs - + diff --git a/tests/visual/compound/datepicker_dialog.html b/tests/visual/compound/datepicker_dialog.html index 78019c0283..26a07a2488 100644 --- a/tests/visual/compound/datepicker_dialog.html +++ b/tests/visual/compound/datepicker_dialog.html @@ -5,7 +5,7 @@ Compound Visual Test : Datepicker in Dialog - + diff --git a/tests/visual/compound/draggable_accordion.html b/tests/visual/compound/draggable_accordion.html index d54343be9c..8bb74d4af2 100644 --- a/tests/visual/compound/draggable_accordion.html +++ b/tests/visual/compound/draggable_accordion.html @@ -5,7 +5,7 @@ Compound Visual Test : Draggable in Accordion - + diff --git a/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html b/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html index bbeb9f8c23..2753988f13 100644 --- a/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html +++ b/tests/visual/compound/draggable_accordion_accordion_tabs_draggable.html @@ -5,7 +5,7 @@ Compound Visual Test : Draggable in Accordion - + diff --git a/tests/visual/compound/sortable_accordion_sortable_tabs.html b/tests/visual/compound/sortable_accordion_sortable_tabs.html index bf20a6f39a..73fc5ab6cf 100644 --- a/tests/visual/compound/sortable_accordion_sortable_tabs.html +++ b/tests/visual/compound/sortable_accordion_sortable_tabs.html @@ -5,7 +5,7 @@ Compound Visual Test : Accordion in Tabs - + diff --git a/tests/visual/compound/tabs_tabs.html b/tests/visual/compound/tabs_tabs.html index 0f96a6615f..f8a8cb6367 100644 --- a/tests/visual/compound/tabs_tabs.html +++ b/tests/visual/compound/tabs_tabs.html @@ -5,7 +5,7 @@ Compound Visual Test : Tabs in Tabs - + diff --git a/tests/visual/compound/tabs_tooltips.html b/tests/visual/compound/tabs_tooltips.html index 972aa784a8..013ba724bb 100644 --- a/tests/visual/compound/tabs_tooltips.html +++ b/tests/visual/compound/tabs_tooltips.html @@ -5,7 +5,7 @@ Compound Visual Test : Tabs in Tabs - + diff --git a/tests/visual/compound/widgets_in_dialog.html b/tests/visual/compound/widgets_in_dialog.html index 5ebb7f5094..13680f9bc8 100644 --- a/tests/visual/compound/widgets_in_dialog.html +++ b/tests/visual/compound/widgets_in_dialog.html @@ -5,7 +5,7 @@ Compound Visual Test : All Widgets in Dialog - + diff --git a/tests/visual/datepicker/datepicker.html b/tests/visual/datepicker/datepicker.html index d4af3c61f5..274eba22a1 100644 --- a/tests/visual/datepicker/datepicker.html +++ b/tests/visual/datepicker/datepicker.html @@ -5,7 +5,7 @@ Datepicker Visual Test : Default - + diff --git a/tests/visual/datepicker/datepicker_multi_inline.html b/tests/visual/datepicker/datepicker_multi_inline.html index 30209bfd4b..64969ec6ba 100644 --- a/tests/visual/datepicker/datepicker_multi_inline.html +++ b/tests/visual/datepicker/datepicker_multi_inline.html @@ -5,7 +5,7 @@ Simple Datepicker - + diff --git a/tests/visual/datepicker/datepicker_ticket_4071.html b/tests/visual/datepicker/datepicker_ticket_4071.html index 3a97017e47..628234aa75 100644 --- a/tests/visual/datepicker/datepicker_ticket_4071.html +++ b/tests/visual/datepicker/datepicker_ticket_4071.html @@ -5,7 +5,7 @@ Datepicker Visual Test : Datepicker ticket #4071 - + diff --git a/tests/visual/datepicker/datepicker_ticket_4240.html b/tests/visual/datepicker/datepicker_ticket_4240.html index a547a3f2a1..2349c14d07 100644 --- a/tests/visual/datepicker/datepicker_ticket_4240.html +++ b/tests/visual/datepicker/datepicker_ticket_4240.html @@ -5,7 +5,7 @@ Datepicker Visual Test : Datepicker ticket #4240 - + diff --git a/tests/visual/datepicker/datepicker_ticket_4443.html b/tests/visual/datepicker/datepicker_ticket_4443.html index 018dd57836..82d81f1d72 100644 --- a/tests/visual/datepicker/datepicker_ticket_4443.html +++ b/tests/visual/datepicker/datepicker_ticket_4443.html @@ -6,7 +6,7 @@ - + diff --git a/tests/visual/datepicker/datepicker_ticket_5676.html b/tests/visual/datepicker/datepicker_ticket_5676.html index 6bda5d528f..c408e8e8bf 100644 --- a/tests/visual/datepicker/datepicker_ticket_5676.html +++ b/tests/visual/datepicker/datepicker_ticket_5676.html @@ -5,7 +5,7 @@ Datepicker Visual Test : Datepicker ticket #5676 - + diff --git a/tests/visual/datepicker/multimonth.html b/tests/visual/datepicker/multimonth.html index 17290e6b02..e78fddf7a9 100644 --- a/tests/visual/datepicker/multimonth.html +++ b/tests/visual/datepicker/multimonth.html @@ -5,7 +5,7 @@ Datepicker Visual Test : Default - + diff --git a/tests/visual/datepicker/viewport.html b/tests/visual/datepicker/viewport.html index fe64bb803d..620a805379 100644 --- a/tests/visual/datepicker/viewport.html +++ b/tests/visual/datepicker/viewport.html @@ -15,7 +15,7 @@ } - + diff --git a/tests/visual/dialog/dialog.html b/tests/visual/dialog/dialog.html index b59360eb99..92f1bf5109 100644 --- a/tests/visual/dialog/dialog.html +++ b/tests/visual/dialog/dialog.html @@ -5,7 +5,7 @@ Dialog Visual Test : Default - + diff --git a/tests/visual/dialog/dialog_on_page_with_large_dom.html b/tests/visual/dialog/dialog_on_page_with_large_dom.html index 74d5aa537c..7b0067a88a 100644 --- a/tests/visual/dialog/dialog_on_page_with_large_dom.html +++ b/tests/visual/dialog/dialog_on_page_with_large_dom.html @@ -5,7 +5,7 @@ Dialog Visual Test : Modal Dialog in Large DOM - + diff --git a/tests/visual/dialog/dialog_on_page_with_scrollbars.html b/tests/visual/dialog/dialog_on_page_with_scrollbars.html index 9d7f687208..ddd730a6a4 100644 --- a/tests/visual/dialog/dialog_on_page_with_scrollbars.html +++ b/tests/visual/dialog/dialog_on_page_with_scrollbars.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog on page with scrollbars - + diff --git a/tests/visual/dialog/dialog_option_buttons_OK_Cancel.html b/tests/visual/dialog/dialog_option_buttons_OK_Cancel.html index 3a9bb56f4c..5ff5f45d04 100644 --- a/tests/visual/dialog/dialog_option_buttons_OK_Cancel.html +++ b/tests/visual/dialog/dialog_option_buttons_OK_Cancel.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option buttons OK Cancel - + diff --git a/tests/visual/dialog/dialog_option_closeOnEscape_false.html b/tests/visual/dialog/dialog_option_closeOnEscape_false.html index 43a1f35132..14c525f293 100644 --- a/tests/visual/dialog/dialog_option_closeOnEscape_false.html +++ b/tests/visual/dialog/dialog_option_closeOnEscape_false.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option closeOnEscape true - + diff --git a/tests/visual/dialog/dialog_option_closeOnEscape_true.html b/tests/visual/dialog/dialog_option_closeOnEscape_true.html index 4c83ef735c..06b1bc561e 100644 --- a/tests/visual/dialog/dialog_option_closeOnEscape_true.html +++ b/tests/visual/dialog/dialog_option_closeOnEscape_true.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option closeOnEscape true - + diff --git a/tests/visual/dialog/dialog_option_modal_false.html b/tests/visual/dialog/dialog_option_modal_false.html index 7bd6a3b6b5..80601d0d90 100644 --- a/tests/visual/dialog/dialog_option_modal_false.html +++ b/tests/visual/dialog/dialog_option_modal_false.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option modal false - + diff --git a/tests/visual/dialog/dialog_option_modal_true.html b/tests/visual/dialog/dialog_option_modal_true.html index 7d58a75c9a..d3b487517c 100644 --- a/tests/visual/dialog/dialog_option_modal_true.html +++ b/tests/visual/dialog/dialog_option_modal_true.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option modal true - + diff --git a/tests/visual/dialog/dialog_option_position_right_top.html b/tests/visual/dialog/dialog_option_position_right_top.html index 3dad98f82e..34ca3ad48e 100644 --- a/tests/visual/dialog/dialog_option_position_right_top.html +++ b/tests/visual/dialog/dialog_option_position_right_top.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog option position right top - + diff --git a/tests/visual/dialog/dialog_ticket_4350.html b/tests/visual/dialog/dialog_ticket_4350.html index e4cf8d1029..14925e9255 100644 --- a/tests/visual/dialog/dialog_ticket_4350.html +++ b/tests/visual/dialog/dialog_ticket_4350.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog ticket #4350 - + diff --git a/tests/visual/dialog/dialog_ticket_4826.html b/tests/visual/dialog/dialog_ticket_4826.html index e184c443c2..fb4814e161 100644 --- a/tests/visual/dialog/dialog_ticket_4826.html +++ b/tests/visual/dialog/dialog_ticket_4826.html @@ -5,7 +5,7 @@ Dialog Visual Test : Dialog ticket #4826 - + diff --git a/tests/visual/draggable/draggable.html b/tests/visual/draggable/draggable.html index d5ad10783b..09982d310c 100644 --- a/tests/visual/draggable/draggable.html +++ b/tests/visual/draggable/draggable.html @@ -5,7 +5,7 @@ Draggable Visual Test : Default - + diff --git a/tests/visual/draggable/draggable.scroll.html b/tests/visual/draggable/draggable.scroll.html index 2ac5a69090..84a4ba2d1d 100644 --- a/tests/visual/draggable/draggable.scroll.html +++ b/tests/visual/draggable/draggable.scroll.html @@ -5,7 +5,7 @@ Draggable Scroll Tests - + diff --git a/tests/visual/draggable/draggable_option_containment_array.html b/tests/visual/draggable/draggable_option_containment_array.html index 0a6b7871f4..3fe3802fab 100644 --- a/tests/visual/draggable/draggable_option_containment_array.html +++ b/tests/visual/draggable/draggable_option_containment_array.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option containment array - + diff --git a/tests/visual/draggable/draggable_option_cursorAt_object.html b/tests/visual/draggable/draggable_option_cursorAt_object.html index afe532e42e..00736327f8 100644 --- a/tests/visual/draggable/draggable_option_cursorAt_object.html +++ b/tests/visual/draggable/draggable_option_cursorAt_object.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option cursorAt object - + diff --git a/tests/visual/draggable/draggable_option_handle_selector.html b/tests/visual/draggable/draggable_option_handle_selector.html index ee4657e667..53decb40c0 100644 --- a/tests/visual/draggable/draggable_option_handle_selector.html +++ b/tests/visual/draggable/draggable_option_handle_selector.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option handle selector - + diff --git a/tests/visual/draggable/draggable_option_iframeFix_false.html b/tests/visual/draggable/draggable_option_iframeFix_false.html index 36daa46fd5..9528a5d08a 100644 --- a/tests/visual/draggable/draggable_option_iframeFix_false.html +++ b/tests/visual/draggable/draggable_option_iframeFix_false.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option iframeFix false - + diff --git a/tests/visual/draggable/draggable_option_iframeFix_selector.html b/tests/visual/draggable/draggable_option_iframeFix_selector.html index 2d0278902e..c3655970cd 100644 --- a/tests/visual/draggable/draggable_option_iframeFix_selector.html +++ b/tests/visual/draggable/draggable_option_iframeFix_selector.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option iframeFix selector - + diff --git a/tests/visual/draggable/draggable_option_iframeFix_true.html b/tests/visual/draggable/draggable_option_iframeFix_true.html index f7ae43308d..de7b315210 100644 --- a/tests/visual/draggable/draggable_option_iframeFix_true.html +++ b/tests/visual/draggable/draggable_option_iframeFix_true.html @@ -5,7 +5,7 @@ Draggable Visual Test : Draggable option iframeFix true - + diff --git a/tests/visual/droppable/droppable.html b/tests/visual/droppable/droppable.html index 31eac495e1..3ec6738bc2 100644 --- a/tests/visual/droppable/droppable.html +++ b/tests/visual/droppable/droppable.html @@ -5,7 +5,7 @@ Droppable Visual Test : Default - + diff --git a/tests/visual/droppable/droppable_option_accept_default.html b/tests/visual/droppable/droppable_option_accept_default.html index 54681d81e8..3aa83353c9 100644 --- a/tests/visual/droppable/droppable_option_accept_default.html +++ b/tests/visual/droppable/droppable_option_accept_default.html @@ -6,7 +6,7 @@ - + diff --git a/tests/visual/droppable/droppable_option_accept_function.html b/tests/visual/droppable/droppable_option_accept_function.html index e3db4a4fa3..ff4a7951a6 100644 --- a/tests/visual/droppable/droppable_option_accept_function.html +++ b/tests/visual/droppable/droppable_option_accept_function.html @@ -6,7 +6,7 @@ - + diff --git a/tests/visual/droppable/droppable_option_accept_selector.html b/tests/visual/droppable/droppable_option_accept_selector.html index 9012d0e989..65cf18e189 100644 --- a/tests/visual/droppable/droppable_option_accept_selector.html +++ b/tests/visual/droppable/droppable_option_accept_selector.html @@ -6,7 +6,7 @@ - + diff --git a/tests/visual/droppable/droppable_ticket_4087.html b/tests/visual/droppable/droppable_ticket_4087.html index 6dca11cd89..84945bf55a 100644 --- a/tests/visual/droppable/droppable_ticket_4087.html +++ b/tests/visual/droppable/droppable_ticket_4087.html @@ -4,7 +4,7 @@ Droppable Visual Test - Droppable ticket 4087 - + diff --git a/tests/visual/droppable/droppable_ticket_4088.html b/tests/visual/droppable/droppable_ticket_4088.html index cbc01ea4c6..148d55eb2a 100644 --- a/tests/visual/droppable/droppable_ticket_4088.html +++ b/tests/visual/droppable/droppable_ticket_4088.html @@ -4,7 +4,7 @@ Droppable Visual Test - Droppable ticket 4088 - + diff --git a/tests/visual/effects.all.html b/tests/visual/effects.all.html index 392ed62564..1bbc7a1106 100644 --- a/tests/visual/effects.all.html +++ b/tests/visual/effects.all.html @@ -4,7 +4,7 @@ jQuery UI Effects Test Suite - + diff --git a/tests/visual/menu/contextmenu.html b/tests/visual/menu/contextmenu.html index c91b4ea1bc..63d9877a0d 100644 --- a/tests/visual/menu/contextmenu.html +++ b/tests/visual/menu/contextmenu.html @@ -4,7 +4,7 @@ Menu Visual Test: Default - + diff --git a/tests/visual/menu/drilldown.html b/tests/visual/menu/drilldown.html index 3bf147598a..e752aa80dc 100644 --- a/tests/visual/menu/drilldown.html +++ b/tests/visual/menu/drilldown.html @@ -4,7 +4,7 @@ Menu Visual Test: Default - + diff --git a/tests/visual/menu/menu.html b/tests/visual/menu/menu.html index b5fdf938ba..814e26d091 100644 --- a/tests/visual/menu/menu.html +++ b/tests/visual/menu/menu.html @@ -4,7 +4,7 @@ Menu Visual Test: Default - + diff --git a/tests/visual/menu/menubar.html b/tests/visual/menu/menubar.html index 101a8edfb6..1519c73fca 100644 --- a/tests/visual/menu/menubar.html +++ b/tests/visual/menu/menubar.html @@ -4,7 +4,7 @@ Menu Visual Test: Default - + diff --git a/tests/visual/menu/tablemenu.html b/tests/visual/menu/tablemenu.html index 2b2ee28b22..e1c069e185 100644 --- a/tests/visual/menu/tablemenu.html +++ b/tests/visual/menu/tablemenu.html @@ -4,7 +4,7 @@ Menu Visual Test: Default - + diff --git a/tests/visual/position/position.html b/tests/visual/position/position.html index 11fb48d6ea..da0ff51707 100644 --- a/tests/visual/position/position.html +++ b/tests/visual/position/position.html @@ -5,7 +5,7 @@ Position Visual Test: Default - + diff --git a/tests/visual/position/position_margin.html b/tests/visual/position/position_margin.html index 7a26258466..0c7e32f3cf 100644 --- a/tests/visual/position/position_margin.html +++ b/tests/visual/position/position_margin.html @@ -5,7 +5,7 @@ Position Visual Test: Default - + diff --git a/tests/visual/progressbar/progressbar.html b/tests/visual/progressbar/progressbar.html index b98a018445..b8c2eacf0d 100644 --- a/tests/visual/progressbar/progressbar.html +++ b/tests/visual/progressbar/progressbar.html @@ -5,7 +5,7 @@ Progressbar Visual Test: Default - + diff --git a/tests/visual/resizable/resizable.html b/tests/visual/resizable/resizable.html index c903abbc1c..e9abf8fe59 100644 --- a/tests/visual/resizable/resizable.html +++ b/tests/visual/resizable/resizable.html @@ -5,7 +5,7 @@ Resizable Visual Test : Default - + diff --git a/tests/visual/resizable/resizable_option_alsoResize_child.html b/tests/visual/resizable/resizable_option_alsoResize_child.html index 9defdd6fe0..57f6b06186 100644 --- a/tests/visual/resizable/resizable_option_alsoResize_child.html +++ b/tests/visual/resizable/resizable_option_alsoResize_child.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option alsoResize child - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_0.5.html b/tests/visual/resizable/resizable_option_aspectRatio_0.5.html index bfe36f99d7..1c14f0b3e5 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_0.5.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_0.5.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 0.5 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_1.0.html b/tests/visual/resizable/resizable_option_aspectRatio_1.0.html index 9d7ee1b376..c680bc3ae9 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_1.0.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_1.0.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.0 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_1.5.html b/tests/visual/resizable/resizable_option_aspectRatio_1.5.html index 328f2a72f0..ffdbc957b7 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_1.5.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_1.5.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.5 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxHeight_150.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxHeight_150.html index f6f67f44f5..70228de813 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxHeight_150.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxHeight_150.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.0 maxHeight 150 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxWidth_150.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxWidth_150.html index 6ce622ef9a..43773fde49 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxWidth_150.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_maxWidth_150.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.0 maxWidth 150 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_minHeight_50.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_minHeight_50.html index 969e6db96b..514151349c 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_minHeight_50.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_minHeight_50.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.0 minHeight 50 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_minWidth_50.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_minWidth_50.html index 2095ff70f2..33f1457bf8 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_minWidth_50.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_minWidth_50.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable option aspectRatio 1.0 maxWidth 50 - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh100.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh100.html index 89ad5a11a6..5feafd2571 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh100.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh100.html @@ -5,7 +5,7 @@ Resizable Visual Test : Default - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh50.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh50.html index b536a59a79..05448f6036 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh50.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w100xh50.html @@ -5,7 +5,7 @@ Resizable Visual Test : Default - + diff --git a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w50xh100.html b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w50xh100.html index 0958983cd6..49ef182eab 100644 --- a/tests/visual/resizable/resizable_option_aspectRatio_preserve_w50xh100.html +++ b/tests/visual/resizable/resizable_option_aspectRatio_preserve_w50xh100.html @@ -5,7 +5,7 @@ Resizable Visual Test : Default - + diff --git a/tests/visual/resizable/resizable_ticket_3053.html b/tests/visual/resizable/resizable_ticket_3053.html index 10a4495673..d0844436a4 100644 --- a/tests/visual/resizable/resizable_ticket_3053.html +++ b/tests/visual/resizable/resizable_ticket_3053.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable ticket #3053 - + diff --git a/tests/visual/resizable/resizable_ticket_4199.html b/tests/visual/resizable/resizable_ticket_4199.html index 18b995892f..2343873076 100644 --- a/tests/visual/resizable/resizable_ticket_4199.html +++ b/tests/visual/resizable/resizable_ticket_4199.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable ticket #4199 - + diff --git a/tests/visual/resizable/resizable_ticket_4217.html b/tests/visual/resizable/resizable_ticket_4217.html index c759fc02d0..d08342df68 100644 --- a/tests/visual/resizable/resizable_ticket_4217.html +++ b/tests/visual/resizable/resizable_ticket_4217.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable ticket #4217 - + diff --git a/tests/visual/resizable/resizable_ticket_4940.html b/tests/visual/resizable/resizable_ticket_4940.html index 01e9976b7f..6a7067c939 100644 --- a/tests/visual/resizable/resizable_ticket_4940.html +++ b/tests/visual/resizable/resizable_ticket_4940.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable ticket #4940 - + diff --git a/tests/visual/resizable/resizable_ticket_5335.html b/tests/visual/resizable/resizable_ticket_5335.html index 50f6b0497a..b8c2278440 100644 --- a/tests/visual/resizable/resizable_ticket_5335.html +++ b/tests/visual/resizable/resizable_ticket_5335.html @@ -5,7 +5,7 @@ Resizable Visual Test : Resizable ticket #5335 - + diff --git a/tests/visual/selectable/selectable.html b/tests/visual/selectable/selectable.html index 80abda9b46..76d8174c8c 100644 --- a/tests/visual/selectable/selectable.html +++ b/tests/visual/selectable/selectable.html @@ -5,7 +5,7 @@ Selectable Visual Test : Default - + diff --git a/tests/visual/selectable/selectable_ticket_4341.html b/tests/visual/selectable/selectable_ticket_4341.html index 5ec1f2f3f3..0bd77243b0 100644 --- a/tests/visual/selectable/selectable_ticket_4341.html +++ b/tests/visual/selectable/selectable_ticket_4341.html @@ -5,7 +5,7 @@ Selectable Visual Test : Selectable ticket #4341 - + diff --git a/tests/visual/slider/slider.html b/tests/visual/slider/slider.html index 3600727b73..9c666eb4af 100644 --- a/tests/visual/slider/slider.html +++ b/tests/visual/slider/slider.html @@ -5,7 +5,7 @@ Slider Visual Test : Default - + diff --git a/tests/visual/slider/slider_horizontal.html b/tests/visual/slider/slider_horizontal.html index 57028ea487..52e13f5b9f 100644 --- a/tests/visual/slider/slider_horizontal.html +++ b/tests/visual/slider/slider_horizontal.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider horizontal - + diff --git a/tests/visual/slider/slider_horizontal_range.html b/tests/visual/slider/slider_horizontal_range.html index 09a2c7d206..c10451cc5f 100644 --- a/tests/visual/slider/slider_horizontal_range.html +++ b/tests/visual/slider/slider_horizontal_range.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider horizontal range - + diff --git a/tests/visual/slider/slider_horizontal_range_max.html b/tests/visual/slider/slider_horizontal_range_max.html index b36cf4f594..0cb45fd06d 100644 --- a/tests/visual/slider/slider_horizontal_range_max.html +++ b/tests/visual/slider/slider_horizontal_range_max.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider horizontal range max - + diff --git a/tests/visual/slider/slider_horizontal_range_min.html b/tests/visual/slider/slider_horizontal_range_min.html index c257edf6f0..101121b913 100644 --- a/tests/visual/slider/slider_horizontal_range_min.html +++ b/tests/visual/slider/slider_horizontal_range_min.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider horizontal range min - + diff --git a/tests/visual/slider/slider_in_container_with_scrollbars.html b/tests/visual/slider/slider_in_container_with_scrollbars.html index 22a563f31a..0a050ff98f 100644 --- a/tests/visual/slider/slider_in_container_with_scrollbars.html +++ b/tests/visual/slider/slider_in_container_with_scrollbars.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider in container with scrollbars - + diff --git a/tests/visual/slider/slider_method_destroy.html b/tests/visual/slider/slider_method_destroy.html index 9cb1926cc4..931913aaf7 100644 --- a/tests/visual/slider/slider_method_destroy.html +++ b/tests/visual/slider/slider_method_destroy.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider method destroy - + diff --git a/tests/visual/slider/slider_method_disable.html b/tests/visual/slider/slider_method_disable.html index 6fdd16365c..d7ed75a1a8 100644 --- a/tests/visual/slider/slider_method_disable.html +++ b/tests/visual/slider/slider_method_disable.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider method disable - + diff --git a/tests/visual/slider/slider_option_animate_false.html b/tests/visual/slider/slider_option_animate_false.html index 297ab83cdc..fce6e5668e 100644 --- a/tests/visual/slider/slider_option_animate_false.html +++ b/tests/visual/slider/slider_option_animate_false.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option animate false - + diff --git a/tests/visual/slider/slider_option_animate_true.html b/tests/visual/slider/slider_option_animate_true.html index 4f5b484e7d..8d12abcff4 100644 --- a/tests/visual/slider/slider_option_animate_true.html +++ b/tests/visual/slider/slider_option_animate_true.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option animate true - + diff --git a/tests/visual/slider/slider_option_max_3.html b/tests/visual/slider/slider_option_max_3.html index 4e79e0ec66..82de692722 100644 --- a/tests/visual/slider/slider_option_max_3.html +++ b/tests/visual/slider/slider_option_max_3.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option max 3 - + diff --git a/tests/visual/slider/slider_option_max_30.html b/tests/visual/slider/slider_option_max_30.html index e2fd7a6f28..36126ffae2 100644 --- a/tests/visual/slider/slider_option_max_30.html +++ b/tests/visual/slider/slider_option_max_30.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option max 30 - + diff --git a/tests/visual/slider/slider_option_max_300.html b/tests/visual/slider/slider_option_max_300.html index 1a48f306ae..d51cd86e7c 100644 --- a/tests/visual/slider/slider_option_max_300.html +++ b/tests/visual/slider/slider_option_max_300.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option max 300 - + diff --git a/tests/visual/slider/slider_option_min_-3.html b/tests/visual/slider/slider_option_min_-3.html index f7620d81b0..9a18ed4d08 100644 --- a/tests/visual/slider/slider_option_min_-3.html +++ b/tests/visual/slider/slider_option_min_-3.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option min -3 - + diff --git a/tests/visual/slider/slider_option_min_-30.html b/tests/visual/slider/slider_option_min_-30.html index f17f17dfb1..88b655288d 100644 --- a/tests/visual/slider/slider_option_min_-30.html +++ b/tests/visual/slider/slider_option_min_-30.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option min -30 - + diff --git a/tests/visual/slider/slider_option_min_-300.html b/tests/visual/slider/slider_option_min_-300.html index cf15d0da64..1a55cabc1f 100644 --- a/tests/visual/slider/slider_option_min_-300.html +++ b/tests/visual/slider/slider_option_min_-300.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option min -300 - + diff --git a/tests/visual/slider/slider_option_orientation_horizontal.html b/tests/visual/slider/slider_option_orientation_horizontal.html index 9edbe066af..c7efb2f622 100644 --- a/tests/visual/slider/slider_option_orientation_horizontal.html +++ b/tests/visual/slider/slider_option_orientation_horizontal.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option orientation 'horizontal' - + diff --git a/tests/visual/slider/slider_option_orientation_vertical.html b/tests/visual/slider/slider_option_orientation_vertical.html index e5d2588ef5..4cecf707d5 100644 --- a/tests/visual/slider/slider_option_orientation_vertical.html +++ b/tests/visual/slider/slider_option_orientation_vertical.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option orientation 'vertical' - + diff --git a/tests/visual/slider/slider_option_range_false.html b/tests/visual/slider/slider_option_range_false.html index b053347f6f..976888bc8a 100644 --- a/tests/visual/slider/slider_option_range_false.html +++ b/tests/visual/slider/slider_option_range_false.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option range false - + diff --git a/tests/visual/slider/slider_option_range_max.html b/tests/visual/slider/slider_option_range_max.html index f768f7ccdc..4ae3cb747c 100644 --- a/tests/visual/slider/slider_option_range_max.html +++ b/tests/visual/slider/slider_option_range_max.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option range 'max' - + diff --git a/tests/visual/slider/slider_option_range_min.html b/tests/visual/slider/slider_option_range_min.html index 54861db124..af93660090 100644 --- a/tests/visual/slider/slider_option_range_min.html +++ b/tests/visual/slider/slider_option_range_min.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option range 'min' - + diff --git a/tests/visual/slider/slider_option_range_true.html b/tests/visual/slider/slider_option_range_true.html index 457442220d..b4b4f3ed7e 100644 --- a/tests/visual/slider/slider_option_range_true.html +++ b/tests/visual/slider/slider_option_range_true.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option range true - + diff --git a/tests/visual/slider/slider_option_step_25.html b/tests/visual/slider/slider_option_step_25.html index 2d16a79754..c69a547073 100644 --- a/tests/visual/slider/slider_option_step_25.html +++ b/tests/visual/slider/slider_option_step_25.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option step 25 - + diff --git a/tests/visual/slider/slider_option_step_5.html b/tests/visual/slider/slider_option_step_5.html index e0ef74d4f8..560d1026a8 100644 --- a/tests/visual/slider/slider_option_step_5.html +++ b/tests/visual/slider/slider_option_step_5.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option step 5 - + diff --git a/tests/visual/slider/slider_option_value_3.html b/tests/visual/slider/slider_option_value_3.html index d4e5bc1f27..92820cd2f8 100644 --- a/tests/visual/slider/slider_option_value_3.html +++ b/tests/visual/slider/slider_option_value_3.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option value 3 - + diff --git a/tests/visual/slider/slider_option_value_30.html b/tests/visual/slider/slider_option_value_30.html index 3be2802bfb..3a7223742d 100644 --- a/tests/visual/slider/slider_option_value_30.html +++ b/tests/visual/slider/slider_option_value_30.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option value 30 - + diff --git a/tests/visual/slider/slider_option_values_25_50_75.html b/tests/visual/slider/slider_option_values_25_50_75.html index b317555acf..eab691b832 100644 --- a/tests/visual/slider/slider_option_values_25_50_75.html +++ b/tests/visual/slider/slider_option_values_25_50_75.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option values 25 50 75 - + diff --git a/tests/visual/slider/slider_option_values_25_75.html b/tests/visual/slider/slider_option_values_25_75.html index a6c0483920..2d57b54ee9 100644 --- a/tests/visual/slider/slider_option_values_25_75.html +++ b/tests/visual/slider/slider_option_values_25_75.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option values 25 75 - + diff --git a/tests/visual/slider/slider_option_values_50.html b/tests/visual/slider/slider_option_values_50.html index 7fd7de9581..3f34725816 100644 --- a/tests/visual/slider/slider_option_values_50.html +++ b/tests/visual/slider/slider_option_values_50.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider option values 50 - + diff --git a/tests/visual/slider/slider_ticket_3736.html b/tests/visual/slider/slider_ticket_3736.html index cf102f9ef4..ccc6b1e046 100644 --- a/tests/visual/slider/slider_ticket_3736.html +++ b/tests/visual/slider/slider_ticket_3736.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider ticket #3736 - + diff --git a/tests/visual/slider/slider_ticket_3762.html b/tests/visual/slider/slider_ticket_3762.html index 55ae963b7f..eade7e3e13 100644 --- a/tests/visual/slider/slider_ticket_3762.html +++ b/tests/visual/slider/slider_ticket_3762.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider ticket #3762 - + diff --git a/tests/visual/slider/slider_ticket_4385.html b/tests/visual/slider/slider_ticket_4385.html index d179aa7e9b..8a35c162a4 100644 --- a/tests/visual/slider/slider_ticket_4385.html +++ b/tests/visual/slider/slider_ticket_4385.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider ticket #4385 - + diff --git a/tests/visual/slider/slider_ticket_4467.html b/tests/visual/slider/slider_ticket_4467.html index 5439148f0c..a717f611f9 100644 --- a/tests/visual/slider/slider_ticket_4467.html +++ b/tests/visual/slider/slider_ticket_4467.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider ticket #4467 - + diff --git a/tests/visual/slider/slider_vertical.html b/tests/visual/slider/slider_vertical.html index a3a0f47765..597f67e14c 100644 --- a/tests/visual/slider/slider_vertical.html +++ b/tests/visual/slider/slider_vertical.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider vertical - + diff --git a/tests/visual/slider/slider_vertical_range.html b/tests/visual/slider/slider_vertical_range.html index 597cf50e0b..0ca3303b37 100644 --- a/tests/visual/slider/slider_vertical_range.html +++ b/tests/visual/slider/slider_vertical_range.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider vertical range - + diff --git a/tests/visual/slider/slider_vertical_range_max.html b/tests/visual/slider/slider_vertical_range_max.html index c7ed8463d2..212241625b 100644 --- a/tests/visual/slider/slider_vertical_range_max.html +++ b/tests/visual/slider/slider_vertical_range_max.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider vertical range max - + diff --git a/tests/visual/slider/slider_vertical_range_min.html b/tests/visual/slider/slider_vertical_range_min.html index 2c257928db..f94e6cc034 100644 --- a/tests/visual/slider/slider_vertical_range_min.html +++ b/tests/visual/slider/slider_vertical_range_min.html @@ -5,7 +5,7 @@ Slider Visual Test : Slider vertical range min - + diff --git a/tests/visual/sortable/sortable.html b/tests/visual/sortable/sortable.html index 8e3de319d5..db941bdc30 100644 --- a/tests/visual/sortable/sortable.html +++ b/tests/visual/sortable/sortable.html @@ -5,7 +5,7 @@ Sortable Visual Test : Default - + diff --git a/tests/visual/sortable/sortable_massive_scale.html b/tests/visual/sortable/sortable_massive_scale.html index 2683cd166f..8691c039a2 100644 --- a/tests/visual/sortable/sortable_massive_scale.html +++ b/tests/visual/sortable/sortable_massive_scale.html @@ -4,7 +4,7 @@ Sortable Massive Scale Test - + diff --git a/tests/visual/sortable/sortable_option_revert_false.html b/tests/visual/sortable/sortable_option_revert_false.html index e86cc9a00d..1696fd8542 100644 --- a/tests/visual/sortable/sortable_option_revert_false.html +++ b/tests/visual/sortable/sortable_option_revert_false.html @@ -5,7 +5,7 @@ Sortable Visual Test : Sortable option revert false - + diff --git a/tests/visual/sortable/sortable_option_revert_true.html b/tests/visual/sortable/sortable_option_revert_true.html index b2c79b3b66..6bd23db680 100644 --- a/tests/visual/sortable/sortable_option_revert_true.html +++ b/tests/visual/sortable/sortable_option_revert_true.html @@ -5,7 +5,7 @@ Sortable Visual Test : Sortable option revert true - + diff --git a/tests/visual/sortable/sortable_ticket_4231.html b/tests/visual/sortable/sortable_ticket_4231.html index ca4a93db31..8b80808b1e 100644 --- a/tests/visual/sortable/sortable_ticket_4231.html +++ b/tests/visual/sortable/sortable_ticket_4231.html @@ -5,7 +5,7 @@ Visual testcase for #4231 - + diff --git a/tests/visual/sortable/sortable_ticket_4551.html b/tests/visual/sortable/sortable_ticket_4551.html index eccdbe66e4..2b83ae42e9 100644 --- a/tests/visual/sortable/sortable_ticket_4551.html +++ b/tests/visual/sortable/sortable_ticket_4551.html @@ -5,7 +5,7 @@ Sortable Visual Test : Sortable ticket #4551 - + diff --git a/tests/visual/sortable/sortable_ticket_5355.html b/tests/visual/sortable/sortable_ticket_5355.html index 3f43a69eff..45709e2a67 100644 --- a/tests/visual/sortable/sortable_ticket_5355.html +++ b/tests/visual/sortable/sortable_ticket_5355.html @@ -5,7 +5,7 @@ Sortable Visual Test : Sortable ticket #5355 - + diff --git a/tests/visual/spinner/spinner.html b/tests/visual/spinner/spinner.html index c285b1f54f..cd4938f71e 100644 --- a/tests/visual/spinner/spinner.html +++ b/tests/visual/spinner/spinner.html @@ -4,7 +4,7 @@ Spinner Visual Test Page - + diff --git a/tests/visual/tabs/tabs.html b/tests/visual/tabs/tabs.html index db4e41b338..ade8f82edd 100644 --- a/tests/visual/tabs/tabs.html +++ b/tests/visual/tabs/tabs.html @@ -5,7 +5,7 @@ Tabs Visual Test : Default - + diff --git a/tests/visual/theme.html b/tests/visual/theme.html index 28599bff7b..90c9c3edda 100644 --- a/tests/visual/theme.html +++ b/tests/visual/theme.html @@ -4,7 +4,7 @@ jQuery UI Example Page - + diff --git a/tests/visual/tooltip/callout.html b/tests/visual/tooltip/callout.html index 932663b6f3..f7856d0765 100644 --- a/tests/visual/tooltip/callout.html +++ b/tests/visual/tooltip/callout.html @@ -4,7 +4,7 @@ Tooltip Visual Test: Default - + diff --git a/tests/visual/tooltip/tooltip.html b/tests/visual/tooltip/tooltip.html index fb2690a54d..538b43804f 100644 --- a/tests/visual/tooltip/tooltip.html +++ b/tests/visual/tooltip/tooltip.html @@ -4,7 +4,7 @@ Tooltip Visual Test: Default - + From ea89522828386b3c0ca0c8a855a5f0e8efbad188 Mon Sep 17 00:00:00 2001 From: Richard Worth Date: Wed, 2 Mar 2011 21:27:09 -0500 Subject: [PATCH 21/28] Datepicker i18n: corrected arabic month name for May. Fixed #7055 - Datepicker: arabic month name has March in place of May --- ui/i18n/jquery.ui.datepicker-ar.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/i18n/jquery.ui.datepicker-ar.js b/ui/i18n/jquery.ui.datepicker-ar.js index e02160d668..db57735584 100644 --- a/ui/i18n/jquery.ui.datepicker-ar.js +++ b/ui/i18n/jquery.ui.datepicker-ar.js @@ -7,7 +7,7 @@ jQuery(function($){ prevText: '<السابق', nextText: 'التالي>', currentText: 'اليوم', - monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'آذار', 'حزيران', + monthNames: ['كانون الثاني', 'شباط', 'آذار', 'نيسان', 'مايو', 'حزيران', 'تموز', 'آب', 'أيلول', 'تشرين الأول', 'تشرين الثاني', 'كانون الأول'], monthNamesShort: ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'], dayNames: ['الأحد', 'الاثنين', 'الثلاثاء', 'الأربعاء', 'الخميس', 'الجمعة', 'السبت'], From 6008a30fcb8e59f040d290400cfbdb2e0cc96b01 Mon Sep 17 00:00:00 2001 From: Douglas Neiner Date: Wed, 2 Mar 2011 12:52:21 -0500 Subject: [PATCH 22/28] Dialog: Added a class to dialog wrapper when it is currently displaying buttons, includes unit tests for changes. Fixed #7057 - An extra class is needed on the dialog wrapper to specify when a buttonset is showing --- tests/unit/dialog/dialog_options.js | 10 +++++++++- ui/jquery.ui.dialog.js | 3 +++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/tests/unit/dialog/dialog_options.js b/tests/unit/dialog/dialog_options.js index 82f28bf859..fb8dea7754 100644 --- a/tests/unit/dialog/dialog_options.js +++ b/tests/unit/dialog/dialog_options.js @@ -18,7 +18,7 @@ test("autoOpen", function() { }); test("buttons", function() { - expect(17); + expect(21); var buttons = { "Ok": function(ev, ui) { @@ -44,6 +44,8 @@ test("buttons", function() { }); ok(btn.parent().hasClass('ui-dialog-buttonset'), "buttons in container"); + ok(el.parent().hasClass('ui-dialog-buttons'), "dialog wrapper adds class about having buttons"); + btn.trigger("click"); var newButtons = { @@ -67,6 +69,12 @@ test("buttons", function() { equals(btn.eq(i).text(), key, "text of button " + (i+1)); i += 1; }); + + el.dialog("option", "buttons", null); + btn = $("button", dlg()); + equals(btn.length, 0, "all buttons have been removed"); + equals(el.find(".ui-dialog-buttonset").length, 0, "buttonset has been removed"); + equals(el.parent().hasClass('ui-dialog-buttons'), false, "dialog wrapper removes class about having buttons"); el.remove(); }); diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 0183dd8019..4937838964 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -353,7 +353,10 @@ $.widget("ui.dialog", { button.button(); } }); + self.uiDialog.addClass( "ui-dialog-buttons" ); uiDialogButtonPane.appendTo( self.uiDialog ); + } else { + self.uiDialog.removeClass( "ui-dialog-buttons" ); } }, From 4ad513b7f0b508c03b94066beb95b171a05043f1 Mon Sep 17 00:00:00 2001 From: michaelmwu Date: Fri, 4 Mar 2011 22:17:30 -0800 Subject: [PATCH 23/28] Sortable: Changed floating calculation to determine also whether items are being displayed horizontally. Helps fix odd sorting behavior for horizontal lists. Fixed #6702 - horizontal sortable not working (and solution) --- ui/jquery.ui.sortable.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/jquery.ui.sortable.js b/ui/jquery.ui.sortable.js index 05cbf2132a..8356eeb9fb 100644 --- a/ui/jquery.ui.sortable.js +++ b/ui/jquery.ui.sortable.js @@ -49,8 +49,8 @@ $.widget("ui.sortable", $.ui.mouse, { //Get the items this.refresh(); - //Let's determine if the items are floating - this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) : false; + //Let's determine if the items are being displayed horizontally + this.floating = this.items.length ? (/left|right/).test(this.items[0].item.css('float')) || (/inline|table-cell/).test(this.items[0].item.css('display')) : false; //Let's determine the parent's offset this.offset = this.element.offset(); From 18ad8ffb3df0992b2fd241a4602eff5d799dfdc3 Mon Sep 17 00:00:00 2001 From: Adam Parod Date: Thu, 17 Feb 2011 15:17:40 -0600 Subject: [PATCH 24/28] Datepicker: Reformat minDate/maxDate when dateFormat changes. Fixes #7009 - Reformat minDate/maxDate when dateFormat changes. --- ui/jquery.ui.datepicker.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ui/jquery.ui.datepicker.js b/ui/jquery.ui.datepicker.js index c23984530d..8dd9bf3dc7 100644 --- a/ui/jquery.ui.datepicker.js +++ b/ui/jquery.ui.datepicker.js @@ -444,7 +444,14 @@ $.extend(Datepicker.prototype, { this._hideDatepicker(); } var date = this._getDateDatepicker(target, true); + var minDate = this._getMinMaxDate(inst, 'min'); + var maxDate = this._getMinMaxDate(inst, 'max'); extendRemove(inst.settings, settings); + // reformat the old minDate/maxDate values if dateFormat changes and a new minDate/maxDate isn't provided + if (minDate !== null && settings['dateFormat'] !== undefined && settings['minDate'] === undefined) + inst.settings.minDate = this._formatDate(inst, minDate); + if (maxDate !== null && settings['dateFormat'] !== undefined && settings['maxDate'] === undefined) + inst.settings.maxDate = this._formatDate(inst, maxDate); this._attachments($(target), inst); this._autoSize(inst); this._setDateDatepicker(target, date); From 0680b59260bcc5d40e6dbdcbdc797e1801295140 Mon Sep 17 00:00:00 2001 From: awgy Date: Sat, 5 Feb 2011 02:13:55 -0600 Subject: [PATCH 25/28] Mouse: Reset click event suppression on next mousedown. Fixes #6946 - Mouse: click event suppressed after drag in Gecko --- ui/jquery.ui.mouse.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/ui/jquery.ui.mouse.js b/ui/jquery.ui.mouse.js index f5e8b58c02..bfe4a75782 100644 --- a/ui/jquery.ui.mouse.js +++ b/ui/jquery.ui.mouse.js @@ -75,6 +75,11 @@ $.widget("ui.mouse", { } } + // Click event may never have fired (Gecko & Opera) + if (true === $.data(event.target, this.widgetName + '.preventClickEvent')) { + $.removeData(event.target, this.widgetName + '.preventClickEvent'); + } + // these delegates are required to keep context this._mouseMoveDelegate = function(event) { return self._mouseMove(event); From 1ac9aa49fb0772d11002918d31608207c645c4cf Mon Sep 17 00:00:00 2001 From: awgy Date: Sat, 5 Feb 2011 07:45:37 -0600 Subject: [PATCH 26/28] Mouse: Adding visual test for issue #6946 - Mouse: click event suppressed after drag in Gecko --- tests/visual/mouse/mouse_ticket_6946.html | 67 +++++++++++++++++++++++ 1 file changed, 67 insertions(+) create mode 100644 tests/visual/mouse/mouse_ticket_6946.html diff --git a/tests/visual/mouse/mouse_ticket_6946.html b/tests/visual/mouse/mouse_ticket_6946.html new file mode 100644 index 0000000000..0851d4d191 --- /dev/null +++ b/tests/visual/mouse/mouse_ticket_6946.html @@ -0,0 +1,67 @@ + + + + + Test for Issue #6946 + + + + + + + + + + +

    Test for Issue #6946

    +

    Use the following list to test the steps listed below:

    +
    +
    One
    +
    Two
    +
    Three
    +
    +
    +

    Expected

    +
      +
    1. Drag an item to a new position in the list and release.
    2. +
    3. The click event should be received (appropriately suppressed by jQuery UI).
    4. +
    5. Click the same item.
    6. +
    7. The click event should be received.
    8. +
    9. Click the same item again.
    10. +
    11. The click event should be received.
    12. +
    +

    Experienced (Gecko/Opera)

    +
      +
    1. Drag an item to a new position in the list and release.
    2. +
    3. The click event is not received (never sent by browser).
    4. +
    5. Click the same item.
    6. +
    7. The click event is not received (erroneously suppressed by jQuery UI).
    8. +
    9. Click the same item again.
    10. +
    11. The click event is finally received.
    12. +
    + + +​ \ No newline at end of file From 8a0394debe4334a1d5aed41db54cd29952cae889 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 7 Mar 2011 10:50:47 -0500 Subject: [PATCH 27/28] Mouse visual test: Bump jQuery version. --- tests/visual/mouse/mouse_ticket_6946.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/visual/mouse/mouse_ticket_6946.html b/tests/visual/mouse/mouse_ticket_6946.html index 0851d4d191..a4b44ef7ed 100644 --- a/tests/visual/mouse/mouse_ticket_6946.html +++ b/tests/visual/mouse/mouse_ticket_6946.html @@ -5,7 +5,7 @@ Test for Issue #6946 - + @@ -60,7 +60,7 @@ $('#sortable').bind('click', function () { $('#events').append('Click event received!
    '); }); - });​ + }); From b3198643ca76c105c8ff9ac2b002673b9ffca63f Mon Sep 17 00:00:00 2001 From: gnarf Date: Mon, 7 Mar 2011 23:53:24 -0600 Subject: [PATCH 28/28] effect.puff: Errant console.log removed --- ui/jquery.effects.scale.js | 1 - 1 file changed, 1 deletion(-) diff --git a/ui/jquery.effects.scale.js b/ui/jquery.effects.scale.js index ec707c2b59..fcc0708b90 100644 --- a/ui/jquery.effects.scale.js +++ b/ui/jquery.effects.scale.js @@ -13,7 +13,6 @@ (function( $, undefined ) { $.effects.puff = function( o ) { - console.log(o); return this.queue( function() { var elem = $( this ), mode = $.effects.setMode( elem, o.mode || 'hide' ),