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;