Build Application. I removed temporarily what I didn't need, if someone else use it to compile it, check the paths.
Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/531b30e8 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/531b30e8 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/531b30e8 Branch: refs/heads/core_js_to_as Commit: 531b30e8ce73a9e062dc1d599df1e96799caebe6 Parents: ec0b143 Author: Frédéric THOMAS <[email protected]> Authored: Thu Sep 17 15:51:46 2015 +0100 Committer: Frédéric THOMAS <[email protected]> Committed: Thu Sep 17 15:51:46 2015 +0100 ---------------------------------------------------------------------- frameworks/projects/Core/as/src/CoreClasses.as | 156 +++++++++---------- .../as/src/org/apache/flex/core/Application.as | 131 +++++++++++++--- .../org/apache/flex/core/HTMLElementWrapper.as | 7 +- .../as/src/org/apache/flex/core/IContainer.as | 1 - .../as/src/org/apache/flex/core/IDocument.as | 1 - .../src/org/apache/flex/core/IMXMLDocument.as | 1 - .../Core/as/src/org/apache/flex/core/IParent.as | 1 - .../as/src/org/apache/flex/core/IValuesImpl.as | 1 - .../src/org/apache/flex/core/ValuesManager.as | 1 - .../src/org/apache/flex/events/BrowserEvent.as | 10 +- .../src/org/apache/flex/events/ElementEvents.as | 6 + .../Core/as/src/org/apache/flex/events/Event.as | 5 +- .../org/apache/flex/events/EventDispatcher.as | 4 +- .../as/src/org/apache/flex/utils/Language.as | 7 +- .../apache/flex/utils/MXMLDataInterpreter.as | 1 - .../projects/Core/asjs/src/CoreASJSClasses.as | 4 +- frameworks/projects/Core/basic-manifest.xml | 4 +- frameworks/projects/Core/build.xml | 130 +++++++++++----- .../projects/Core/compile-as-to-js-config.xml | 77 +++++++++ 19 files changed, 386 insertions(+), 162 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/CoreClasses.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/CoreClasses.as b/frameworks/projects/Core/as/src/CoreClasses.as index c00e02e..e92f799 100644 --- a/frameworks/projects/Core/as/src/CoreClasses.as +++ b/frameworks/projects/Core/as/src/CoreClasses.as @@ -16,8 +16,7 @@ // limitations under the License. // //////////////////////////////////////////////////////////////////////////////// -package -{ +package { /** * @private @@ -25,82 +24,83 @@ package * beyond those that are found by dependency analysis starting * from the classes specified in manifest.xml. */ -internal class CoreClasses -{ - import org.apache.flex.core.BeadViewBase; BeadViewBase; - import org.apache.flex.core.BrowserWindow; BrowserWindow; - import org.apache.flex.core.CSSShape; CSSShape; - import org.apache.flex.core.CSSSprite; CSSSprite; - import org.apache.flex.core.CSSTextField; CSSTextField; - import org.apache.flex.core.StyleableCSSTextField; StyleableCSSTextField; - import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory; - import org.apache.flex.core.FilledRectangle; FilledRectangle; - import org.apache.flex.core.IAlertModel; IAlertModel; - import org.apache.flex.core.IBead; IBead; - import org.apache.flex.core.IBeadController; IBeadController; - import org.apache.flex.core.IBeadLayout; IBeadLayout; - import org.apache.flex.core.IBeadModel; IBeadModel; - import org.apache.flex.core.IBeadView; IBeadView; - import org.apache.flex.core.IBorderModel; IBorderModel; - import org.apache.flex.core.IChild; IChild; - import org.apache.flex.core.IChrome; IChrome; - import org.apache.flex.core.IComboBoxModel; IComboBoxModel; - import org.apache.flex.core.IContainer; IContainer; - import org.apache.flex.core.IContentView; IContentView; - import org.apache.flex.core.IDataProviderItemRendererMapper; IDataProviderItemRendererMapper; - import org.apache.flex.core.IDocument; IDocument; - import org.apache.flex.core.IFormatBead; IFormatBead; - import org.apache.flex.core.IImageModel; IImageModel; - import org.apache.flex.core.ILayoutChild; ILayoutChild; - import org.apache.flex.core.ILayoutParent; ILayoutParent; - import org.apache.flex.core.IPanelModel; IPanelModel; - import org.apache.flex.core.IParent; IParent; - import org.apache.flex.core.IParentIUIBase; IParentIUIBase; - import org.apache.flex.core.IPopUp; IPopUp; - import org.apache.flex.core.IRollOverModel; IRollOverModel; - import org.apache.flex.core.IScrollBarModel; IScrollBarModel; - import org.apache.flex.core.ISelectableItemRenderer; ISelectableItemRenderer; - import org.apache.flex.core.ISelectionModel; ISelectionModel; - import org.apache.flex.core.IStrand; IStrand; - import org.apache.flex.core.IStrandWithModel; IStrandWithModel; - import org.apache.flex.core.ITextModel; ITextModel; - import org.apache.flex.core.ITitleBarModel; ITitleBarModel; - import org.apache.flex.core.IToggleButtonModel; IToggleButtonModel; - import org.apache.flex.core.IUIBase; IUIBase; - import org.apache.flex.core.IValueToggleButtonModel; IValueToggleButtonModel; - import org.apache.flex.core.IViewport; IViewport; - import org.apache.flex.core.IViewportModel; IViewportModel; - import org.apache.flex.core.IViewportScroller; IViewportScroller; - import org.apache.flex.core.SimpleStatesImpl; SimpleStatesImpl; - import org.apache.flex.core.DataBindingBase; DataBindingBase; - import org.apache.flex.core.UIBase; UIBase; - import org.apache.flex.core.UIButtonBase; UIButtonBase; - import org.apache.flex.events.CustomEvent; CustomEvent; - import org.apache.flex.events.Event; Event; - import org.apache.flex.events.EventDispatcher; EventDispatcher; - import org.apache.flex.events.IEventDispatcher; IEventDispatcher; - import org.apache.flex.events.MouseEvent; MouseEvent; - import org.apache.flex.events.ValueEvent; ValueEvent; - import org.apache.flex.events.utils.MouseUtils; MouseUtils; - import org.apache.flex.geom.Point; Point; - import org.apache.flex.geom.Rectangle; Rectangle; - import org.apache.flex.utils.BinaryData; BinaryData; - import org.apache.flex.utils.BeadMetrics; BeadMetrics; - import org.apache.flex.utils.CSSBorderUtils; CSSBorderUtils; - import org.apache.flex.utils.dbg.DOMPathUtil; DOMPathUtil; - import org.apache.flex.utils.EffectTimer; EffectTimer; - import org.apache.flex.utils.MixinManager; MixinManager; - import org.apache.flex.utils.PNGEncoder; PNGEncoder; - import org.apache.flex.utils.SolidBorderUtil; SolidBorderUtil; - import org.apache.flex.utils.StringTrimmer; StringTrimmer; - import org.apache.flex.utils.Timer; Timer; - import org.apache.flex.utils.UIUtils; UIUtils; - - import org.apache.flex.core.ClassFactory; ClassFactory; - import org.apache.flex.states.AddItems; AddItems; - import org.apache.flex.states.SetEventHandler; SetEventHandler; - import org.apache.flex.states.SetProperty; SetProperty; - import org.apache.flex.states.State; State; +internal class CoreClasses { + /** + import org.apache.flex.core.BeadViewBase; BeadViewBase; + import org.apache.flex.core.BrowserWindow; BrowserWindow; + import org.apache.flex.core.CSSShape; CSSShape; + import org.apache.flex.core.CSSSprite; CSSSprite; + import org.apache.flex.core.CSSTextField; CSSTextField; + import org.apache.flex.core.StyleableCSSTextField; StyleableCSSTextField; + import org.apache.flex.core.ItemRendererClassFactory; ItemRendererClassFactory; + import org.apache.flex.core.FilledRectangle; FilledRectangle; + import org.apache.flex.core.IAlertModel; IAlertModel; + import org.apache.flex.core.IBead; IBead; + import org.apache.flex.core.IBeadController; IBeadController; + import org.apache.flex.core.IBeadLayout; IBeadLayout; + import org.apache.flex.core.IBeadModel; IBeadModel; + import org.apache.flex.core.IBeadView; IBeadView; + import org.apache.flex.core.IBorderModel; IBorderModel; + import org.apache.flex.core.IChild; IChild; + import org.apache.flex.core.IChrome; IChrome; + import org.apache.flex.core.IComboBoxModel; IComboBoxModel; + import org.apache.flex.core.IContainer; IContainer; + import org.apache.flex.core.IContentView; IContentView; + import org.apache.flex.core.IDataProviderItemRendererMapper; IDataProviderItemRendererMapper; + import org.apache.flex.core.IDocument; IDocument; + import org.apache.flex.core.IFormatBead; IFormatBead; + import org.apache.flex.core.IImageModel; IImageModel; + import org.apache.flex.core.ILayoutChild; ILayoutChild; + import org.apache.flex.core.ILayoutParent; ILayoutParent; + import org.apache.flex.core.IPanelModel; IPanelModel; + import org.apache.flex.core.IParent; IParent; + import org.apache.flex.core.IParentIUIBase; IParentIUIBase; + import org.apache.flex.core.IPopUp; IPopUp; + import org.apache.flex.core.IRollOverModel; IRollOverModel; + import org.apache.flex.core.IScrollBarModel; IScrollBarModel; + import org.apache.flex.core.ISelectableItemRenderer; ISelectableItemRenderer; + import org.apache.flex.core.ISelectionModel; ISelectionModel; + import org.apache.flex.core.IStrand; IStrand; + import org.apache.flex.core.IStrandWithModel; IStrandWithModel; + import org.apache.flex.core.ITextModel; ITextModel; + import org.apache.flex.core.ITitleBarModel; ITitleBarModel; + import org.apache.flex.core.IToggleButtonModel; IToggleButtonModel; + import org.apache.flex.core.IUIBase; IUIBase; + import org.apache.flex.core.IValueToggleButtonModel; IValueToggleButtonModel; + import org.apache.flex.core.IViewport; IViewport; + import org.apache.flex.core.IViewportModel; IViewportModel; + import org.apache.flex.core.IViewportScroller; IViewportScroller; + import org.apache.flex.core.SimpleStatesImpl; SimpleStatesImpl; + import org.apache.flex.core.DataBindingBase; DataBindingBase; + import org.apache.flex.core.UIBase; UIBase; + import org.apache.flex.core.UIButtonBase; UIButtonBase; + import org.apache.flex.events.CustomEvent; CustomEvent; + import org.apache.flex.events.Event; Event; + import org.apache.flex.events.EventDispatcher; EventDispatcher; + import org.apache.flex.events.IEventDispatcher; IEventDispatcher; + import org.apache.flex.events.MouseEvent; MouseEvent; + import org.apache.flex.events.ValueEvent; ValueEvent; + import org.apache.flex.events.utils.MouseUtils; MouseUtils; + import org.apache.flex.geom.Point; Point; + import org.apache.flex.geom.Rectangle; Rectangle; + import org.apache.flex.utils.BinaryData; BinaryData; + import org.apache.flex.utils.BeadMetrics; BeadMetrics; + import org.apache.flex.utils.CSSBorderUtils; CSSBorderUtils; + import org.apache.flex.utils.dbg.DOMPathUtil; DOMPathUtil; + import org.apache.flex.utils.EffectTimer; EffectTimer; + import org.apache.flex.utils.MixinManager; MixinManager; + import org.apache.flex.utils.PNGEncoder; PNGEncoder; + import org.apache.flex.utils.SolidBorderUtil; SolidBorderUtil; + import org.apache.flex.utils.StringTrimmer; StringTrimmer; + import org.apache.flex.utils.Timer; Timer; + import org.apache.flex.utils.UIUtils; UIUtils; + + import org.apache.flex.core.ClassFactory; ClassFactory; + import org.apache.flex.states.AddItems; AddItems; + import org.apache.flex.states.SetEventHandler; SetEventHandler; + import org.apache.flex.states.SetProperty; SetProperty; + import org.apache.flex.states.State; State; + **/ } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as b/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as index f0dd528..6638e86 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/Application.as @@ -18,74 +18,77 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.core { - import flash.display.DisplayObject; - import flash.display.Sprite; - import flash.display.StageAlign; - import flash.display.StageQuality; - import flash.display.StageScaleMode; - import flash.events.Event; - import flash.system.ApplicationDomain; - import flash.utils.getQualifiedClassName; - - import org.apache.flex.events.Event; - import org.apache.flex.events.IEventDispatcher; - import org.apache.flex.events.MouseEvent; - import org.apache.flex.events.utils.MouseEventConverter; + import org.apache.flex.utils.MXMLDataInterpreter; - + + COMPILE::AS3 { + import flash.display.DisplayObject; + import flash.display.Sprite; + import flash.display.StageAlign; + import flash.display.StageQuality; + import flash.display.StageScaleMode; + import flash.events.Event; + import flash.system.ApplicationDomain; + import flash.utils.getQualifiedClassName; + + import org.apache.flex.events.Event; + import org.apache.flex.events.IEventDispatcher; + import org.apache.flex.events.MouseEvent; + import org.apache.flex.events.utils.MouseEventConverter; + } + //-------------------------------------- // Events //-------------------------------------- - + /** * Dispatched at startup. Attributes and sub-instances of * the MXML document have been created and assigned. * The component lifecycle is different * than the Flex SDK. There is no creationComplete event. - * + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ [Event(name="initialize", type="org.apache.flex.events.Event")] - + /** * Dispatched at startup before the instances get created. * Beads can call preventDefault and defer initialization. * This event will be dispatched on every frame until no * listeners call preventDefault(), then the initialize() * method will be called. - * + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ [Event(name="preinitialize", type="org.apache.flex.events.Event")] - + /** * Dispatched at startup after the initial view has been * put on the display list. - * + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ [Event(name="viewChanged", type="org.apache.flex.events.Event")] - + /** * Dispatched at startup after the initial view has been * put on the display list. - * + * * @langversion 3.0 * @playerversion Flash 10.2 * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ [Event(name="applicationComplete", type="org.apache.flex.events.Event")] - /** * The Application class is the main class and entry point for a FlexJS * application. This Application class is different than the @@ -486,4 +489,86 @@ package org.apache.flex.core return numChildren; } } + + COMPILE::JS { + import org.apache.flex.events.IEventDispatcher; + } + + COMPILE::JS + public class Application extends HTMLElementWrapper implements IParent{ + private var _controller:IBead; + private var _initialView:Object; + + public function start():void { + element = document.getElementsByTagName('body')[0]; + this.element["flexjs_wrapper"] = this; + this.element["className"] = 'Application'; + + MXMLDataInterpreter.generateMXMLInstances(this, null, this.MXMLDescriptor); + + this.dispatchEvent('initialize'); + + if (this.model) this.addBead(this.model); + if (this.controller) this.addBead(controller as IBead); + + this.initialView.applicationModel = this.model; + this.addElement(this.initialView); + + this.dispatchEvent('viewChanged'); + } + + public function generateMXMLAttributes(data:Array):void + { + MXMLDataInterpreter.generateMXMLProperties(this, data); + } + + public function get controller():IBead { + return _controller; + } + + public function set controller(value:IBead):void { + if (value != _controller) + _controller = value; + } + + public function get initialView():Object { + return _initialView; + } + + public function set initialView(value:Object):void { + if (value != _initialView) + _initialView = value; + } + + public function set valuesImpl(value:IValuesImpl):void { + ValuesManager.valuesImpl = value; + if (value.init) { + value.init(this); + } + } + + public function addElement(c:Object, dispatchEvent:Boolean = true):void { + (element as HTMLBodyElement).appendChild(c.element); + c.addedToParent(); + } + + public function addElementAt(c:Object, index:int, dispatchEvent:Boolean = true):void + { + } + + public function getElementIndex(c:Object):int { + return 0; + } + + public function removeElement(c:Object, dispatchEvent:Boolean = true):void { + } + + public function get numElements():int { + return 0; + } + + public function getElementAt(index:int):Object { + return null; + } + } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/HTMLElementWrapper.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/HTMLElementWrapper.as b/frameworks/projects/Core/as/src/org/apache/flex/core/HTMLElementWrapper.as index 33425a2..1963a02 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/HTMLElementWrapper.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/HTMLElementWrapper.as @@ -4,6 +4,7 @@ package org.apache.flex.core { import org.apache.flex.events.BrowserEvent; import org.apache.flex.events.EventDispatcher; + import goog.events; } [ExcludeClass] @@ -37,7 +38,7 @@ package org.apache.flex.core static public function fireListenerOverride(listener:Object, eventObject:BrowserEvent):Boolean { var e:BrowserEvent = new BrowserEvent(); - e.wrappedEvent = eventObject as goog.events.BrowserEvent; + e.wrappedEvent = eventObject.wrappedEvent; return HTMLElementWrapper.googFireListener(listener, e); } @@ -46,8 +47,8 @@ package org.apache.flex.core */ static public function installOverride():Boolean { - HTMLElementWrapper.googFireListener = goog.events["fireListener"]; - goog.events["fireListener"] = HTMLElementWrapper.fireListenerOverride; + HTMLElementWrapper.googFireListener = events.fireListener; + events.fireListener = HTMLElementWrapper.fireListenerOverride; return true; } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/IContainer.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IContainer.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IContainer.as index 2aaaae4..240f2de 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/IContainer.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IContainer.as @@ -30,7 +30,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public interface IContainer extends IParent { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/IDocument.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IDocument.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IDocument.as index 4f65a7d..4eaab4e 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/IDocument.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IDocument.as @@ -28,7 +28,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public interface IDocument { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/IMXMLDocument.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IMXMLDocument.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IMXMLDocument.as index 3cfcb65..6e31769 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/IMXMLDocument.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IMXMLDocument.as @@ -27,7 +27,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public interface IMXMLDocument { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/IParent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IParent.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IParent.as index 8ec397d..2b49278 100755 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/IParent.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IParent.as @@ -28,7 +28,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public interface IParent { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/IValuesImpl.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/IValuesImpl.as b/frameworks/projects/Core/as/src/org/apache/flex/core/IValuesImpl.as index 95200dd..58d8710 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/IValuesImpl.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/IValuesImpl.as @@ -30,7 +30,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public interface IValuesImpl { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/core/ValuesManager.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/core/ValuesManager.as b/frameworks/projects/Core/as/src/org/apache/flex/core/ValuesManager.as index 721374a..fc1b611 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/core/ValuesManager.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/core/ValuesManager.as @@ -29,7 +29,6 @@ package org.apache.flex.core * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ - COMPILE::AS3 public class ValuesManager { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/events/BrowserEvent.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/events/BrowserEvent.as b/frameworks/projects/Core/as/src/org/apache/flex/events/BrowserEvent.as index 1ef3923..c298cfa 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/events/BrowserEvent.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/events/BrowserEvent.as @@ -14,11 +14,13 @@ package org.apache.flex.events { -import goog.events.BrowserEvent.MouseButton; + COMPILE::JS { + import goog.events.BrowserEvent.MouseButton; + } [ExcludeClass] COMPILE::AS3 - internal class BrowserEvent + public class BrowserEvent { } @@ -67,7 +69,7 @@ import goog.events.BrowserEvent.MouseButton; /** * @type {?goog.events.BrowserEvent} */ - public var wrappedEvent:goog.events.BrowserEvent; + public var wrappedEvent:Object; //-------------------------------------- // Function @@ -245,7 +247,7 @@ import goog.events.BrowserEvent.MouseButton; */ public function isMouseActionButton():Boolean { - wrappedEvent.isMouseActionButton(); + return wrappedEvent.isMouseActionButton(); } /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/events/ElementEvents.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/events/ElementEvents.as b/frameworks/projects/Core/as/src/org/apache/flex/events/ElementEvents.as index 9fbc602..6a4b14a 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/events/ElementEvents.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/events/ElementEvents.as @@ -19,6 +19,12 @@ package org.apache.flex.events { + [ExcludeClass] + COMPILE::AS3 + public class ElementEvents + { + } + COMPILE::JS public class ElementEvents { http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/events/Event.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/events/Event.as b/frameworks/projects/Core/as/src/org/apache/flex/events/Event.as index 03b4812..4964b09 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/events/Event.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/events/Event.as @@ -18,12 +18,15 @@ //////////////////////////////////////////////////////////////////////////////// package org.apache.flex.events { -import goog.events.Event; COMPILE::AS3 { import flash.events.Event; } + COMPILE::JS { + import goog.events.Event; + } + /** * This class simply wraps flash.events.Event so that * no flash packages are needed on the JS side. http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/events/EventDispatcher.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/events/EventDispatcher.as b/frameworks/projects/Core/as/src/org/apache/flex/events/EventDispatcher.as index afe1bcb..de181b6 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/events/EventDispatcher.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/events/EventDispatcher.as @@ -55,7 +55,7 @@ package org.apache.flex.events } COMPILE::JS - public class EventDispatcher extends EventTarget implements IEventDispatcher + public class EventDispatcher extends goog.events.EventTarget implements IEventDispatcher { override public function addEventListener(type:String, handler:Object, opt_capture:Boolean = false, opt_handlerScope:Object = null):void @@ -77,7 +77,7 @@ package org.apache.flex.events source = that.element; } - goog.events["listen"](source, type, handler); + goog.events.listen(source, type, handler); } } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/utils/Language.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/utils/Language.as b/frameworks/projects/Core/as/src/org/apache/flex/utils/Language.as index d48b61c..b64ff22 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/utils/Language.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/utils/Language.as @@ -19,6 +19,11 @@ package org.apache.flex.utils { + [ExcludeClass] + COMPILE::AS3 + public class Language {} + + COMPILE::JS public class Language { @@ -104,7 +109,7 @@ package org.apache.flex.utils return false; } - checkInterfaces = function(left:Object) { + checkInterfaces = function(left:Object):Boolean { var i:uint, interfaces:Array; interfaces = left.FLEXJS_CLASS_INFO.interfaces; http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/as/src/org/apache/flex/utils/MXMLDataInterpreter.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/as/src/org/apache/flex/utils/MXMLDataInterpreter.as b/frameworks/projects/Core/as/src/org/apache/flex/utils/MXMLDataInterpreter.as index e800b8c..89ce693 100644 --- a/frameworks/projects/Core/as/src/org/apache/flex/utils/MXMLDataInterpreter.as +++ b/frameworks/projects/Core/as/src/org/apache/flex/utils/MXMLDataInterpreter.as @@ -40,7 +40,6 @@ import org.apache.flex.events.IEventDispatcher; * @playerversion AIR 2.6 * @productversion FlexJS 0.0 */ -COMPILE::AS3 public class MXMLDataInterpreter { /** http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/asjs/src/CoreASJSClasses.as ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/asjs/src/CoreASJSClasses.as b/frameworks/projects/Core/asjs/src/CoreASJSClasses.as index 46c1be8..0c5e1a8 100644 --- a/frameworks/projects/Core/asjs/src/CoreASJSClasses.as +++ b/frameworks/projects/Core/asjs/src/CoreASJSClasses.as @@ -26,12 +26,12 @@ package */ internal class CoreASJSClasses { - import org.apache.flex.core.IDataGridLayout; IDataGridLayout; + /*import org.apache.flex.core.IDataGridLayout; IDataGridLayout; import org.apache.flex.core.IDataGridModel; IDataGridModel; import org.apache.flex.core.IDataGridPresentationModel; IDataGridPresentationModel; import org.apache.flex.core.IDateChooserModel; IDateChooserModel; import org.apache.flex.core.ParentDocumentBead; ParentDocumentBead; - import org.apache.flex.utils.CSSUtils; CSSUtils; + import org.apache.flex.utils.CSSUtils; CSSUtils;*/ } } http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/basic-manifest.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/basic-manifest.xml b/frameworks/projects/Core/basic-manifest.xml index 995157d..e7cb2ac 100644 --- a/frameworks/projects/Core/basic-manifest.xml +++ b/frameworks/projects/Core/basic-manifest.xml @@ -22,6 +22,8 @@ <componentPackage> <component id="Application" class="org.apache.flex.core.Application"/> + + <!--<component id="Application" class="org.apache.flex.core.Application"/> <component id="SimpleValuesImpl" class="org.apache.flex.core.SimpleValuesImpl"/> <component id="SimpleCSSValuesImpl" class="org.apache.flex.core.SimpleCSSValuesImpl"/> <component id="ViewBase" class="org.apache.flex.core.ViewBase"/> @@ -35,6 +37,6 @@ <component id="MixinManager" class="org.apache.flex.utils.MixinManager" /> <component id="ViewSourceContextMenuOption" class="org.apache.flex.utils.ViewSourceContextMenuOption" /> - <component id="State" class="org.apache.flex.states.State"/> + <component id="State" class="org.apache.flex.states.State"/>--> </componentPackage> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/build.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/build.xml b/frameworks/projects/Core/build.xml index e63352b..5e081cd 100644 --- a/frameworks/projects/Core/build.xml +++ b/frameworks/projects/Core/build.xml @@ -21,15 +21,15 @@ <project name="Core" default="main" basedir="."> <property name="FLEXJS_HOME" location="../../.."/> - + <property file="${FLEXJS_HOME}/env.properties"/> <property environment="env"/> <property file="${FLEXJS_HOME}/build.properties"/> <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> <property name="FALCON_HOME" value="${env.FALCON_HOME}"/> <property name="FALCONJX_HOME" value="${env.FALCONJX_HOME}"/> - <property name="gjslint" value="gjslint" /> - <property name="jshint" value="jshint" /> + <property name="gjslint" value="gjslint"/> + <property name="jshint" value="jshint"/> <condition property="no.lint" value="true"> <os family="windows"/> </condition> @@ -41,18 +41,18 @@ </target> <target name="test" unless="is.jenkins"> - <ant dir="as/tests" /> + <ant dir="as/tests"/> <!-- no tests yet <ant dir="asjs/tests" /> --> </target> - + <target name="test-js" unless="is.jenkins"> <!-- no tests yet <ant dir="js/tests" /> --> </target> - + <target name="clean"> <delete failonerror="false"> <fileset dir="${FLEXJS_HOME}/frameworks/libs"> @@ -65,9 +65,9 @@ </fileset> </delete> </target> - + <path id="lib.path"> - <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> + <fileset dir="${FALCON_HOME}/lib" includes="falcon-flexTasks.jar"/> </path> <target name="compile" description="Compiles .as files into .swc"> @@ -75,7 +75,7 @@ <echo message="FLEX_HOME: ${FLEX_HOME}"/> <echo message="FALCON_HOME: ${FALCON_HOME}"/> <!-- make JS output folder now so include-file doesn't error --> - <mkdir dir="${basedir}/js/out" /> + <mkdir dir="${basedir}/js/out"/> <!-- Load the <compc> task. We can't do this at the <project> level --> <!-- because targets that run before flexTasks.jar gets built would fail. --> @@ -95,39 +95,89 @@ <compc fork="true" output="${FLEXJS_HOME}/frameworks/libs/Core.swc"> <jvmarg line="${compc.jvm.args}"/> - <load-config filename="compile-config.xml" /> - <arg value="+playerglobal.version=${playerglobal.version}" /> - <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> + <load-config filename="compile-config.xml"/> + <arg value="+playerglobal.version=${playerglobal.version}"/> + <arg value="+env.AIR_HOME=${env.AIR_HOME}"/> </compc> </target> - <target name="compile-asjs" > + <target name="compile-as-to-js-core-application-using-falcon"> + <echo message="Cross-compiling Core"/> + <echo message="FLEX_HOME: ${FLEX_HOME}"/> + <echo message="FALCON_HOME: ${FALCON_HOME}"/> + <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> + <echo message="FLEXJS_HOME: ${FLEXJS_HOME}"/> + <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true"> + <!--<jvmarg value="-agentlib:jdwp=transport=dt_shmem,server=n,address=javadebug,suspend=y"/>--> + <jvmarg value="-Xmx384m"/> + <jvmarg value="-Dsun.io.useCanonCaches=false"/> + <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler"/> + <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks"/> + <arg value="+flexlib=${FLEX_HOME}/frameworks"/> + <arg value="-keep-asdoc"/> <!-- allows compiler to see @flexjsignorecoercion annotations --> + <arg value="-output=${basedir}/as/out/js"/> + <arg value="-load-config=${basedir}/compile-as-to-js-config.xml"/> + <arg value="-define+=COMPILE::AS3,false"/> + <arg value="-define+=COMPILE::JS,true"/> + <arg value="-js-output-type=FLEXJS"/> + <arg value="+playerglobal.version=${playerglobal.version}"/> + <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}"/> + <arg value="+env.AIR_HOME=${env.AIR_HOME}"/> + </java> + </target> + + + <target name="compile-as-to-js-core-application-using-oem"> + <echo message="Cross-compiling Core"/> + <echo message="FLEX_HOME: ${FLEX_HOME}"/> + <echo message="FALCON_HOME: ${FALCON_HOME}"/> + <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> + <echo message="FLEXJS_HOME: ${FLEXJS_HOME}"/> + <java classname="flex2.tools.Compc" classpath="${FALCON_HOME}/lib/flex-compiler-oem.jar" fork="true"> + <jvmarg value="-agentlib:jdwp=transport=dt_shmem,server=n,address=javadebug,suspend=y"/> + <jvmarg value="-Xmx384m"/> + <jvmarg value="-Dsun.io.useCanonCaches=false"/> + <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler"/> + <arg value="-keep-asdoc"/> <!-- allows compiler to see @flexjsignorecoercion annotations --> + <arg value="-output=${basedir}/as/out/js"/> + <arg value="-load-config=${basedir}/compile-as-to-js-config.xml"/> + <arg value="-define+=COMPILE::AS3,false"/> + <arg value="-define+=COMPILE::JS,true"/> + <arg value="-js-output-type=FLEXJS"/> + <arg value="+playerglobal.version=${playerglobal.version}"/> + <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}"/> + <arg value="+env.AIR_HOME=${env.AIR_HOME}"/> + </java> + </target> + + <target name="compile-asjs"> <echo message="Cross-compiling Core/asjs"/> <echo message="FALCONJX_HOME: ${FALCONJX_HOME}"/> - <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true" > - <jvmarg value="-Xmx384m" /> - <jvmarg value="-Dsun.io.useCanonCaches=false" /> - <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler" /> - <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks" /> - <arg value="+flexlib=${FLEX_HOME}/frameworks" /> - <arg value="-js-output-type=FLEXJS" /> - <arg value="-keep-asdoc" /><!-- allows compiler to see @flexjsignorecoercion annotations --> - <arg value="-output=${basedir}/js/out" /> - <arg value="-load-config=${basedir}/compile-asjs-config.xml" /> - <arg value="+playerglobal.version=${playerglobal.version}" /> - <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}" /> - <arg value="+env.AIR_HOME=${env.AIR_HOME}" /> + <java jar="${FALCONJX_HOME}/lib/compc.jar" fork="true"> + <jvmarg value="-Xmx384m"/> + <jvmarg value="-Dsun.io.useCanonCaches=false"/> + <jvmarg value="-Dflexcompiler=${FALCONJX_HOME}/../compiler"/> + <jvmarg value="-Dflexlib=${FLEXJS_HOME}/frameworks"/> + <arg value="+flexlib=${FLEX_HOME}/frameworks"/> + <arg value="-js-output-type=FLEXJS"/> + <arg value="-keep-asdoc"/> + <!-- allows compiler to see @flexjsignorecoercion annotations --> + <arg value="-output=${basedir}/js/out"/> + <arg value="-load-config=${basedir}/compile-asjs-config.xml"/> + <arg value="+playerglobal.version=${playerglobal.version}"/> + <arg value="+env.PLAYERGLOBAL_HOME=${env.PLAYERGLOBAL_HOME}"/> + <arg value="+env.AIR_HOME=${env.AIR_HOME}"/> </java> </target> - <target name="lint-js" depends="gjslint, jshint, copy-js" /> - <target name="copy-js" > + <target name="lint-js" depends="gjslint, jshint, copy-js"/> + <target name="copy-js"> <copy todir="${FLEXJS_HOME}/frameworks/js/FlexJS/libs"> <fileset dir="${basedir}/js/src"> - <include name="**/**" /> + <include name="**/**"/> </fileset> <fileset dir="${basedir}/js/out"> - <include name="**/**" /> + <include name="**/**"/> </fileset> </copy> </target> @@ -135,26 +185,26 @@ <target name="gjslint" unless="no.lint"> <echo>running gjslint</echo> <exec executable="${gjslint}" dir="${basedir}" failonerror="true"> - <arg value="--strict" /> - <arg value="--disable" /> - <arg value="006,100,214,300" /> + <arg value="--strict"/> + <arg value="--disable"/> + <arg value="006,100,214,300"/> <!-- 006: wrong indentation --> <!-- 100: cannot have non-primitive value --> <!-- 214: @fileoverview tag missing description --> <!-- 300: missing newline at end of file --> - <arg value="--max_line_length" /> - <arg value="120" /> - <arg value="-r" /> - <arg value="${basedir}/js/src" /> + <arg value="--max_line_length"/> + <arg value="120"/> + <arg value="-r"/> + <arg value="${basedir}/js/src"/> </exec> </target> <target name="jshint" unless="no.lint"> <echo>running jshint</echo> <exec executable="${jshint}" dir="${basedir}" failonerror="true"> - <arg value="--config" /> - <arg value="${FLEX_HOME}/frameworks/js/jshint.properties" /> - <arg value="${basedir}/js/src" /> + <arg value="--config"/> + <arg value="${FLEX_HOME}/frameworks/js/jshint.properties"/> + <arg value="${basedir}/js/src"/> </exec> </target> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/531b30e8/frameworks/projects/Core/compile-as-to-js-config.xml ---------------------------------------------------------------------- diff --git a/frameworks/projects/Core/compile-as-to-js-config.xml b/frameworks/projects/Core/compile-as-to-js-config.xml new file mode 100644 index 0000000..e601b79 --- /dev/null +++ b/frameworks/projects/Core/compile-as-to-js-config.xml @@ -0,0 +1,77 @@ +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> +<flex-config> + + <compiler> + <accessible>false</accessible> + + <external-library-path> + <path-element>${env.AIR_HOME}/frameworks/libs/air/airglobal.swc</path-element> + <path-element>D:/SDKs/FlexJS/nightly_PF18_AIR18.0_en_US/js/libs/js.swc</path-element> + <path-element>D:/SDKs/FlexJS/nightly_PF18_AIR18.0_en_US/js/libs/gcl.swc</path-element> + </external-library-path> + + <mxml> + <children-as-data>true</children-as-data> + </mxml> + <binding-value-change-event>org.apache.flex.events.ValueChangeEvent</binding-value-change-event> + <binding-value-change-event-kind>org.apache.flex.events.ValueChangeEvent</binding-value-change-event-kind> + <binding-value-change-event-type>valueChange</binding-value-change-event-type> + + <keep-as3-metadata> + <name>Bindable</name> + <name>Managed</name> + <name>ChangeEvent</name> + <name>NonCommittingChangeEvent</name> + <name>Transient</name> + </keep-as3-metadata> + + <namespaces> + <namespace> + <uri>library://ns.apache.org/flexjs/basic</uri> + <manifest>basic-manifest.xml</manifest> + </namespace> + </namespaces> + + <locale/> + + <source-path> + <!--<path-element>as/src</path-element>--> + </source-path> + + <warn-no-constructor>false</warn-no-constructor> + </compiler> + + <include-sources> + <path-element>as/src</path-element> + </include-sources> + + <include-classes> + <class>CoreClasses</class> + <!--<class>CoreASJSClasses</class>--> + </include-classes> + + <include-namespaces> + <uri>library://ns.apache.org/flexjs/basic</uri> + </include-namespaces> + + <target-player>11.1</target-player> + + +</flex-config>
