I don’t think there is a way to refuse the drop when the dragDrop event occurs.
And especially if you want to pause for input.
On 1/18/10 4:19 AM, txakin txa...@yahoo.com wrote:
Hi all,
I have a tree component with an xml file as dataprovider.
I would like to move node from one parent to other one, previously an alert
message.
1.- I drag a node
2.- Before drop this node in new parent node, i want to display an alert
message.
3.- If the user click YES, i want to move the node to the new parent
4.- If the user click NO, i want to cancel the drag and drop event.
Here is my source:
in the tree component i have the next properties:
dropEnabled=true
dragEnabled=true
dragMoveEnabled=true
dragDrop=customDragDrop(event)
allowMultipleSelection=false
The customDragDrop(event) function is:
import mx.events.DragEvent;
import mx.managers.DragManager;
private var queuedEvent:DragEvent;
private function customDragDrop(event:DragEvent): void
{
//Get the data from the dragSource
var items:Object = event.dragSource.dataForFormat(treeItems);
event.stopPropagation();
queuedEvent = event as DragEvent;
var messageText:String = Are you sure you want to move the node
+ items[...@label.touppercase() + ?;
var titleText:String = Warning;
var alert:Alert = Alert.show(messageText, titleText,
Alert.NO | Alert.YES,
this, customDragDropHandler,alertIcon);
}
private function customDragDropHandler(event:CloseEvent):void{
if (event.detail == Alert.NO){
queuedEvent.preventDefault();
queuedEvent.target.hideDropFeedback(queuedEvent);
DragManager.showFeedback(DragManager.NONE);
}
else {
dispatchEvent(queuedEvent);
}
}
I don´t know why i can not get my solution, please i need your help.
Thanks in advance.
--
Alex Harui
Flex SDK Team
Adobe System, Inc.
http://blogs.adobe.com/aharui