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/01/06 00:21:20 UTC

[01/16] git commit: [flex-asjs] [refs/heads/develop] - type cast so getters and setters are used

Repository: flex-asjs
Updated Branches:
  refs/heads/develop c7099238d -> c375ffd25


type cast so getters and setters are used


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

Branch: refs/heads/develop
Commit: 4b9f33c4ea1467f2ceeaf3e38477cf81bab5b3ad
Parents: faed8de
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:08:47 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:20:59 2015 -0800

----------------------------------------------------------------------
 examples/FlexJSStore/src/productsView/ProductList.mxml | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/4b9f33c4/examples/FlexJSStore/src/productsView/ProductList.mxml
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/productsView/ProductList.mxml b/examples/FlexJSStore/src/productsView/ProductList.mxml
index 2d54ed7..b15c22f 100755
--- a/examples/FlexJSStore/src/productsView/ProductList.mxml
+++ b/examples/FlexJSStore/src/productsView/ProductList.mxml
@@ -115,7 +115,7 @@ limitations under the License.
             var ret:Array = [];
             for (var i:int = 0; i < items.length; i++)
             {
-                ret[i] = items[i].product;
+                ret[i] = ProductListItem(items[i]).product;
             }
             return ret;
         }
@@ -182,7 +182,7 @@ limitations under the License.
             var n:int = items.length;
 			for (var i:int = 0; i < items.length; i++)
 			{
-                if (items[i].product.productId == productId)
+                if (ProductListItem(items[i]).product.productId == productId)
 				{
                     index = i;
                     break;


[13/16] git commit: [flex-asjs] [refs/heads/develop] - when dispatching some events, target doesn't get set so fallback to using currentTarget which seems to work for now

Posted by ah...@apache.org.
when dispatching some events, target doesn't get set so fallback to using currentTarget which seems to work for now


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

Branch: refs/heads/develop
Commit: 98487bfc74e24ca43957c363c9fa27190d66bd7e
Parents: 7487a05
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 14:28:32 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:02 2015 -0800

----------------------------------------------------------------------
 .../js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/98487bfc/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
index 4eca663..be0426a 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
@@ -138,8 +138,10 @@ org.apache.flex.core.HTMLElementWrapper.prototype.removeBead = function(bead) {
  * @return {Object} The wrapping object.
  */
 Event.prototype.get_target = function() {
-  var obj = this.target.flexjs_wrapper;
-  return obj;
+  var obj = this.target;
+  if (!obj)
+    return this.currentTarget;
+  return obj.flexjs_wrapper;
 };
 
 


[09/16] git commit: [flex-asjs] [refs/heads/develop] - dispatch certain events from the element

Posted by ah...@apache.org.
dispatch certain events from the element


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

Branch: refs/heads/develop
Commit: 726e1cdf80779a80c4ef1fc9f79f215453177a2a
Parents: 03d6279
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:15:35 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:01 2015 -0800

----------------------------------------------------------------------
 frameworks/js/FlexJS/src/org/apache/flex/html/Button.js | 12 ++++++++++++
 1 file changed, 12 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/726e1cdf/frameworks/js/FlexJS/src/org/apache/flex/html/Button.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/html/Button.js b/frameworks/js/FlexJS/src/org/apache/flex/html/Button.js
index 671c7d2..ab9f3b9 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/html/Button.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/html/Button.js
@@ -58,3 +58,15 @@ org.apache.flex.html.Button.prototype.createElement =
   return this.element;
 };
 
+
+/**
+ * @override
+ * Buttons dispatch events off the element.
+ */
+org.apache.flex.html.Button.prototype.dispatchEvent =
+    function(e) {
+  if (this.element && typeof(e) != 'string')
+    return this.element.dispatchEvent(e);
+  return org.apache.flex.html.Button.base(this, 'dispatchEvent', e);
+};
+


[03/16] git commit: [flex-asjs] [refs/heads/develop] - fix backgroundImage handling

Posted by ah...@apache.org.
fix backgroundImage handling


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

Branch: refs/heads/develop
Commit: 693d4e6ba93db6ac0a0113d58293ffc08fc18861
Parents: 17da25b
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:12:30 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:00 2015 -0800

----------------------------------------------------------------------
 .../js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js    | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/693d4e6b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
index 25b953d..68ead66 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/SimpleCSSValuesImpl.js
@@ -306,6 +306,10 @@ org.apache.flex.core.SimpleCSSValuesImpl.prototype.applyStyles =
       else
         value = value.toString() + 'px';
     }
+    else if (p == 'backgroundImage') {
+      if (p.indexOf('url') !== 0)
+        value = 'url(' + value + ')';
+    }
     thisObject.element.style[p] = value;
   }
 };


[16/16] git commit: [flex-asjs] [refs/heads/develop] - drag and drop in JS

Posted by ah...@apache.org.
drag and drop in JS


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

Branch: refs/heads/develop
Commit: c375ffd25be06c5477ed7f78e677b18c91888d57
Parents: 98487bf
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 14:29:18 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:03 2015 -0800

