You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by yi...@apache.org on 2016/11/27 15:08:02 UTC

[1/2] git commit: [flex-asjs] [refs/heads/develop] - Works around FLEX-35185

Repository: flex-asjs
Updated Branches:
  refs/heads/develop 099e208fa -> a010c7836


Works around FLEX-35185


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/f074ed4d
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/f074ed4d
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/f074ed4d

Branch: refs/heads/develop
Commit: f074ed4d5968b23f95258dba4ad288d19b9276ea
Parents: 11e0f75
Author: yishayw <yi...@hotmail.com>
Authored: Sun Nov 27 17:06:36 2016 +0200
Committer: yishayw <yi...@hotmail.com>
Committed: Sun Nov 27 17:06:36 2016 +0200

----------------------------------------------------------------------
 .../flex/org/apache/flex/events/MouseEvent.as   | 27 +++++++++++++++-----
 .../flex/events/utils/MouseEventConverter.as    |  3 ++-
 2 files changed, 22 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f074ed4d/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
index a6f4e3c..c135eb0 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/MouseEvent.as
@@ -20,9 +20,9 @@ package org.apache.flex.events
 {
     COMPILE::SWF
     {
+        import flash.display.InteractiveObject;
         import flash.events.Event;
         import flash.events.MouseEvent;
-		import flash.display.InteractiveObject;
     }
     COMPILE::JS
     {
@@ -79,7 +79,7 @@ package org.apache.flex.events
                                    ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false,
                                    buttonDown:Boolean = false, delta:int = 0,
                                    commandKey:Boolean = false, controlKey:Boolean = false,
-                                   clickCount:int = 0)
+                                   clickCount:int = 0, targetBeforeBubbling:IEventDispatcher = null)
 		{
 			super(type, bubbles, cancelable);
 
@@ -91,6 +91,7 @@ package org.apache.flex.events
             this.shiftKey = shiftKey;
             this.buttonDown = buttonDown;
             this.delta = delta;
+			this.targetBeforeBubbling = targetBeforeBubbling;
 		}
 
         // these map directly to JS MouseEvent fields.
@@ -112,6 +113,8 @@ package org.apache.flex.events
         }
 
         private var _stagePoint:Point;
+		// TODO remove this when figure out how to preserve the real target
+        public var targetBeforeBubbling:Object;
 
         public function get screenX():Number
         {
@@ -119,7 +122,8 @@ package org.apache.flex.events
             if (!_stagePoint)
             {
                 var localPoint:Point = new Point(localX, localY);
-                _stagePoint = PointUtils.localToGlobal(localPoint, target);
+				var referenceObject:Object = targetBeforeBubbling ? targetBeforeBubbling : target;
+                _stagePoint = PointUtils.localToGlobal(localPoint, referenceObject);
             }
             return _stagePoint.x;
         }
@@ -130,7 +134,8 @@ package org.apache.flex.events
             if (!_stagePoint)
             {
                 var localPoint:Point = new Point(localX, localY);
-                _stagePoint = PointUtils.localToGlobal(localPoint, target);
+				var referenceObject:Object = targetBeforeBubbling ? targetBeforeBubbling : target;
+                _stagePoint = PointUtils.localToGlobal(localPoint, referenceObject);
             }
             return _stagePoint.y;
         }
@@ -153,10 +158,12 @@ package org.apache.flex.events
          */
         public function cloneEvent():IFlexJSEvent
         {
-            return new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
+            var e:org.apache.flex.events.MouseEvent = new org.apache.flex.events.MouseEvent(type, bubbles, cancelable,
                 localX, localY, relatedObject, ctrlKey, altKey, shiftKey,
                 buttonDown, delta
                 /* got errors for commandKey, commandKey, controlKey, clickCount*/);
+			e.targetBeforeBubbling = targetBeforeBubbling;
+			return e;
         }
 
         /**
@@ -215,7 +222,7 @@ package org.apache.flex.events
 								   ctrlKey:Boolean = false, altKey:Boolean = false, shiftKey:Boolean = false,
 								   buttonDown:Boolean = false, delta:int = 0,
 								   commandKey:Boolean = false, controlKey:Boolean = false,
-								   clickCount:int = 0)
+								   clickCount:int = 0, targetBeforeBubbling:IEventDispatcher = null)
 		{
 			super(type, bubbles, cancelable);
 
@@ -264,6 +271,12 @@ package org.apache.flex.events
 		public var controlKey:Boolean;
 		public var clickCount:int;
 
+		// TODO remove this when figure out how to preserve the real target
+		// The problem only manifests in SWF, so this alias is good enough for now
+		public function get targetBeforeBubbling():Object
+		{
+			return target;
+		}
 		// these map directly to JS MouseEvent fields.
 		public function get clientX():Number
 		{
@@ -283,7 +296,7 @@ package org.apache.flex.events
 		}
 
 		private var _stagePoint:Point;
-
+	
 		public function get screenX():Number
 		{
 			if (!target) return localX;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/f074ed4d/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
----------------------------------------------------------------------
diff --git a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
index d0f1e51..039d183 100644
--- a/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
+++ b/frameworks/projects/Core/src/main/flex/org/apache/flex/events/utils/MouseEventConverter.as
@@ -23,7 +23,7 @@ package org.apache.flex.events.utils
     import flash.events.MouseEvent;
     
     import org.apache.flex.events.MouseEvent;
-	import org.apache.flex.events.utils.IHandlesOriginalEvent;
+    import org.apache.flex.events.utils.IHandlesOriginalEvent;
     
 	/**
 	 *  Mouse events conversion.
@@ -89,6 +89,7 @@ package org.apache.flex.events.utils
                 {
                     // some events are not converted if there are no JS equivalents
                     event.stopImmediatePropagation();
+					newEvent.targetBeforeBubbling = event.target;
                     event.target.dispatchEvent(newEvent);
                 }
                 else


[2/2] git commit: [flex-asjs] [refs/heads/develop] - Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop

Posted by yi...@apache.org.
Merge branch 'develop' of https://git-wip-us.apache.org/repos/asf/flex-asjs into develop


Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/a010c783
Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/a010c783
Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/a010c783

Branch: refs/heads/develop
Commit: a010c78360717b663143cde2b368ed4a959a2d81
Parents: f074ed4 099e208
Author: yishayw <yi...@hotmail.com>
Authored: Sun Nov 27 17:07:51 2016 +0200
Committer: yishayw <yi...@hotmail.com>
Committed: Sun Nov 27 17:07:51 2016 +0200

----------------------------------------------------------------------
 .../flexjs/MDLExample/src/main/flex/Lists.mxml  | 42 +++++++++++++++++++-
 .../src/main/flex/org/apache/flex/html/List.as  | 15 +++++--
 .../org/apache/flex/html/beads/ContainerView.as |  4 +-
 3 files changed, 54 insertions(+), 7 deletions(-)
----------------------------------------------------------------------