You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ah...@apache.org on 2015/12/02 20:36:18 UTC
[12/12] git commit: [flex-asjs] [refs/heads/core_js_to_as] - fix
drag/drop now that we're finally using cross-compiled version
fix drag/drop now that we're finally using cross-compiled version
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/09439520
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/09439520
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/09439520
Branch: refs/heads/core_js_to_as
Commit: 094395209b74ad544065e56288e382de6a8e1c95
Parents: f6166dd
Author: Alex Harui <ah...@apache.org>
Authored: Wed Dec 2 11:35:41 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Wed Dec 2 11:35:41 2015 -0800
----------------------------------------------------------------------
.../as/src/org/apache/flex/events/DragEvent.as | 24 ++++++++++++++++++--
.../beads/controllers/DropMouseController.as | 10 +++++---
2 files changed, 29 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/09439520/frameworks/projects/DragDrop/as/src/org/apache/flex/events/DragEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/DragDrop/as/src/org/apache/flex/events/DragEvent.as b/frameworks/projects/DragDrop/as/src/org/apache/flex/events/DragEvent.as
index c7dec05..7d9fefb 100644
--- a/frameworks/projects/DragDrop/as/src/org/apache/flex/events/DragEvent.as
+++ b/frameworks/projects/DragDrop/as/src/org/apache/flex/events/DragEvent.as
@@ -296,6 +296,7 @@ package org.apache.flex.events
* @productversion FlexJS 0.0
* @flexjsignorecoercion org.apache.flex.events.DragEvent
* @flexjsignorecoercion window.Event
+ * @flexjsignorecoercion Event
*/
public static function createDragEvent(type:String, event:MouseEvent):DragEvent
{
@@ -314,7 +315,7 @@ package org.apache.flex.events
}
COMPILE::JS
{
- var out:MouseEvent = new MouseEvent(type);
+ var out:window.MouseEvent = new window.MouseEvent(type);
var e:window.Event = event as window.Event;
(out as window.Event).initMouseEvent(type, true, true,
e.view, e.detail, e.screenX, e.screenY,
@@ -349,5 +350,24 @@ package org.apache.flex.events
(target as IUIBase).element.dispatchEvent(event as window.Event);
}
}
- }
+
+ /**
+ */
+ COMPILE::JS
+ private static function installDragEventMixin():Boolean
+ {
+ var o:Object = org.apache.flex.events.ElementEvents.elementEvents;
+ o['dragEnd'] = 1;
+ o['dragMove'] = 1;
+ return true;
+ }
+
+
+ /**
+ * Add some other events to listen from the element
+ */
+ COMPILE::JS
+ private static var dragEventMixin:Boolean = installDragEventMixin();
+
+ }
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/09439520/frameworks/projects/DragDrop/as/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/DragDrop/as/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/projects/DragDrop/as/src/org/apache/flex/html/beads/controllers/DropMouseController.as
index 03afba6..3165241 100644
--- a/frameworks/projects/DragDrop/as/src/org/apache/flex/html/beads/controllers/DropMouseController.as
+++ b/frameworks/projects/DragDrop/as/src/org/apache/flex/html/beads/controllers/DropMouseController.as
@@ -130,6 +130,7 @@ package org.apache.flex.html.beads.controllers
/**
* @private
+ * @flexjsignorecoercion org.apache.flex.events.MouseEvent
*/
private function dragMoveHandler(event:DragEvent):void
{
@@ -137,7 +138,7 @@ package org.apache.flex.html.beads.controllers
var dragEvent:DragEvent;
if (!inside)
{
- dragEvent = DragEvent.createDragEvent("dragEnter", event);
+ dragEvent = DragEvent.createDragEvent("dragEnter", event as MouseEvent);
dispatchEvent(dragEvent);
inside = true;
IUIBase(_strand).topMostEventDispatcher.addEventListener(DragEvent.DRAG_END, dragEndHandler);
@@ -145,7 +146,7 @@ package org.apache.flex.html.beads.controllers
}
else
{
- dragEvent = DragEvent.createDragEvent("dragOver", event);
+ dragEvent = DragEvent.createDragEvent("dragOver", event as MouseEvent);
dispatchEvent(dragEvent);
}
}
@@ -164,12 +165,15 @@ package org.apache.flex.html.beads.controllers
IUIBase(_strand).removeEventListener(MouseEvent.ROLL_OUT, rollOutHandler);
}
+ /**
+ * @flexjsignorecoercion org.apache.flex.events.MouseEvent
+ */
private function dragEndHandler(event:DragEvent):void
{
trace("dragEnd");
var dragEvent:DragEvent;
- dragEvent = DragEvent.createDragEvent("dragDrop", event);
+ dragEvent = DragEvent.createDragEvent("dragDrop", event as MouseEvent);
dispatchEvent(dragEvent);
inside = false;