diff options
-rw-r--r-- | demos/effect/easing.html | 7 | ||||
-rw-r--r-- | tests/unit/dialog/dialog_tickets.js | 25 | ||||
-rw-r--r-- | tests/unit/menu/menu.html | 1 | ||||
-rw-r--r-- | tests/unit/menu/menu_tickets.js | 8 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip.html | 1 | ||||
-rw-r--r-- | tests/unit/tooltip/tooltip_tickets.js | 10 | ||||
-rw-r--r-- | ui/jquery.ui.dialog.js | 4 | ||||
-rw-r--r-- | ui/jquery.ui.draggable.js | 12 |
8 files changed, 38 insertions, 30 deletions
diff --git a/demos/effect/easing.html b/demos/effect/easing.html index d76957118..0b6ba0885 100644 --- a/demos/effect/easing.html +++ b/demos/effect/easing.html @@ -33,7 +33,8 @@ } var graph = $( "<div/>" ).addClass( "graph" ).appendTo( "#graphs" ), text = $( "<div/>" ).text( ++i + ". " + name ).appendTo( graph ), - canvas = $( "<canvas/>" ).appendTo( graph )[ 0 ]; + wrap = $( "<div/>" ).appendTo( graph ).css( 'overflow', 'hidden' ), + canvas = $( "<canvas/>" ).appendTo( wrap )[ 0 ]; canvas.width = width; canvas.height = height; var drawHeight = height * 0.8, @@ -78,9 +79,9 @@ }); ctx.stroke(); graph.click(function() { - $( canvas ) + wrap .animate( { height: "hide" }, 2000, name ) - .animate( { left: 0 }, 800 ) + .delay( 800 ) .animate( { height: "show" }, 2000, name ); }); diff --git a/tests/unit/dialog/dialog_tickets.js b/tests/unit/dialog/dialog_tickets.js index b9bf2f972..def2452de 100644 --- a/tests/unit/dialog/dialog_tickets.js +++ b/tests/unit/dialog/dialog_tickets.js @@ -88,4 +88,29 @@ test("#6645: Missing element not found check in overlay", function(){ d1.add(d2).remove(); }); +test("#6966: Escape key closes all dialogs, not the top one", function(){ + expect(8); + // test with close function removing dialog + d1 = $('<div title="dialog 1">Dialog 1</div>').dialog({modal: true}); + d2 = $('<div title="dialog 2">Dialog 2</div>').dialog({modal: true, close: function(){ d2.remove()}}); + ok(d1.dialog("isOpen"), 'first dialog is open'); + ok(d2.dialog("isOpen"), 'second dialog is open'); + d2.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); + ok(d1.dialog("isOpen"), 'first dialog still open'); + ok(!d2.data('dialog'), 'second dialog is closed'); + d2.remove(); + d1.remove(); + + // test without close function removing dialog + d1 = $('<div title="dialog 1">Dialog 1</div>').dialog({modal: true}); + d2 = $('<div title="dialog 2">Dialog 2</div>').dialog({modal: true}); + ok(d1.dialog("isOpen"), 'first dialog is open'); + ok(d2.dialog("isOpen"), 'second dialog is open'); + d2.simulate("keydown", {keyCode: $.ui.keyCode.ESCAPE}); + ok(d1.dialog("isOpen"), 'first dialog still open'); + ok(!d2.dialog("isOpen"), 'second dialog is closed'); + d2.remove(); + d1.remove(); +}); + })(jQuery); diff --git a/tests/unit/menu/menu.html b/tests/unit/menu/menu.html index ed4b950c5..c917f5c4b 100644 --- a/tests/unit/menu/menu.html +++ b/tests/unit/menu/menu.html @@ -39,7 +39,6 @@ <script type="text/javascript" src="menu_events.js"></script> <script type="text/javascript" src="menu_methods.js"></script> <script type="text/javascript" src="menu_options.js"></script> - <script type="text/javascript" src="menu_tickets.js"></script> <script type="text/javascript" src="../swarminject.js"></script> diff --git a/tests/unit/menu/menu_tickets.js b/tests/unit/menu/menu_tickets.js deleted file mode 100644 index 760afd368..000000000 --- a/tests/unit/menu/menu_tickets.js +++ /dev/null @@ -1,8 +0,0 @@ -/* - * menu_tickets.js - */ -(function($) { - -module("menu: tickets"); - -})(jQuery); diff --git a/tests/unit/tooltip/tooltip.html b/tests/unit/tooltip/tooltip.html index ee4b51d46..ee4e92723 100644 --- a/tests/unit/tooltip/tooltip.html +++ b/tests/unit/tooltip/tooltip.html @@ -22,7 +22,6 @@ <script type="text/javascript" src="tooltip_events.js"></script> <script type="text/javascript" src="tooltip_methods.js"></script> <script type="text/javascript" src="tooltip_options.js"></script> - <script type="text/javascript" src="tooltip_tickets.js"></script> <script type="text/javascript" src="../swarminject.js"></script> diff --git a/tests/unit/tooltip/tooltip_tickets.js b/tests/unit/tooltip/tooltip_tickets.js deleted file mode 100644 index 5d6d0ef86..000000000 --- a/tests/unit/tooltip/tooltip_tickets.js +++ /dev/null @@ -1,10 +0,0 @@ -/* - * tooltip_tickets.js - */ -(function($) { - -module("tooltip: tickets"); - - - -})(jQuery); diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 493783896..c14237b6a 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -97,7 +97,7 @@ $.widget("ui.dialog", { // TODO: move to stylesheet .css( "outline", 0 ) .keydown(function( event ) { - if ( options.closeOnEscape && event.keyCode && + if ( options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && event.keyCode === $.ui.keyCode.ESCAPE ) { self.close( event ); event.preventDefault(); @@ -699,7 +699,7 @@ $.extend( $.ui.dialog.overlay, { // allow closing by pressing the escape key $( document ).bind( "keydown.dialog-overlay", function( event ) { - if ( dialog.options.closeOnEscape && event.keyCode && + if ( dialog.options.closeOnEscape && !event.isDefaultPrevented() && event.keyCode && event.keyCode === $.ui.keyCode.ESCAPE ) { dialog.close( event ); diff --git a/ui/jquery.ui.draggable.js b/ui/jquery.ui.draggable.js index 2c473d8aa..304240130 100644 --- a/ui/jquery.ui.draggable.js +++ b/ui/jquery.ui.draggable.js @@ -317,7 +317,9 @@ $.widget("ui.draggable", $.ui.mouse, { _cacheMargins: function() { this.margins = { left: (parseInt(this.element.css("marginLeft"),10) || 0), - top: (parseInt(this.element.css("marginTop"),10) || 0) + top: (parseInt(this.element.css("marginTop"),10) || 0), + right: (parseInt(this.element.css("marginRight"),10) || 0), + bottom: (parseInt(this.element.css("marginBottom"),10) || 0) }; }, @@ -345,10 +347,10 @@ $.widget("ui.draggable", $.ui.mouse, { var over = ($(ce).css("overflow") != 'hidden'); this.containment = [ - co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0) - this.margins.left, - co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0) - this.margins.top, - co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left, - co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top + co.left + (parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0), + co.top + (parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0), + co.left+(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right, + co.top+(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom ]; } else if(o.containment.constructor == Array) { this.containment = o.containment; |