I recently upgraded to SmartGWT 5.0.  After that, I noticed that the "drag and drop" behavior has changed.  Specifically, I  noticed that a tileRecord will keep flashing once it is dragged from a source tileGrid to a target tileGrid.  I am including a simple test program below that can reproduce the problem.  
The problem was not there when I was using SmartGWT 3.1; but it there now that I am using SmartGWT 5.0. I tried two different snapshots of 5.0 and both had the same problem.
5.0-p20141218
5.0-p20150129
	We tried both Firefox and Chrome and both had the same problem.
							
						
					The problem was not there when I was using SmartGWT 3.1; but it there now that I am using SmartGWT 5.0. I tried two different snapshots of 5.0 and both had the same problem.
5.0-p20141218
5.0-p20150129
Code:
	
	package foo.bar;
import java.util.ArrayList;
import com.google.gwt.core.client.EntryPoint;
import com.smartgwt.client.data.Record;
import com.smartgwt.client.types.DragDataAction;
import com.smartgwt.client.types.SelectionStyle;
import com.smartgwt.client.types.VerticalAlignment;
import com.smartgwt.client.widgets.events.DragStopEvent;
import com.smartgwt.client.widgets.events.DragStopHandler;
import com.smartgwt.client.widgets.events.DropOverEvent;
import com.smartgwt.client.widgets.events.DropOverHandler;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
import com.smartgwt.client.widgets.layout.VStack;
import com.smartgwt.client.widgets.tile.TileGrid;
import com.smartgwt.client.widgets.tile.TileRecord;
import com.smartgwt.client.widgets.tile.events.RecordClickEvent;
import com.smartgwt.client.widgets.tile.events.RecordClickHandler;
import com.smartgwt.client.widgets.tile.events.RecordDoubleClickEvent;
import com.smartgwt.client.widgets.tile.events.RecordDoubleClickHandler;
import com.smartgwt.client.widgets.viewer.DetailViewerField;
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
//  This issue appears from version 5.0:  5.0-p20141218
//  The same code works fine in smartget3.1
//
//  Issue:
// I created 2 tiles: sourceTileList and an empty targetTileList
// User can drag and drop tile from source to target.
// Whenever user click, doubleClikc or drag/drop a tile, the System.out will print out a message to console.
// 
// === How to repeat the problem:
// When user drag and drop the tile "AAAAA" to target, both source and target start flashing.
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
public class TestVersion50 implements EntryPoint {
    private  TileGrid sourceList  = null;
    private  TileGrid targetList = null;
    private final HLayout hLayout = new HLayout(10);
    
    @Override
    public void onModuleLoad() {
        VLayout vLayout = new VLayout(20);  
        vLayout.setMargin(10);  
        vLayout.setWidth100();
        vLayout.setHeight100();
        
  
        createDragDropList();
  
        vLayout.addMember(hLayout);  
        vLayout.draw();  
    }
    private void createDragDropList(){
        sourceList = new TileGrid(){
            @Override
            protected String getTileHTML(Record record) {
                String tileHTML = super.getTileHTML(record);
                String title = record.getAttribute("title");
                return "<div title=\"" + title + "\">" + tileHTML + "<div/>";
            }
        };
        sourceList.setWidth("55%");
        sourceList.setHeight("100%");
        sourceList.setTileWidth(100);
        sourceList.setTileHeight(100);
        sourceList.setWrapValues(true);
        sourceList.setCanAcceptDrop(false);
        sourceList.setCanDragTilesOut(true);
        sourceList.setDragDataAction(DragDataAction.COPY);
        sourceList.setCanReorderTiles(false);
        sourceList.setCanDrag(false);  // this call make the new dim added to the end, not the beginning.
        sourceList.setShowEdges(true);
        sourceList.setPreventDuplicates(true);
        sourceList.setShowAllRecords(true);
        sourceList.setSelectionType(SelectionStyle.SINGLE);
        sourceList.addRecordDoubleClickHandler(new RecordDoubleClickHandler(){
            @Override
            public void onRecordDoubleClick(RecordDoubleClickEvent event) {
                System.out.println("Click on sourceList: onRecordDoubleClick");
            }
        });
        ArrayList<TileRecord> arr = new ArrayList<TileRecord>();
        TileRecord onerec;
 
          onerec = new TileRecord();
          onerec.setAttribute("dimensionName", "AAAAA");
          onerec.setAttribute("dimensionEnumName",  "AAAAA");
          onerec.setAttribute("title", "AAAAA");
          arr.add(onerec);
              
              
        DetailViewerField pictureField = new DetailViewerField("dimensionIcon");
        pictureField.setType("image");
        pictureField.setImageURLPrefix("");
        DetailViewerField nameField = new DetailViewerField("dimensionName");
        sourceList.setFields(pictureField, nameField);
        sourceList.setData( arr.toArray (new TileRecord[arr.size()]) );
        sourceList.addRecordClickHandler(new RecordClickHandler() {
            @Override
            public void onRecordClick(RecordClickEvent event) {
                System.out.println("Click on sourceList: onRecordClick");
            }
         });
        targetList = new TileGrid();
        targetList.setWidth("40%");
        targetList.setHeight("100%");
        targetList.setTileWidth(100);
        targetList.setTileHeight(100);
        targetList.setCanAcceptDrop(true);
        targetList.setCanDragTilesOut(true);
        targetList.setDragDataAction(DragDataAction.MOVE);
        targetList.setCanReorderTiles(false);
        targetList.setCanDrag(false);  // this call make the new dim added to the end, not the beginning.
        targetList.setShowEdges(true);
        targetList.setPreventDuplicates(true);
        DetailViewerField pictureField2 = new DetailViewerField("savedIcon");
        pictureField2.setType("image");
        pictureField2.setImageURLPrefix("");
        DetailViewerField nameField2 = new DetailViewerField("dimensionName");
        targetList.setFields(pictureField2, nameField2);
        targetList.setData(new Record[]{});
        targetList.addRecordDoubleClickHandler(new RecordDoubleClickHandler(){
            @Override
            public void onRecordDoubleClick(RecordDoubleClickEvent event) {
                System.out.println("Click on targetList: onRecordDoubleClick");
            }
        });
        targetList.addDropOverHandler(new DropOverHandler(){
            @Override
            public void onDropOver(DropOverEvent event) {
                System.out.println("Click on targetList: addDropOverHandler");
            }
        }
        );
        targetList.addRecordClickHandler(new RecordClickHandler() {
            @Override
            public void onRecordClick(RecordClickEvent event) {
                System.out.println("Click on targetList: onRecordClick");
            }
         });
        targetList.addDragStopHandler(new DragStopHandler(){
            @Override
            public void onDragStop(DragStopEvent event) {
                System.out.println("Click on targetList: onDragStop");
            }
        });
        VStack transferStack = new VStack(3);
        transferStack.setHeight(400);
        transferStack.setWidth("16%");
        transferStack.setAlign(VerticalAlignment.CENTER);
        
        hLayout.addMember(sourceList);
        hLayout.addMember(targetList);
        return;
    }
    
    
}

Comment