----------------------------------------------------------------------
 .../src/productsView/ProductCatalogPanel.mxml   |  4 +-
 .../src/productsView/ProductList.mxml           |  2 +-
 .../beads/controllers/DragMouseController.as    | 47 +++----------
 .../beads/controllers/DropMouseController.as    | 37 +++++------
 .../src/org/apache/flex/events/DragEvent.as     | 69 +++++++++++++++-----
 .../src/org/apache/flex/events/DragEvent.js     | 68 ++++++++++++-------
 6 files changed, 125 insertions(+), 102 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/examples/FlexJSStore/src/productsView/ProductCatalogPanel.mxml
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/productsView/ProductCatalogPanel.mxml b/examples/FlexJSStore/src/productsView/ProductCatalogPanel.mxml
index 836b694..92e231a 100755
--- a/examples/FlexJSStore/src/productsView/ProductCatalogPanel.mxml
+++ b/examples/FlexJSStore/src/productsView/ProductCatalogPanel.mxml
@@ -133,14 +133,14 @@ limitations under the License.
             if (DragMouseController.dragging == false)
             {
                 var thumb:ProductCatalogThumbnail = event.target as ProductCatalogThumbnail;
-                DragMouseController.dragSource = thumb.product;
+                DragEvent.dragSource = thumb.product;
 
                 var di:ProductCatalogThumbnail = new ProductCatalogThumbnail();
                 di.product = thumb.product;
                 di.currentState = thumb.currentState;
                 DragMouseController.dragImage = di;
                 
-                DragMouseController.dragInitiator = this;
+                DragEvent.dragInitiator = this;
             }    
         }
         

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/examples/FlexJSStore/src/productsView/ProductList.mxml
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/productsView/ProductList.mxml b/examples/FlexJSStore/src/productsView/ProductList.mxml
index b15c22f..8f44786 100755
--- a/examples/FlexJSStore/src/productsView/ProductList.mxml
+++ b/examples/FlexJSStore/src/productsView/ProductList.mxml
@@ -201,7 +201,7 @@ limitations under the License.
         private function doDragDrop(event:DragEvent):void
         {
             trace("doDragDrop");
-            var product:Product = event.dragSource as Product;
+            var product:Product = DragEvent.dragSource as Product;
             addProduct(product);
         }  
  

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
index 321a91a..d9be00e 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
@@ -79,28 +79,6 @@ package org.apache.flex.html.beads.controllers
 	public class DragMouseController extends EventDispatcher implements IBead
 	{
         /**
-         *  The data being dragged. Or an instance
-         *  of an object describing the data.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragSource:Object;
-        
-        /**
-         *  The object that wants to know if a
-         *  drop is accepted.
-         *  
-         *  @langversion 3.0
-         *  @playerversion Flash 10.2
-         *  @playerversion AIR 2.6
-         *  @productversion FlexJS 0.0
-         */
-        public static var dragInitiator:IDragInitiator;
-        
-        /**
          *  Whether there is a drag operation
          *  in progress.
          *  
@@ -228,10 +206,9 @@ package org.apache.flex.html.beads.controllers
                     Math.abs(event.screenY - mouseDownY) > threshold)
                 {
                     trace("sending dragStart");
-                    dragEvent = new DragEvent("dragStart", true, true);
-                    dragEvent.copyMouseEventProperties(event);
-                    IEventDispatcher(_strand).dispatchEvent(dragEvent);
-                    if (dragSource != null)
+                    dragEvent = DragEvent.createDragEvent("dragStart", event);
+                    DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(_strand));
+                    if (DragEvent.dragSource != null)
                     {
                         dragging = true;
                         host = UIUtils.findPopUpHost(_strand as IUIBase);
@@ -245,14 +222,11 @@ package org.apache.flex.html.beads.controllers
             else
             {
                 trace("sending dragMove", event.target);
-                dragEvent = new DragEvent("dragMove", true, true);
-                dragEvent.copyMouseEventProperties(event);
-                dragEvent.dragSource = dragSource;
-                dragEvent.dragInitiator = dragInitiator;
+                dragEvent = DragEvent.createDragEvent("dragMove", event);
                 pt = PointUtils.globalToLocal(new Point(event.screenX, event.screenY), host);
                 dragImage.x = pt.x + dragImageOffsetX;
                 dragImage.y = pt.y + dragImageOffsetY;
-                event.target.dispatchEvent(dragEvent);
+                DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(event.target));
             }
         }
         
@@ -264,15 +238,12 @@ package org.apache.flex.html.beads.controllers
             if (dragging)
             {
                 trace("sending dragEnd");
-                dragEvent = new DragEvent("dragEnd", true, true);
-                dragEvent.copyMouseEventProperties(event);
-                dragEvent.dragSource = dragSource;
-                dragEvent.dragInitiator = dragInitiator;
-                event.target.dispatchEvent(dragEvent);
+                dragEvent = DragEvent.createDragEvent("dragEnd", event);
+                DragEvent.dispatchDragEvent(dragEvent, IEventDispatcher(event.target));
             }
             dragging = false;
-            dragSource = null;
-            dragInitiator = null;
+            DragEvent.dragSource = null;
+            DragEvent.dragInitiator = null;
             if (dragImage && host)
                 host.removeElement(dragImage);
             dragImage = null;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
index 1b32f31..03afba6 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
@@ -51,6 +51,17 @@ package org.apache.flex.html.beads.controllers
     [Event(name="dragOver", type="org.apache.flex.events.DragEvent")]
     
     /**
+     *  Indicates that the mouse is moving out of a component during
+     *  a drag/drop operation.
+     *  
+     *  @langversion 3.0
+     *  @playerversion Flash 10.2
+     *  @playerversion AIR 2.6
+     *  @productversion FlexJS 0.0
+     */
+    [Event(name="dragExit", type="org.apache.flex.events.DragEvent")]
+    
+    /**
      *  Indicates that a drop operation should be executed.
      *  
      *  @langversion 3.0
@@ -126,10 +137,7 @@ package org.apache.flex.html.beads.controllers
             var dragEvent:DragEvent;
             if (!inside)
             {
-                dragEvent = new DragEvent("dragEnter", true, true);
-                dragEvent.copyMouseEventProperties(event);
-                dragSource = dragEvent.dragSource = event.dragSource;
-                dragInitiator = dragEvent.dragInitiator = event.dragInitiator;
+                dragEvent = DragEvent.createDragEvent("dragEnter", event);
                 dispatchEvent(dragEvent);
                 inside = true;
                 IUIBase(_strand).topMostEventDispatcher.addEventListener(DragEvent.DRAG_END, dragEndHandler);
@@ -137,11 +145,8 @@ package org.apache.flex.html.beads.controllers
             }
             else
             {
-                dragEvent = new DragEvent("dragOver", true, true);
-                dragEvent.copyMouseEventProperties(event);
-                dragEvent.dragSource = event.dragSource;
-                dragEvent.dragInitiator = event.dragInitiator;
-                IEventDispatcher(_strand).dispatchEvent(dragEvent);
+                dragEvent = DragEvent.createDragEvent("dragOver", event);
+                dispatchEvent(dragEvent);
             }
         }
         
@@ -151,12 +156,7 @@ package org.apache.flex.html.beads.controllers
             
             if (inside)
             {
-                dragEvent = new DragEvent("dragExit", true, true);
-                dragEvent.copyMouseEventProperties(event);
-                dragEvent.dragSource = dragSource;
-                dragEvent.dragInitiator = dragInitiator;
-                dragSource = null;
-                dragInitiator = null;
+                dragEvent = DragEvent.createDragEvent("dragExit", event);
                 dispatchEvent(dragEvent);
                 inside = false;
             }
@@ -169,12 +169,7 @@ package org.apache.flex.html.beads.controllers
             trace("dragEnd");
             var dragEvent:DragEvent;
             
-            dragEvent = new DragEvent("dragDrop", true, true);
-            dragEvent.copyMouseEventProperties(event);
-            dragEvent.dragSource = event.dragSource;
-            dragEvent.dragInitiator = event.dragInitiator;
-            dragSource = null;
-            dragInitiator = null;
+            dragEvent = DragEvent.createDragEvent("dragDrop", event);
             dispatchEvent(dragEvent);
             
             inside = false;

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as
index 9b46dd5..406ad9d 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/DragEvent.as
@@ -228,7 +228,34 @@ package org.apache.flex.events
         public static const DRAG_DROP:String = "dragDrop";
         
         /**
-         *  Constructor.
+         *  The object that wants to know if a drop is accepted
+         *  
+         *  @param type The name of the event.
+         *  @param bubbles Whether the event bubbles.
+         *  @param cancelable Whether the event can be canceled.
+         * 
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public static var dragInitiator:IDragInitiator;
+        
+        /**
+         *  The data being dragged. Or an instance
+         *  of an object describing the data.
+         *  
+         *  @langversion 3.0
+         *  @playerversion Flash 10.2
+         *  @playerversion AIR 2.6
+         *  @productversion FlexJS 0.0
+         */
+        public static var dragSource:Object;
+        
+
+        /**
+         *  Constructor.  Do not call 'new DragEvent', use the
+         *  createDragEvent method instead.
          *  
          *  @param type The name of the event.
          *  @param bubbles Whether the event bubbles.
@@ -245,40 +272,46 @@ package org.apache.flex.events
 		}
 
         /**
-         *  The object that wants to know if a drop is accepted
+         *  Factory for DragEvents.
          *  
          *  @param type The name of the event.
-         *  @param bubbles Whether the event bubbles.
-         *  @param cancelable Whether the event can be canceled.
+         *  @param event The MouseEvent properties to copy into the DragEvent.
+         *  @return The new DragEvent.
          * 
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public var dragInitiator:IDragInitiator;
+        public static function createDragEvent(type:String, event:MouseEvent):DragEvent
+        {
+            var de:DragEvent = new DragEvent(type, true, true);
+            de.localX = event.localX;
+            de.localY = event.localY;
+            de.altKey = event.altKey;
+            de.ctrlKey = event.ctrlKey;
+            de.shiftKey = event.shiftKey;
+            de.buttonDown = event.buttonDown;
+            de.delta = event.delta;
+            de.relatedObject = event.relatedObject;
+            return de;
+        }
+        
         
         /**
-         *  The data being dragged. Or an instance
-         *  of an object describing the data.
+         *  Dispatch a DragEvent
          *  
+         *  @param event The DragEvent to dispatch.
+         *  @param target The target to dispatch the event from.
+         * 
          *  @langversion 3.0
          *  @playerversion Flash 10.2
          *  @playerversion AIR 2.6
          *  @productversion FlexJS 0.0
          */
-        public var dragSource:Object;
-        
-        public function copyMouseEventProperties(event:MouseEvent):void
+        public static function dispatchDragEvent(event:DragEvent, target:IEventDispatcher):void
         {
-            localX = event.localX;
-            localY = event.localY;
-            altKey = event.altKey;
-            ctrlKey = event.ctrlKey;
-            shiftKey = event.shiftKey;
-            buttonDown = event.buttonDown;
-            delta = event.delta;
-            relatedObject = event.relatedObject;
+            target.dispatchEvent(event);
         }
 	}
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/c375ffd2/frameworks/js/FlexJS/src/org/apache/flex/events/DragEvent.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/DragEvent.js b/frameworks/js/FlexJS/src/org/apache/flex/events/DragEvent.js
index 34395e4..648821a 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/DragEvent.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/DragEvent.js
@@ -14,6 +14,9 @@
 
 goog.provide('org.apache.flex.events.DragEvent');
 
