You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by yi...@apache.org on 2019/12/03 09:15:33 UTC

[royale-asjs] branch develop updated: MultiSelection drag & drop - require selection for drag

This is an automated email from the ASF dual-hosted git repository.

yishayw pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/develop by this push:
     new e36c42c  MultiSelection drag & drop - require selection for drag
     new b54886c  Merge branch 'develop' of https://github.com/apache/royale-asjs into develop
e36c42c is described below

commit e36c42c471e0eda0d0c58e42c01836d93f51bd0a
Author: DESKTOP-RH4S838\Yishay <yi...@hotmail.com>
AuthorDate: Tue Dec 3 11:14:59 2019 +0200

    MultiSelection drag & drop - require selection for drag
---
 .../apache/royale/html/beads/MultiSelectionDragImageBead.as  | 12 ++++++++++--
 .../apache/royale/html/beads/MultiSelectionDragSourceBead.as |  6 +++++-
 2 files changed, 15 insertions(+), 3 deletions(-)

diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
index 94a2730..0fb795f 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragImageBead.as
@@ -122,7 +122,7 @@ package org.apache.royale.html.beads
 				dragImage.addBead(new HorizontalLayout())
 			}
 			var itemRendererParent:IItemRendererParent = (_strand.getBeadByType(IBeadView) as IListView).dataGroup as IItemRendererParent;
-			var selectedIndices:Array = (_strand.getBeadByType(IMultiSelectionModel) as IMultiSelectionModel).selectedIndices;
+			var selectedIndices:Array = getSelectedIndices();
 			for (var i:int = 0; i < selectedIndices.length; i++)
 			{
 				var ir:IItemRenderer = itemRendererParent.getItemRendererForIndex(selectedIndices[i]);
@@ -141,13 +141,21 @@ package org.apache.royale.html.beads
 			return dragImage;
 		}
 
+		private function getSelectedIndices():Array
+		{
+			return (_strand.getBeadByType(IMultiSelectionModel) as IMultiSelectionModel).selectedIndices;
+		}
+
 		/**
 		 * @private
 		 *
 		 */
 		private function handleDragStart(event:DragEvent):void
 		{
-			DragMouseController.dragImage = createDragImage();
+			if (getSelectedIndices())
+			{
+				DragMouseController.dragImage = createDragImage();
+			}
 		}
 	}
 }
diff --git a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragSourceBead.as b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragSourceBead.as
index ab40159..d7c8929 100644
--- a/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragSourceBead.as
+++ b/frameworks/projects/DragDrop/src/main/royale/org/apache/royale/html/beads/MultiSelectionDragSourceBead.as
@@ -173,11 +173,15 @@ package org.apache.royale.html.beads
 		{
 			//trace("MultiSelectionDragSourceBead received the DragStart");
 
+			var dataProviderModel:IMultiSelectionModel = _strand.getBeadByType(IMultiSelectionModel) as IMultiSelectionModel;
+			if (!dataProviderModel.selectedItems)
+			{
+				return;
+			}
 			DragEvent.dragInitiator = this;
 			DragMouseController.dragImageOffsetX = 0;
 			DragMouseController.dragImageOffsetY = -30;
 
-			var dataProviderModel:IMultiSelectionModel = _strand.getBeadByType(IMultiSelectionModel) as IMultiSelectionModel;
 			DragEvent.dragSource = dataProviderModel.selectedItems;
 
 			var newEvent:Event = new Event("start", false, true);