From b9be6bb7ad107fd48b28e31df972b2037c47c2cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Thu, 7 Mar 2013 12:55:00 -0500 Subject: [PATCH] Sortable: Copy the src of the original item when creating a placeholder from an image. Fixes #5129 - Sortable: Unable to use an image as a placeholder in Firefox. --- tests/unit/sortable/sortable.html | 7 +++++++ tests/unit/sortable/sortable_options.js | 21 +++++++++++++++++---- ui/jquery.ui.sortable.js | 2 ++ 3 files changed, 26 insertions(+), 4 deletions(-) diff --git a/tests/unit/sortable/sortable.html b/tests/unit/sortable/sortable.html index 6e326a865..5e21a49da 100644 --- a/tests/unit/sortable/sortable.html +++ b/tests/unit/sortable/sortable.html @@ -84,6 +84,13 @@ +
+ + + + +
+ diff --git a/tests/unit/sortable/sortable_options.js b/tests/unit/sortable/sortable_options.js index fe50be002..caba0a777 100644 --- a/tests/unit/sortable/sortable_options.js +++ b/tests/unit/sortable/sortable_options.js @@ -5,10 +5,6 @@ module("sortable: options"); -// this is here to make JSHint pass "unused", and we don't want to -// remove the parameter for when we finally implement -$.noop(); - /* test("{ appendTo: 'parent' }, default", function() { ok(false, "missing test - untested code is broken code."); @@ -186,6 +182,23 @@ test("{ placeholder: false }, default", function() { ok(false, "missing test - untested code is broken code."); }); */ + +test( "{ placeholder: false } img", function() { + expect( 3 ); + + var element = $( "#sortable-images" ).sortable({ + start: function( event, ui ) { + equal( ui.placeholder.attr( "src" ), "../images/jqueryui_32x32.png", "placeholder img has correct src" ); + equal( ui.placeholder.height(), 32, "placeholder has correct height" ); + equal( ui.placeholder.width(), 32, "placeholder has correct width" ); + } + }); + + element.find( "img" ).eq( 0 ).simulate( "drag", { + dy: 1 + }); +}); + test( "{ placeholder: String }", function() { expect( 1 ); diff --git a/ui/jquery.ui.sortable.js b/ui/jquery.ui.sortable.js index f095ce9c5..93c6cccc5 100644 --- a/ui/jquery.ui.sortable.js +++ b/ui/jquery.ui.sortable.js @@ -762,6 +762,8 @@ $.widget("ui.sortable", $.ui.mouse, { // width of the table (browsers are smart enough to // handle this properly) element.append( " " ); + } else if ( nodeName === "img" ) { + element.attr( "src", that.currentItem.attr( "src" ) ); } if ( !className ) {