+goog.require('goog.events.BrowserEvent');
+goog.require('org.apache.flex.events.EventDispatcher');
+
 
 
 /**
@@ -22,16 +25,16 @@ goog.provide('org.apache.flex.events.DragEvent');
  * sent with additional properties like dragInitiator and
  * dragSource tacked on.
  *
- * @extends {MouseEvent}
+ * @extends {goog.events.BrowserEvent}
  * @param {string} type The event type.
  */
 org.apache.flex.events.DragEvent = function(type) {
-  window.MouseEvent.base(this, 'constructor', type);
+  org.apache.flex.events.DragEvent.base(this, 'constructor');
 
   this.type = type;
 };
 goog.inherits(org.apache.flex.events.DragEvent,
-    window.MouseEvent);
+    goog.events.BrowserEvent);
 
 
 /**
@@ -47,32 +50,32 @@ org.apache.flex.events.DragEvent.prototype.FLEXJS_CLASS_INFO =
 /**
  * @expose
  * @param {string} type The event type.
+ * @param {Event} event The mouse event to base the DragEvent on.
+ * @return {MouseEvent} The new event.
  */
-org.apache.flex.events.DragEvent.prototype.init = function(type) {
-  this.type = type;
+org.apache.flex.events.DragEvent.createDragEvent =
+    function(type, event) {
+  var out = new MouseEvent(type);
+  out.initMouseEvent(type, true, true);
+  out.screenX = event.screenX;
+  out.screenY = event.screenY;
+  out.clientX = event.clientX;
+  out.clientY = event.clientY;
+  out.ctrlKey = event.ctrlKey;
+  out.shiftKey = event.shiftKey;
+  out.alttKey = event.altKey;
+  return out;
 };
 
 
 /**
  * @expose
- * @type {Object} dragInitiator The object that started the drag.
- */
-org.apache.flex.events.DragEvent.prototype.dragInitiator = null;
-
-
-/**
- * @expose
- * @type {Object} dragSource The data being dragged.
- */
-org.apache.flex.events.DragEvent.prototype.dragSource = null;
-
-
-/**
- * @expose
- * @param {MouseEvent} event The mouse event to copy.
+ * @param {Event} event The drag event.
+ * @param {Object} target The target for the event.
  */
-org.apache.flex.events.DragEvent.prototype.copyMouseEventProperties =
-    function(event) {
+org.apache.flex.events.DragEvent.dispatchDragEvent =
+    function(event, target) {
+  target.element.dispatchEvent(event);
 };
 
 
@@ -123,3 +126,24 @@ org.apache.flex.events.DragEvent.DRAG_EXIT = 'dragExit';
  * @type {string} DRAG_DROP The event type for dropping on a target.
  */
 org.apache.flex.events.DragEvent.DRAG_DROP = 'dragDrop';
+
+
+/**
+ * @return {boolean}
+ */
+org.apache.flex.events.DragEvent.installDragEventMixin = function() {
+  var o = org.apache.flex.events.EventDispatcher.elementEvents;
+  o.dragEnd = 1;
+  o.dragMove = 1;
+  return true;
+};
+
+
+/**
+ * Add some other events to listen from the element
+ */
+/**
+ * @type {boolean}
+ */
+org.apache.flex.events.DragEvent.dragEventMixin =
+    org.apache.flex.events.DragEvent.installDragEventMixin();


[04/16] git commit: [flex-asjs] [refs/heads/develop] - use screenXY and clientXY

Posted by ah...@apache.org.
use screenXY and clientXY


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

Branch: refs/heads/develop
Commit: 17da25b19b681a992fe74030f2d133914a172757
Parents: 828d0b4
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:11:32 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:00 2015 -0800

----------------------------------------------------------------------
 .../FlexJSUI/src/org/apache/flex/events/MouseEvent.as     | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/17da25b1/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as
index dabdf35..ad54ddf 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/events/MouseEvent.as
@@ -85,6 +85,7 @@ package org.apache.flex.events
         public function set localX(value:Number):void
         {
             _localX = value;
+            clientX = value;
             _stagePoint = null;
         }
         
@@ -96,6 +97,7 @@ package org.apache.flex.events
         public function set localY(value:Number):void
         {
             _localY = value;
+            clientY = value;
             _stagePoint = null;
         }
         
@@ -109,9 +111,13 @@ package org.apache.flex.events
         public var controlKey:Boolean;
         public var clickCount:int;
         
+        // these map directly to JS MouseEvent fields.
+        public var clientX:Number;
+        public var clientY:Number;
+        
         private var _stagePoint:Point;
         
-        public function get stageX():Number
+        public function get screenX():Number
         {
             if (!target) return localX;
             if (!_stagePoint)
@@ -122,7 +128,7 @@ package org.apache.flex.events
             return _stagePoint.x;
         }
         
-        public function get stageY():Number
+        public function get screenY():Number
         {
             if (!target) return localY;
             if (!_stagePoint)


[10/16] git commit: [flex-asjs] [refs/heads/develop] - listen for mouse events from the element

Posted by ah...@apache.org.
listen for mouse events from the element


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

Branch: refs/heads/develop
Commit: 71df7b13cbbd525eae49201ec814c7525c665be0
Parents: 73f9b83
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:13:53 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:01 2015 -0800

----------------------------------------------------------------------
 .../src/org/apache/flex/events/EventDispatcher.js    | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/71df7b13/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js b/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
index 24c4ae2..fd11a82 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
@@ -59,6 +59,9 @@ org.apache.flex.events.EventDispatcher.prototype.addEventListener =
       this.element.nodeName.toLowerCase() !== 'div' &&
       this.element.nodeName.toLowerCase() !== 'body') {
     source = this.element;
+  } else if (this.elementEvents[type]) {
+    // mouse and keyboard events also dispatch off the element.
+    source = this.element;
   }
 
   goog.events.listen(source, type, handler);
@@ -95,3 +98,15 @@ function(obj, propName, value) {
   }
 };
 
+
+/**
+ * @type {Object}
+ */
+org.apache.flex.events.EventDispatcher.prototype.elementEvents = {
+  mouseover: 1,
+  mouseout: 1,
+  mouseup: 1,
+  mousedown: 1,
+  mousemove: 1
+};
+


[06/16] git commit: [flex-asjs] [refs/heads/develop] - use screenXY and don't use stopImmediateProp as it doesn't exist in google closure library

Posted by ah...@apache.org.
use screenXY and don't use stopImmediateProp as it doesn't exist in google closure library


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

Branch: refs/heads/develop
Commit: 828d0b4ef59220955a487fc079407dddb3171d20
Parents: 22666df
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:10:30 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:00 2015 -0800

----------------------------------------------------------------------
 .../html/beads/controllers/DragMouseController.as     | 14 ++++++--------
 .../html/beads/controllers/DropMouseController.as     |  2 --
 2 files changed, 6 insertions(+), 10 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/828d0b4e/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
index 5cb5f54..321a91a 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DragMouseController.as
@@ -211,8 +211,8 @@ package org.apache.flex.html.beads.controllers
             trace("dragMouseDown");
             IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_MOVE, dragMouseMoveHandler);
             IUIBase(_strand).topMostEventDispatcher.addEventListener(MouseEvent.MOUSE_UP, dragMouseUpHandler);
