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(-)
----------------------------------------------------------------------