-            mouseDownX = event.stageX;
-            mouseDownY = event.stageY;
+            mouseDownX = event.screenX;
+            mouseDownY = event.screenY;
         }
         
         private function dragMouseMoveHandler(event:MouseEvent):void
@@ -224,8 +224,8 @@ package org.apache.flex.html.beads.controllers
             if (!dragging)
             {
                 trace("not dragging anything else");
-                if (Math.abs(event.stageX - mouseDownX) > threshold ||
-                    Math.abs(event.stageY - mouseDownY) > threshold)
+                if (Math.abs(event.screenX - mouseDownX) > threshold ||
+                    Math.abs(event.screenY - mouseDownY) > threshold)
                 {
                     trace("sending dragStart");
                     dragEvent = new DragEvent("dragStart", true, true);
@@ -236,7 +236,7 @@ package org.apache.flex.html.beads.controllers
                         dragging = true;
                         host = UIUtils.findPopUpHost(_strand as IUIBase);
                         host.addElement(dragImage);
-                        pt = PointUtils.globalToLocal(new Point(event.stageX, event.stageY), host);
+                        pt = PointUtils.globalToLocal(new Point(event.screenX, event.screenY), host);
                         dragImage.x = pt.x + dragImageOffsetX;
                         dragImage.y = pt.y + dragImageOffsetY;
                     }
@@ -246,11 +246,10 @@ package org.apache.flex.html.beads.controllers
             {
                 trace("sending dragMove", event.target);
                 dragEvent = new DragEvent("dragMove", true, true);
-                event.stopImmediatePropagation();
                 dragEvent.copyMouseEventProperties(event);
                 dragEvent.dragSource = dragSource;
                 dragEvent.dragInitiator = dragInitiator;
-                pt = PointUtils.globalToLocal(new Point(event.stageX, event.stageY), host);
+                pt = PointUtils.globalToLocal(new Point(event.screenX, event.screenY), host);
                 dragImage.x = pt.x + dragImageOffsetX;
                 dragImage.y = pt.y + dragImageOffsetY;
                 event.target.dispatchEvent(dragEvent);
@@ -267,7 +266,6 @@ package org.apache.flex.html.beads.controllers
                 trace("sending dragEnd");
                 dragEvent = new DragEvent("dragEnd", true, true);
                 dragEvent.copyMouseEventProperties(event);
-                event.stopImmediatePropagation();
                 dragEvent.dragSource = dragSource;
                 dragEvent.dragInitiator = dragInitiator;
                 event.target.dispatchEvent(dragEvent);

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/828d0b4e/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
index 82a277a..1b32f31 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/html/beads/controllers/DropMouseController.as
@@ -157,7 +157,6 @@ package org.apache.flex.html.beads.controllers
                 dragEvent.dragInitiator = dragInitiator;
                 dragSource = null;
                 dragInitiator = null;
-                event.stopImmediatePropagation();
                 dispatchEvent(dragEvent);
                 inside = false;
             }
@@ -176,7 +175,6 @@ package org.apache.flex.html.beads.controllers
             dragEvent.dragInitiator = event.dragInitiator;
             dragSource = null;
             dragInitiator = null;
-            event.stopImmediatePropagation();
             dispatchEvent(dragEvent);
             
             inside = false;


[07/16] git commit: [flex-asjs] [refs/heads/develop] - implement rollover support

Posted by ah...@apache.org.
implement rollover support


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

Branch: refs/heads/develop
Commit: 03d6279302df429f295798f0a297c9babb45ded3
Parents: 71df7b1
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:14:45 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:01 2015 -0800

----------------------------------------------------------------------
 .../src/org/apache/flex/events/MouseEvent.js    | 110 ++++++++++++++++++-
 1 file changed, 107 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/03d62793/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
index 95f77a2..ac9d632 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
@@ -14,21 +14,24 @@
 
 goog.provide('org.apache.flex.events.MouseEvent');
 
+goog.require('goog.events.BrowserEvent');
+
 
 
 /**
  * @constructor
- * @extends {MouseEvent}
+ * @extends {goog.events.BrowserEvent}
+ *
  * This is a shim class.  As long as you don't test
  * with "is" or "as", your code should work even
  * if the runtime is actually sending a native
  * browser MouseEvent
  */
 org.apache.flex.events.MouseEvent = function() {
-  window.MouseEvent.base(this, 'constructor');
+  org.apache.flex.events.MouseEvent.base(this, 'constructor');
 };
 goog.inherits(org.apache.flex.events.MouseEvent,
-    window.MouseEvent);
+    goog.events.BrowserEvent);
 
 
 /**
@@ -82,3 +85,104 @@ org.apache.flex.events.MouseEvent.prototype.FLEXJS_CLASS_INFO =
     { names: [{ name: 'MouseEvent',
                 qName: 'org.apache.flex.events.MouseEvent' }] };
 
+
+/**
+ * @return {boolean}
+ */
+org.apache.flex.events.MouseEvent.installRollOverMixin = function() {
+  window.addEventListener(org.apache.flex.events.MouseEvent.MOUSE_OVER,
+    org.apache.flex.events.MouseEvent.mouseOverHandler);
+  return true;
+};
+
+
+/**
+ * @param {Event} e The event.
+ * RollOver/RollOut is entirely implemented in mouseOver because
+ * when a parent and child share an edge, you only get a mouseout
+ * for the child and not the parent and you need to send rollout
+ * to both.  A similar issue exists for rollover.
+ */
+org.apache.flex.events.MouseEvent.mouseOverHandler = function(e) {
+  var j, m, outs, me, parent;
+  var target = e.target.flexjs_wrapper;
+  if (target === undefined)
+    return; // probably over the html tag
+  var targets = org.apache.flex.events.MouseEvent.targets;
+  var index = targets.indexOf(target);
+  if (index != -1) {
+    // get all children
+    outs = targets.slice(index + 1);
+    m = outs.length;
+    for (j = 0; j < m; j++) {
+      me = org.apache.flex.events.MouseEvent.makeMouseEvent(
+               org.apache.flex.events.MouseEvent.ROLL_OUT, e);
+      outs[j].dispatchEvent(me);
+    }
+    org.apache.flex.events.MouseEvent.targets = targets.slice(0, index + 1);
+  }
+  else {
+    var newTargets = [target];
+    if (target.get_parent === undefined)
+      parent = null;
+    else
+      parent = target.get_parent();
+    while (parent) {
+      index = targets.indexOf(parent);
+      if (index == -1) {
+        newTargets.unshift(parent);
+        if (parent.get_parent === undefined)
+          break;
+        parent = parent.get_parent();
+      }
+      else {
+        outs = targets.slice(index + 1);
+        m = outs.length;
+        for (j = 0; j < m; j++) {
+          me = org.apache.flex.events.MouseEvent.makeMouseEvent(
+                   org.apache.flex.events.MouseEvent.ROLL_OUT, e);
+          outs[j].dispatchEvent(me);
+        }
+        targets = targets.slice(0, index + 1);
+        break;
+      }
+    }
+    var n = newTargets.length;
+    for (var i = 0; i < n; i++) {
+      me = org.apache.flex.events.MouseEvent.makeMouseEvent(
+                   org.apache.flex.events.MouseEvent.ROLL_OVER, e);
+                   newTargets[i].dispatchEvent(me);
+    }
+    org.apache.flex.events.MouseEvent.targets = targets.concat(newTargets);
+  }
+};
+
+
+/**
+ * @type {boolean}
+ */
+org.apache.flex.events.MouseEvent.rollOverMixin =
+    org.apache.flex.events.MouseEvent.installRollOverMixin();
+
+
+/**
+ * @type {Object}
+ */
+org.apache.flex.events.MouseEvent.targets = [];
+
+
+/**
+ * @param {string} type The event type.
+ * @param {Event} e The mouse event.
+ * @return {MouseEvent} The new event.
+ */
+org.apache.flex.events.MouseEvent.makeMouseEvent = function(type, e) {
+  var out = new MouseEvent(type);
+  out.initMouseEvent(type);
+  out.screenX = e.screenX;
+  out.screenY = e.screenY;
+  out.ctrlKey = e.ctrlKey;
+  out.shiftKey = e.shiftKey;
+  out.alttKey = e.altKey;
+  return out;
+};


[11/16] git commit: [flex-asjs] [refs/heads/develop] - move elementEvents to static so easier to add to list

Posted by ah...@apache.org.
move elementEvents to static so easier to add to list


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

Branch: refs/heads/develop
Commit: 7487a059699efaa8a4fe4147edd6ac69c4dc88f3
Parents: 1f9061d
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 14:27:50 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:02 2015 -0800

----------------------------------------------------------------------
 .../js/FlexJS/src/org/apache/flex/events/EventDispatcher.js      | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/7487a059/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js b/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
index fd11a82..8a101ff 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/EventDispatcher.js
@@ -59,7 +59,7 @@ org.apache.flex.events.EventDispatcher.prototype.addEventListener =
       this.element.nodeName.toLowerCase() !== 'div' &&
       this.element.nodeName.toLowerCase() !== 'body') {
     source = this.element;
-  } else if (this.elementEvents[type]) {
+  } else if (org.apache.flex.events.EventDispatcher.elementEvents[type]) {
     // mouse and keyboard events also dispatch off the element.
     source = this.element;
   }
@@ -102,7 +102,7 @@ function(obj, propName, value) {
 /**
  * @type {Object}
  */
-org.apache.flex.events.EventDispatcher.prototype.elementEvents = {
+org.apache.flex.events.EventDispatcher.elementEvents = {
   mouseover: 1,
   mouseout: 1,
   mouseup: 1,


[14/16] git commit: [flex-asjs] [refs/heads/develop] - need these icons

Posted by ah...@apache.org.
need these icons


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

Branch: refs/heads/develop
Commit: a8dc13a14852a260e4a9f2ef7d6f3185e3ad7ce1
Parents: b69bbf2
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:16:43 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:02 2015 -0800

----------------------------------------------------------------------
 examples/FlexJSStore/src/assets/icon_compare.png | Bin 0 -> 30218 bytes
 examples/FlexJSStore/src/assets/icon_tiles.png   | Bin 0 -> 27988 bytes
 2 files changed, 0 insertions(+), 0 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a8dc13a1/examples/FlexJSStore/src/assets/icon_compare.png
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/assets/icon_compare.png b/examples/FlexJSStore/src/assets/icon_compare.png
new file mode 100644
index 0000000..efc3ea1
Binary files /dev/null and b/examples/FlexJSStore/src/assets/icon_compare.png differ

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/a8dc13a1/examples/FlexJSStore/src/assets/icon_tiles.png
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/assets/icon_tiles.png b/examples/FlexJSStore/src/assets/icon_tiles.png
new file mode 100644
index 0000000..dbf75b6
Binary files /dev/null and b/examples/FlexJSStore/src/assets/icon_tiles.png differ


[02/16] git commit: [flex-asjs] [refs/heads/develop] - use screenXY instead of stageXY

Posted by ah...@apache.org.
use screenXY instead of stageXY


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

Branch: refs/heads/develop
Commit: faed8de69b340b121e560f97a41be285de91d93a
Parents: c709923
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:08:01 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:20:59 2015 -0800

----------------------------------------------------------------------
 .../FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml  | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/faed8de6/examples/FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml
----------------------------------------------------------------------
diff --git a/examples/FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml b/examples/FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml
index ad0609f..0989fb5 100755
--- a/examples/FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml
+++ b/examples/FlexJSStore/src/productsView/ProductCatalogThumbnail.mxml
@@ -91,7 +91,7 @@ limitations under the License.
                 event.target != compare &&
                 event.target != details)
             {
-                dragStartPoint = new Point(event.stageX, event.stageY);
+                dragStartPoint = new Point(event.screenX, event.screenY);
                 dragStartPoint = PointUtils.globalToLocal(dragStartPoint, this);
 
             }
@@ -102,8 +102,8 @@ limitations under the License.
             if (dragStartPoint != null)
             {
                 var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
-                dragEvent.localX = dragStartPoint.x;
-                dragEvent.localY = dragStartPoint.y;
+                dragEvent.clientX = dragStartPoint.x;
+                dragEvent.clientY = dragStartPoint.y;
                 dragEvent.buttonDown = true;
                 dispatchEvent(dragEvent);
 


[08/16] git commit: [flex-asjs] [refs/heads/develop] - need to support topMostEventDispatcher

Posted by ah...@apache.org.
need to support topMostEventDispatcher


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

Branch: refs/heads/develop
Commit: 73f9b8337d48fe9b4b2accfdf99996ac06aaaf67
Parents: 693d4e6
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:13:01 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:01 2015 -0800

----------------------------------------------------------------------
 frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js | 9 +++++++++
 1 file changed, 9 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/73f9b833/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js b/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
index a1753d4..3a35c6e 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/UIBase.js
@@ -806,3 +806,12 @@ org.apache.flex.core.UIBase.prototype.set_visible = function(value) {
     }
   }
 };
+
+
+/**
+ * @expose
+ * @return {Object} The top most EventDispatcher.
+ */
+org.apache.flex.core.UIBase.prototype.get_topMostEventDispatcher = function() {
+  return document.body.flexjs_wrapper;
+};


[05/16] git commit: [flex-asjs] [refs/heads/develop] - try to remove listeners when done and protect if not removed in time

Posted by ah...@apache.org.
try to remove listeners when done and protect if not removed in time


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

Branch: refs/heads/develop
Commit: 22666dfb4d69bc7dc70d56103c53b3e96b5f18e5
Parents: 4b9f33c
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:09:22 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:00 2015 -0800

----------------------------------------------------------------------
 .../src/org/apache/flex/core/StatesWithTransitionsImpl.as       | 5 +++++
 1 file changed, 5 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/22666dfb/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
index c8aeb6f..75b6815 100644
--- a/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
+++ b/frameworks/as/projects/FlexJSJX/src/org/apache/flex/core/StatesWithTransitionsImpl.as
@@ -167,9 +167,14 @@ package org.apache.flex.core
          */
         private function effectEndHandler(event:Event):void
         {
+            // in case of extraneous calls to effectEndHandler
+            if (transitionEffects == null)
+                return;
+            
             var n:int = transitionEffects.length;
             for (var i:int = 0; i < n; i++)   
             {
+                event.target.removeEventListener(Effect.EFFECT_END, effectEndHandler);
                 if (transitionEffects[i] == event.target)
                     transitionEffects.splice(i, 1);
             }


[12/16] git commit: [flex-asjs] [refs/heads/develop] - more screenXY handling

Posted by ah...@apache.org.
more screenXY handling


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

Branch: refs/heads/develop
Commit: b69bbf211ca30375ac41978f927e5d030b3f12c8
Parents: 726e1cd
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 10:16:21 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:02 2015 -0800

----------------------------------------------------------------------
 .../beads/controllers/SliderMouseController.as  |  4 ++--
 .../controllers/VScrollBarMouseController.as    |  4 ++--
 .../org/apache/flex/core/HTMLElementWrapper.js  | 25 ++++++++++++++++++++
 3 files changed, 29 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b69bbf21/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as
index 1568add..cca2307 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/SliderMouseController.as
@@ -90,7 +90,7 @@ package org.apache.flex.html.beads.controllers
 			
 			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
 			
-			origin = new Point(event.stageX, event.stageY);
+			origin = new Point(event.screenX, event.screenY);
 			thumb = new Point(sliderView.thumb.x,sliderView.thumb.y);
 		}
 		
@@ -115,7 +115,7 @@ package org.apache.flex.html.beads.controllers
 		{
 			var sliderView:ISliderView = _strand.getBeadByType(ISliderView) as ISliderView;
 			
-			var deltaX:Number = event.stageX - origin.x;
+			var deltaX:Number = event.screenX - origin.x;
 			var thumbW:Number = sliderView.thumb.width/2;
 			var newX:Number = thumb.x + deltaX;
 			

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b69bbf21/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
----------------------------------------------------------------------
diff --git a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
index dbcaf7d..611f6dd 100644
--- a/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
+++ b/frameworks/as/projects/FlexJSUI/src/org/apache/flex/html/beads/controllers/VScrollBarMouseController.as
@@ -78,7 +78,7 @@ package org.apache.flex.html.beads.controllers
 		{
 			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_MOVE, thumbMouseMoveHandler);
 			sbView.thumb.stage.addEventListener(MouseEvent.MOUSE_UP, thumbMouseUpHandler);
-			thumbDownY = event.stageY;
+			thumbDownY = event.screenY;
 			lastThumbY = sbView.thumb.y;
 		}
 		
@@ -86,7 +86,7 @@ package org.apache.flex.html.beads.controllers
 		{
 			var thumb:DisplayObject = sbView.thumb;
 			var track:DisplayObject = sbView.track;
-			thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.stageY - thumbDownY), track.y + track.height - thumb.height));
+			thumb.y = Math.max(track.y, Math.min(lastThumbY + (event.screenY - thumbDownY), track.y + track.height - thumb.height));
 			var newValue:Number = snap((thumb.y - track.y) / (track.height - thumb.height) * (sbModel.maximum - sbModel.minimum - sbModel.pageSize));
 			sbModel.value = newValue;
 			IEventDispatcher(strand).dispatchEvent(new Event("scroll"));

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/b69bbf21/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
index aa043cd..4eca663 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/core/HTMLElementWrapper.js
@@ -150,5 +150,30 @@ Event.prototype.get_target = function() {
  * @return {Object} The wrapping object.
  */
 goog.events.BrowserEvent.prototype.get_target = function() {
+  // if it is a faked event so just return the target
+  if (!this.event_) return this.target;
+  // for true browser events, get the embedded event's target
   return this.event_.get_target();
 };
+
+
+/**
+ * Hack to allow event.screenX expressions to work
+ *
+ * @expose
+ * @return {number} The wrapping object.
+ */
+goog.events.BrowserEvent.prototype.get_screenX = function() {
+  return this.screenX;
+};
+
+
+/**
+ * Hack to allow event.screenY expressions to work
+ *
+ * @expose
+ * @return {number} The wrapping object.
+ */
+goog.events.BrowserEvent.prototype.get_screenY = function() {
+  return this.screenY;
+};


[15/16] git commit: [flex-asjs] [refs/heads/develop] - fix bug in MouseEvent

Posted by ah...@apache.org.
fix bug in MouseEvent


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

Branch: refs/heads/develop
Commit: 1f9061d444a0e752e511f7acf49c28ae934d580f
Parents: a8dc13a
Author: Alex Harui <ah...@apache.org>
Authored: Mon Jan 5 14:26:31 2015 -0800
Committer: Alex Harui <ah...@apache.org>
Committed: Mon Jan 5 15:21:02 2015 -0800

----------------------------------------------------------------------
 frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/1f9061d4/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
----------------------------------------------------------------------
diff --git a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
index ac9d632..885bb02 100644
--- a/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
+++ b/frameworks/js/FlexJS/src/org/apache/flex/events/MouseEvent.js
@@ -151,7 +151,7 @@ org.apache.flex.events.MouseEvent.mouseOverHandler = function(e) {
     for (var i = 0; i < n; i++) {
       me = org.apache.flex.events.MouseEvent.makeMouseEvent(
                    org.apache.flex.events.MouseEvent.ROLL_OVER, e);
-                   newTargets[i].dispatchEvent(me);
+      newTargets[i].dispatchEvent(me);
     }
     org.apache.flex.events.MouseEvent.targets = targets.concat(newTargets);
   }
@@ -183,6 +183,6 @@ org.apache.flex.events.MouseEvent.makeMouseEvent = function(type, e) {
   out.screenY = e.screenY;
   out.ctrlKey = e.ctrlKey;
   out.shiftKey = e.shiftKey;
-  out.alttKey = e.altKey;
+  out.altKey = e.altKey;
   return out;
-};
+};
\ No newline at end of file