You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by er...@apache.org on 2012/12/06 14:30:34 UTC

svn commit: r1417859 [1/2] - in /incubator/flex/asjs/branches/develop: examples/FlexJSTest_again/ examples/FlexJSTest_again/controllers/ examples/FlexJSTest_again/models/ frameworks/as/tests/ frameworks/js/ frameworks/js/src/ frameworks/js/src/flash/ f...

Author: erikdebruin
Date: Thu Dec  6 13:30:33 2012
New Revision: 1417859

URL: http://svn.apache.org/viewvc?rev=1417859&view=rev
Log:
Changing project structure, committing updated FlexJS framework and JS publishing tool set.

Added:
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as   (with props)
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/
    incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as   (with props)
    incubator/flex/asjs/branches/develop/frameworks/as/tests/
    incubator/flex/asjs/branches/develop/frameworks/js/src/
    incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/flash/
    incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/
    incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/
    incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js   (with props)
    incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html   (with props)
    incubator/flex/asjs/branches/develop/publisher/
    incubator/flex/asjs/branches/develop/publisher/README   (with props)
    incubator/flex/asjs/branches/develop/publisher/build.properties   (with props)
    incubator/flex/asjs/branches/develop/publisher/build.xml   (with props)
    incubator/flex/asjs/branches/develop/publisher/index.html.template
    incubator/flex/asjs/branches/develop/publisher/intermediate/
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js   (with props)
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js   (with props)
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js   (with props)
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyModel.js   (with props)
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MySimpleValuesImpl.js   (with props)
    incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/js/
Removed:
    incubator/flex/asjs/branches/develop/frameworks/js/framework.js

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as Thu Dec  6 13:30:33 2012
@@ -0,0 +1,39 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package
+{
+	import org.apache.flex.core.Application;
+	import models.MyModel;
+	import controllers.MyController;
+	
+	public class FlexJSTest extends Application
+	{
+		public function FlexJSTest()
+		{
+			valuesImplClass = MySimpleValuesImpl;
+			initialViewClass = MyInitialView;
+			model = new MyModel();
+			model.labelText = "Hello World!";
+			controller = new MyController(this);
+		}
+		
+		private var controller:MyController;
+		public var model:MyModel;
+	}
+}
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTest.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml Thu Dec  6 13:30:33 2012
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<basic:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				   xmlns:local="*"
+				   xmlns:basic="http://ns.apache.org/flex/basic" 
+				   xmlns:html="http://ns.apache.org/flex/html" 
+				   xmlns:models="models.*" 
+				   xmlns:controllers="controllers.*">
+	<basic:valuesImpl>
+		<local:MySimpleValuesImpl />
+	</basic:valuesImpl>
+	<basic:initialView>
+		<local:MyInitialView />
+	</basic:initialView>
+	<basic:model>
+		<models:MyModel />
+	</basic:model>
+	<basic:controller>
+		<controllers:MyController />
+	</basic:controller>
+</basic:Application>
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/FlexJSTestMXML.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as Thu Dec  6 13:30:33 2012
@@ -0,0 +1,69 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+	import flash.events.Event;
+	
+	import org.apache.flex.core.ViewBase;
+	import org.apache.flex.html.staticControls.TextButton;
+	import org.apache.flex.html.staticControls.Label;
+	import org.apache.flex.html.staticControls.beads.models.TextModel;
+	
+	public class MyInitialView extends ViewBase
+	{
+		public function MyInitialView()
+		{
+			super();
+		}
+		
+		override public function get uiDescriptors():Array
+		{
+			return [
+				Label,
+				null,
+				"lbl",
+				2,
+				"x", 100,
+				"y", 25,
+				0,
+				0,
+				1, 
+				"text", 0, "model", "labelText", "labelTextChanged",
+				TextButton,
+				null,
+				null,
+				3,
+				"text", "OK",
+				"x", 100,
+				"y", 75,
+				0,
+				1,
+				"click", clickHandler,
+				0
+				];
+		}
+		
+		public var lbl:Label;
+		
+		private function clickHandler(event:Event):void
+		{
+			dispatchEvent(new Event("buttonClicked"));
+		}
+	}
+}
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialView.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml Thu Dec  6 13:30:33 2012
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+
+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.
+
+-->
+<basic:ViewBase xmlns:fx="http://ns.adobe.com/mxml/2009"
+				   xmlns:basic="http://ns.apache.org/flex/basic" 
+				   xmlns:html="http://ns.apache.org/flex/html" 
+				   >
+	<basic:Label id="lbl" x="100" y="25" text="{model.labelText}" />
+	<basic:Button text="OK" x="100" y="75" click="dispatchEvent(new Event('buttonClicked'))" />
+</basic:ViewBase>

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MyInitialViewMXML.mxml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as Thu Dec  6 13:30:33 2012
@@ -0,0 +1,42 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package 
+{
+	import flash.events.IEventDispatcher;
+	
+	import org.apache.flex.core.SimpleValuesImpl;
+	import org.apache.flex.html.staticControls.beads.TextButtonBead;
+	import org.apache.flex.html.staticControls.beads.TextFieldBead;
+	import org.apache.flex.html.staticControls.beads.models.TextModel;
+	
+	public class MySimpleValuesImpl extends SimpleValuesImpl
+	{
+		public function MySimpleValuesImpl()
+		{
+			super();
+			values = { 
+				ITextButtonBead: TextButtonBead,
+				ITextBead: TextFieldBead,
+				ITextModel: TextModel				
+			}
+		}
+		
+		
+	}
+}
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/MySimpleValuesImpl.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as Thu Dec  6 13:30:33 2012
@@ -0,0 +1,43 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package controllers
+{
+	import flash.events.Event;
+
+	public class MyController
+	{
+		public function MyController(app:FlexJSTest)
+		{
+			this.app = app;
+			app.addEventListener("viewChanged", viewChangeHandler);
+		}
+		
+		private var app:FlexJSTest;
+		
+		private function viewChangeHandler(event:Event):void
+		{
+			app.initialView.addEventListener("buttonClicked", buttonClickHandler);
+		}
+		
+		private function buttonClickHandler(event:Event):void
+		{
+			app.model.labelText = "Hello Universe";
+		}
+	}
+}
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/controllers/MyController.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as (added)
+++ incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as Thu Dec  6 13:30:33 2012
@@ -0,0 +1,46 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package models
+{
+	import flash.events.EventDispatcher;
+	import flash.events.Event;
+	
+	public class MyModel extends EventDispatcher
+	{
+		public function MyModel()
+		{
+		}
+		
+		private var _labelText:String;
+		
+		public function get labelText():String
+		{
+			return _labelText;
+		}
+		
+		public function set labelText(value:String):void
+		{
+			if (value != _labelText)
+			{
+				_labelText = value;
+				dispatchEvent(new Event("labelTextChanged"));
+			}
+		}
+	}
+}
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/examples/FlexJSTest_again/models/MyModel.as
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,66 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.FlexGlobal');
+
+goog.require('flash.events.Event');
+
+/**
+ * @constructor
+ */
+org.apache.flex.FlexGlobal = function() {};
+
+/**
+ * @param {Object} context The context.
+ * @param {?} method The method.
+ * @return {function (?): void} Return new proxy.
+ */
+org.apache.flex.FlexGlobal.createProxy = function(context, method) {
+    return function(value) {
+        method.apply(context, [value]);
+    };
+};
+
+/**
+ * @param {?} ctor The creator.
+ * @param {Array} ctorArgs The creator arguments.
+ * @return {Object} Return the new object.
+ */
+org.apache.flex.FlexGlobal.newObject = function(ctor, ctorArgs) {
+    var evt;
+
+    if (ctor === flash.events.Event && ctorArgs.length === 1) {
+        evt = document.createEvent('Event');
+        evt.initEvent(ctorArgs[0], false, false);
+
+        return evt;
+    }
+
+    if (ctorArgs.length === 1) {
+        return new ctor(ctorArgs[0]);
+    }
+
+    if (ctorArgs.length === 0) {
+        return new ctor();
+    }
+
+    return {};
+};
+
+/**
+ * @enum {string}
+ */
+org.apache.flex.FlexGlobal.EventMap = {
+    CLICK: 'onClick'
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/FlexGlobal.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,26 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.FlexObject');
+
+/**
+ * @constructor
+ */
+org.apache.flex.FlexObject = function() {};
+
+/**
+ * @protected
+ * @type {Object}
+ */
+org.apache.flex.FlexObject.prototype.element = null;

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/FlexObject.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,34 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('flash.events.Event');
+
+/**
+ * @constructor
+ */
+flash.events.Event = function() {
+    /**
+     * @private
+     * @type {string}
+     */
+     this.type_;
+};
+
+/**
+ * @this {flash.events.Event}
+ * @param {string} type The event type.
+ */
+flash.events.Event.prototype.init = function(type) {
+    this.type_ = type;
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/Event.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,63 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('flash.events.EventDispatcher');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexGlobal}
+ */
+flash.events.EventDispatcher = function() {
+    org.apache.flex.FlexGlobal.call(this);
+
+    /**
+     * @private
+     * @type {Object}
+     */
+    this.listeners_ = {};
+};
+goog.inherits(flash.events.EventDispatcher, org.apache.flex.FlexGlobal);
+
+/**
+ * @this {flash.events.EventDispatcher}
+ * @param {string} type The event type.
+ * @param {function(?): ?} fn The event handler.
+ */
+flash.events.EventDispatcher.prototype.addEventListener = function(type, fn) {
+    if (!this.listeners_.type) {
+        this.listeners_[type] = [];
+    }
+
+    this.listeners_[type].push(fn);
+};
+
+/**
+ * @this {flash.events.EventDispatcher}
+ * @param {Object} event The event to dispatch.
+ */
+flash.events.EventDispatcher.prototype.dispatchEvent = function(event) {
+    var arr, i, n, type;
+
+    type = event.type;
+
+    if (this.listeners_[type]) {
+        arr = this.listeners_[type];
+        n = arr.length;
+        for (i = 0; i < n; i++) {
+            arr[i](event);
+        }
+    }
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/flash/events/EventDispatcher.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,81 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.binding.SimpleBinding');
+
+goog.require('org.apache.flex.FlexGlobal');
+goog.require('org.apache.flex.FlexObject');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexObject}
+ */
+org.apache.flex.binding.SimpleBinding = function() {
+    org.apache.flex.FlexObject.call(this);
+};
+goog.inherits(
+    org.apache.flex.binding.SimpleBinding, org.apache.flex.FlexObject
+);
+
+/**
+ * @expose
+ * @type {Object}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.destination = null;
+
+/**
+ * @expose
+ * @type {string}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.destinationPropertyName = "";
+
+/**
+ * @expose
+ * @type {string}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.eventName = "";
+
+/**
+ * @expose
+ * @type {Object}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.source = null;
+
+/**
+ * @expose
+ * @type {string}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.sourcePropertyName = "";
+
+/**
+ * @this {org.apache.flex.binding.SimpleBinding}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.changeHandler = function() {
+    this.destination['set_' + this.destinationPropertyName](
+        this.source['get_' + this.sourcePropertyName]()
+    );
+};
+
+/**
+ * @this {org.apache.flex.binding.SimpleBinding}
+ */
+org.apache.flex.binding.SimpleBinding.prototype.initialize = function() {
+    this.source.addEventListener(
+        this.eventName, org.apache.flex.FlexGlobal.createProxy(
+            this, this.changeHandler
+        )
+    );
+
+    this.changeHandler();
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/binding/SimpleBinding.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,112 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.core.Application');
+
+goog.require('org.apache.flex.FlexGlobal');
+goog.require('org.apache.flex.FlexObject');
+
+goog.require('org.apache.flex.core.SimpleValuesImpl');
+goog.require('org.apache.flex.core.ValuesManager');
+goog.require('org.apache.flex.core.ViewBase');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexObject}
+ */
+org.apache.flex.core.Application = function() {
+    org.apache.flex.FlexObject.call(this);
+
+    /**
+     * @private
+     * @type {Array.<Object>}
+     */
+    this.queuedListeners_;
+};
+goog.inherits(org.apache.flex.core.Application, org.apache.flex.FlexObject);
+
+/**
+ * @expose
+ * @type {Object}
+ */
+org.apache.flex.core.Application.prototype.controller = null;
+
+/**
+ * @expose
+ * @type {org.apache.flex.core.ViewBase}
+ */
+org.apache.flex.core.Application.prototype.initialView = null;
+
+/**
+ * @expose
+ * @type {flash.events.EventDispatcher}
+ */
+org.apache.flex.core.Application.prototype.model = null;
+
+/**
+ * @expose
+ * @type {org.apache.flex.core.SimpleValuesImpl}
+ */
+org.apache.flex.core.Application.prototype.valuesImpl = null;
+
+/**
+ * @this {org.apache.flex.core.Application}
+ * @param {string} t The event type.
+ * @param {function(?): ?} fn The event handler.
+ */
+org.apache.flex.core.Application.prototype.addEventListener = function(t, fn) {
+    if (!this.element) {
+        if (!this.queuedListeners_) {
+            this.queuedListeners_ = [];
+        }
+
+        this.queuedListeners_.push({ type: t, handler: fn });
+
+        return;
+    }
+
+    if (typeof this.element.attachEvent == 'function') {
+        this.element.attachEvent(org.apache.flex.FlexGlobal.EventMap[t], fn);
+    } else if (typeof this.element.addEventListener == 'function') {
+        this.element.addEventListener(t, fn);
+    }
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.core.Application}
+ */
+org.apache.flex.core.Application.prototype.start = function() {
+    var evt, i, n, q;
+
+    this.element = document.getElementsByTagName('body')[0];
+
+    if (this.queuedListeners_) {
+        n = this.queuedListeners_.length;
+        for (i = 0; i < n; i++) {
+            q = this.queuedListeners_[i];
+
+            this.addEventListener(q.type, q.handler);
+        }
+    }
+
+    org.apache.flex.core.ValuesManager.valuesImpl = this.valuesImpl;
+
+    this.initialView.addToParent(this.element);
+    this.initialView.initUI(this);
+
+    evt = document.createEvent('Event');
+    evt.initEvent('viewChanged', true, true);
+    this.element.dispatchEvent(evt);
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/Application.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,28 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.core.SimpleValuesImpl');
+
+goog.require('org.apache.flex.FlexObject');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexObject}
+ */
+org.apache.flex.core.SimpleValuesImpl = function() {
+    org.apache.flex.FlexObject.call(this);
+};
+goog.inherits(
+    org.apache.flex.core.SimpleValuesImpl, org.apache.flex.FlexObject
+);

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/SimpleValuesImpl.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,84 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.core.UIBase');
+
+goog.require('org.apache.flex.FlexGlobal');
+goog.require('org.apache.flex.FlexObject');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexObject}
+ */
+org.apache.flex.core.UIBase = function() {
+    org.apache.flex.FlexObject.call(this);
+
+    /**
+     * @protected
+     * @type {Object}
+     */
+    this.positioner;
+};
+goog.inherits(org.apache.flex.core.UIBase, org.apache.flex.FlexObject);
+
+/**
+ * @this {org.apache.flex.core.UIBase}
+ * @param {string} type The event type.
+ * @param {function(?): ?} fn The event handler.
+ */
+org.apache.flex.core.UIBase.prototype.addEventListener = function(type, fn) {
+    if (typeof this.element.attachEvent == 'function') {
+        this.element.attachEvent(org.apache.flex.FlexGlobal.EventMap[type], fn);
+    } else if (typeof this.element.addEventListener == 'function') {
+        this.element.addEventListener(type, fn);
+    }
+};
+
+/**
+ * @this {org.apache.flex.core.UIBase}
+ * @param {Object} p The parent element.
+ */
+org.apache.flex.core.UIBase.prototype.addToParent = function(p) {
+    this.element = document.createElement('div');
+
+    p.appendChild(this.element);
+};
+
+/**
+ * @this {org.apache.flex.core.UIBase}
+ * @param {flash.events.Event} evt The event.
+ */
+org.apache.flex.core.UIBase.prototype.dispatchEvent = function(evt) {
+    this.element.dispatchEvent(evt);
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.core.UIBase}
+ * @param {number} pixels The pixel count from the left edge.
+ */
+org.apache.flex.core.UIBase.prototype.set_x = function(pixels) {
+    this.positioner.style.position = 'absolute';
+    this.positioner.style.left = pixels.toString() + 'px';
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.core.UIBase}
+ * @param {number} pixels The pixel count from the top edge.
+ */
+org.apache.flex.core.UIBase.prototype.set_y = function(pixels) {
+    this.positioner.style.position = 'absolute';
+    this.positioner.style.top = pixels.toString() + 'px';
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/UIBase.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,32 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.core.ValuesManager');
+
+goog.require('org.apache.flex.FlexObject');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.FlexObject}
+ */
+org.apache.flex.core.ValuesManager = function() {
+    org.apache.flex.FlexObject.call(this);
+};
+goog.inherits(org.apache.flex.core.ValuesManager, org.apache.flex.FlexObject);
+
+/**
+ * @expose
+ * @type {org.apache.flex.core.SimpleValuesImpl}
+ */
+org.apache.flex.core.ValuesManager.prototype.valuesImpl;

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ValuesManager.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,134 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.core.ViewBase');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+goog.require('org.apache.flex.binding.SimpleBinding');
+
+goog.require('org.apache.flex.core.UIBase');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.UIBase}
+ */
+org.apache.flex.core.ViewBase = function() {
+    org.apache.flex.core.UIBase.call(this);
+
+     /**
+      * @private
+      * @type {org.apache.flex.core.ViewBase}
+      */
+      this.currentObject_;
+};
+goog.inherits(org.apache.flex.core.ViewBase, org.apache.flex.core.UIBase);
+
+/**
+ * @protected
+ * @return {Array} The array of UI element descriptors.
+ */
+org.apache.flex.core.ViewBase.prototype.get_uiDescriptors = function() {
+    return [];
+};
+
+/**
+ * @this {org.apache.flex.core.ViewBase}
+ * @param {org.apache.flex.core.Application} app The main application.
+ */
+org.apache.flex.core.ViewBase.prototype.initUI = function(app) {
+    var count, descriptor, descriptors, i, j, n, sb, value;
+
+    descriptors = this.get_uiDescriptors();
+
+    if (descriptors && descriptors.length) {
+        n = descriptors.length;
+        i = 0;
+        while (i < n)
+        {
+            // class (index 0)
+            descriptor = descriptors[i++];
+            this.currentObject_ =
+                /* : org.apache.flex.core.ViewBase */ new descriptor();
+            this.currentObject_.addToParent(this.element);
+
+            // model (index 1)
+            descriptor = descriptors[i++];
+            if (descriptor) {
+                value = new descriptor();
+                this.currentObject_.addBead(value);
+            }
+            if (typeof this.currentObject_.initModel == 'function') {
+                this.currentObject_.initModel();
+            }
+
+            // id (index 2)
+            descriptor = descriptors[i++];
+            if (descriptor) {
+                this[descriptor] = this.currentObject_;
+            }
+
+            // num props
+            count = descriptors[i++];
+            for (j = 0; j < count; j++) {
+                descriptor = descriptors[i++];
+                value = descriptors[i++];
+                this.currentObject_['set_' + descriptor](value);
+            }
+
+            // num beads
+            count = descriptors[i++];
+            for (j = 0; j < count; j++) {
+                descriptor = descriptors[i++];
+                value = new descriptor();
+                this.currentObject_.addBead(value);
+            }
+            if (typeof this.currentObject_.initSkin == 'function') {
+                this.currentObject_.initSkin();
+            }
+
+            // num events
+            count = descriptors[i++];
+            for (j = 0; j < count; j++) {
+                descriptor = descriptors[i++];
+                value = descriptors[i++];
+                this.currentObject_.addEventListener(
+                    descriptor, org.apache.flex.FlexGlobal.createProxy(
+                        this, value
+                    )
+                );
+            }
+
+            // num bindings
+            count = descriptors[i++];
+            for (j = 0; j < count; j++) {
+                descriptor = descriptors[i++];
+                value = descriptors[i++];
+                switch (value) {
+                    case 0 : {
+                        sb = new org.apache.flex.binding.SimpleBinding();
+                        sb.destination = this.currentObject_;
+                        sb.destinationPropertyName = descriptor;
+                        sb.source = app[descriptors[i++]];
+                        sb.sourcePropertyName = descriptors[i++];
+                        sb.eventName = descriptors[i++];
+                        sb.initialize();
+
+                        break;
+                    }
+                }
+            }
+        }
+    }
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/core/ViewBase.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,57 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.html.staticControls.Label');
+
+goog.require('org.apache.flex.core.UIBase');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.UIBase}
+ */
+org.apache.flex.html.staticControls.Label = function() {
+    org.apache.flex.core.UIBase.call(this);
+};
+goog.inherits(
+    org.apache.flex.html.staticControls.Label, org.apache.flex.core.UIBase
+);
+
+/**
+ * @override
+ * @this {org.apache.flex.html.staticControls.Label}
+ * @param {Object} p The parent element.
+ */
+org.apache.flex.html.staticControls.Label.prototype.addToParent = function(p) {
+    goog.base(this, 'addToParent', p);
+
+    this.positioner = this.element;
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.html.staticControls.Label}
+ * @return {string} The text getter.
+ */
+org.apache.flex.html.staticControls.Label.prototype.get_text = function() {
+    return this.element.innerHTML;
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.html.staticControls.Label}
+ * @param {string} value The text setter.
+ */
+org.apache.flex.html.staticControls.Label.prototype.set_text = function(value) {
+    this.element.innerHTML = value;
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/Label.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,62 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('org.apache.flex.html.staticControls.TextButton');
+
+goog.require('org.apache.flex.core.UIBase');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.UIBase}
+ */
+org.apache.flex.html.staticControls.TextButton = function() {
+    org.apache.flex.core.UIBase.call(this);
+};
+goog.inherits(
+    org.apache.flex.html.staticControls.TextButton, org.apache.flex.core.UIBase
+);
+
+/**
+ * @override
+ * @this {org.apache.flex.html.staticControls.TextButton}
+ * @param {Object} p The parent element.
+ */
+org.apache.flex.html.staticControls.TextButton.prototype.addToParent =
+    function(p) {
+    this.element = document.createElement('input');
+    this.element.setAttribute('type', 'button');
+
+    p.appendChild(this.element);
+
+    this.positioner = this.element;
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.html.staticControls.TextButton}
+ * @return {string} The text getter.
+ */
+org.apache.flex.html.staticControls.TextButton.prototype.get_text = function() {
+    return this.element.value;
+};
+
+/**
+ * @expose
+ * @this {org.apache.flex.html.staticControls.TextButton}
+ * @param {string} value The text setter.
+ */
+org.apache.flex.html.staticControls.TextButton.prototype.set_text =
+    function(value) {
+    this.element.value = value;
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/src/org/apache/flex/html/staticControls/TextButton.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,59 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('FlexJSTest');
+
+goog.require('MyController');
+goog.require('MyInitialView');
+goog.require('MyModel');
+goog.require('MySimpleValuesImpl');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+goog.require('org.apache.flex.core.Application');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.Application}
+ */
+FlexJSTest = function() {
+    org.apache.flex.core.Application.call(this);
+
+    this.controller = org.apache.flex.FlexGlobal.newObject(
+        MyController, [this]
+    );
+
+    this.initialView =
+        /** @type {org.apache.flex.core.ViewBase} */ (
+            org.apache.flex.FlexGlobal.newObject(MyInitialView, [this])
+        );
+
+    this.model =
+        /** @type {flash.events.EventDispatcher} */ (
+            org.apache.flex.FlexGlobal.newObject(MyModel, [])
+        );
+    this.model.set_labelText('Say hi!');
+
+    this.valuesImpl =
+        /** @type {org.apache.flex.core.SimpleValuesImpl} */ (
+            org.apache.flex.FlexGlobal.newObject(MySimpleValuesImpl, [this])
+        );
+
+    // this method of logging survives the Closure Compiler
+    //window['console']['log'](app);
+};
+goog.inherits(FlexJSTest, org.apache.flex.core.Application);
+
+// Ensures the symbol will be visible after compiler renaming.
+goog.exportSymbol('FlexJSTest', FlexJSTest);

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/FlexJSTest.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,56 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MyController');
+
+goog.require('flash.events.EventDispatcher');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+/**
+ * @constructor
+ * @param {org.apache.flex.core.Application} app The main application.
+ */
+MyController = function(app) {
+    /**
+     * @type {org.apache.flex.core.Application}
+     */
+    this.app = app || null;
+
+    this.app.addEventListener(
+        'viewChanged', org.apache.flex.FlexGlobal.createProxy(
+            this, this.viewChangeHandler
+        )
+    );
+};
+
+/**
+ * @this {MyController}
+ * @param {flash.events.Event} event The event.
+ */
+MyController.prototype.viewChangeHandler = function(event) {
+    this.app.initialView.addEventListener(
+        'buttonClicked', org.apache.flex.FlexGlobal.createProxy(
+            this, this.buttonClickHandler
+        )
+    );
+};
+
+/**
+ * @this {MyController}
+ * @param {flash.events.Event} event The event.
+ */
+MyController.prototype.buttonClickHandler = function(event) {
+    this.app.model.set_labelText('Hello Universe');
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyController.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,67 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MyInitialView');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+goog.require('org.apache.flex.core.ViewBase');
+goog.require('org.apache.flex.html.staticControls.Label');
+goog.require('org.apache.flex.html.staticControls.TextButton');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.ViewBase}
+ */
+MyInitialView = function() {
+    org.apache.flex.core.ViewBase.call(this);
+};
+goog.inherits(MyInitialView, org.apache.flex.core.ViewBase);
+
+/**
+ * @override
+ * @this {org.apache.flex.core.ViewBase}
+ * @return {Array} The array of UI element descriptors.
+ */
+MyInitialView.prototype.get_uiDescriptors = function() {
+    return [
+        org.apache.flex.html.staticControls.Label,
+            null,
+            'lbl',
+            2, 'x', 100, 'y', 25,
+            0,
+            0,
+            1, 'text', 0, 'model', 'labelText', 'labelTextChanged',
+        org.apache.flex.html.staticControls.TextButton,
+            null,
+            null,
+            3, 'text', 'OK', 'x', 100, 'y', 75,
+            0,
+            1, 'click', this.clickHandler, 0
+    ];
+};
+
+/**
+ * @this {MyInitialView}
+ * @param {flash.events.Event} event The event.
+ */
+MyInitialView.prototype.clickHandler = function(event) {
+    this.dispatchEvent(
+        /** @type {flash.events.Event} */ (
+            org.apache.flex.FlexGlobal.newObject(
+                flash.events.Event, ['buttonClicked']
+            )
+        )
+    );
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyInitialView.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,60 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MyModel');
+
+goog.require('flash.events.EventDispatcher');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+/**
+ * @constructor
+ * @extends {flash.events.EventDispatcher}
+ */
+MyModel = function() {
+    flash.events.EventDispatcher.call(this);
+
+    /**
+     * @private
+     * @type {string}
+     */
+    this.labelText_;
+};
+goog.inherits(MyModel, flash.events.EventDispatcher);
+
+/**
+ * @expose
+ * @this {MyModel}
+ * @return {string} The labelText getter.
+ */
+MyModel.prototype.get_labelText = function() {
+    return this.labelText_;
+};
+
+/**
+ * @expose
+ * @this {MyModel}
+ * @param {string} value The labelText setter.
+ */
+MyModel.prototype.set_labelText = function(value) {
+    if (value != this.labelText_) {
+        this.labelText_ = value;
+
+        this.dispatchEvent(
+            org.apache.flex.FlexGlobal.newObject(
+                flash.events.Event, ['labelTextChanged']
+            )
+        );
+    }
+};

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/MyModel.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,41 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MySimpleValuesImpl');
+
+goog.require('org.apache.flex.core.SimpleValuesImpl');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.SimpleValuesImpl}
+ */
+MySimpleValuesImpl = function() {
+    org.apache.flex.core.SimpleValuesImpl.call(this);
+
+    /**
+     * @private
+     * @type {Object}
+     */
+    this.values_ = {
+        /*
+        ITextButtonBead :
+            org.apache.flex.html.staticControls.beads.TextButtonBead,
+        ITextBead :
+            org.apache.flex.html.staticControls.beads.TextFieldBead,
+        ITextModel :
+            org.apache.flex.html.staticControls.beads.models.TextModel
+        */
+    };
+};
+goog.inherits(MySimpleValuesImpl, org.apache.flex.core.SimpleValuesImpl);

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/MySimpleValuesImpl.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html (added)
+++ incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html Thu Dec  6 13:30:33 2012
@@ -0,0 +1,43 @@
+<html>
+<head>
+
+    <!-- start "compiled" -->
+    <script type="text/javascript" src="./FlexJS.js"></script>
+    <!-- end "compiled" -->
+
+    <!-- start "all": sequence matters ;-) ->
+
+    <script type="text/javascript" src="../closure/library/closure/goog/base.js"></script>
+
+    <script type="text/javascript" src="../src/FlexObject.js"></script>
+
+    <script type="text/javascript" src="../src/flash/events/Event.js"></script>
+
+    <script type="text/javascript" src="../src/FlexGlobal.js"></script>
+
+    <script type="text/javascript" src="../src/flash/events/EventDispatcher.js"></script>
+
+    <script type="text/javascript" src="../src/org/apache/flex/binding/SimpleBinding.js"></script>
+
+    <script type="text/javascript" src="../src/org/apache/flex/core/UIBase.js"></script>
+    <script type="text/javascript" src="../src/org/apache/flex/core/ViewBase.js"></script>
+    <script type="text/javascript" src="../src/org/apache/flex/core/ValuesManager.js"></script>
+    <script type="text/javascript" src="../src/org/apache/flex/core/SimpleValuesImpl.js"></script>
+    <script type="text/javascript" src="../src/org/apache/flex/core/Application.js"></script>
+
+    <script type="text/javascript" src="../src/org/apache/flex/html/staticControls/Label.js"></script>
+    <script type="text/javascript" src="../src/org/apache/flex/html/staticControls/TextButton.js"></script>
+
+    <script type="text/javascript" src="./MySimpleValuesImpl.js"></script>
+    <script type="text/javascript" src="./MyController.js"></script>
+    <script type="text/javascript" src="./MyModel.js"></script>
+    <script type="text/javascript" src="./MyInitialView.js"></script>
+
+    <script type="text/javascript" src="./FlexJSTest.js"></script>
+
+    <!-- end "all" -->
+
+</head>
+<body onload="new FlexJSTest().start();">
+</body>
+</html>
\ No newline at end of file

Propchange: incubator/flex/asjs/branches/develop/frameworks/js/tests/test.html
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/README
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/README?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/README (added)
+++ incubator/flex/asjs/branches/develop/publisher/README Thu Dec  6 13:30:33 2012
@@ -0,0 +1,98 @@
+ASJS Publisher
+==============
+
+    The ASJS Publisher is a tool to cross-compile projects from ActionScript (AS) 
+    to Javascript (JS). On the AS side, a project needs to be built with the
+    FlexJS AS framework (instead of the regular Flex SDK). The Publisher collects 
+    the project's AS code and uses the FalconJS compiler to create JS code. This 
+    JS code is then combined with the FlexJS JS framework using the Google Closure
+    Builder. This tool takes all the JS files, calculates dependencies and creates
+    one, highly optimized and minified, JS file: FlexJS.js. This one file is
+    combined with a minimal HTML file and together these contain all code needed 
+    to play the project in a browser.
+
+    The Publisher also contains some targets that help with developing the FlexJS
+    JS framework, like a Linter to check the correct use of coding conventions. For
+    more information, read on.
+    
+Using the Publisher
+===================
+
+Prerequisites
+-------------
+
+    The ASJS Publisher relies on the Google Closure Tools:
+        
+        https://developers.google.com/closure/
+    
+    In particular it uses the Library, Linter, Compiler and Builder. In order
+    to use the Publisher on your machine, you'll have to download/install these
+    tools first.
+
+    1)  Prepare a root directory to hold the various tools.
+    
+    2)  Get the Google Closure Library into '<root>/library'
+    
+            svn checkout http://closure-library.googlecode.com/svn/trunk/ library
+        
+    3)  Install the Google Closure Linter into '<root>/linter'
+
+            https://developers.google.com/closure/utilities/docs/linter_howto
+
+    4)  Download the Google Closure Compiler and unzip into '<root>/compiler'
+        
+            http://closure-compiler.googlecode.com/files/compiler-latest.zip
+    
+    5)  Get the Google Closure Builder into '<root>/builder'
+    
+            svn checkout http://closure-library.googlecode.com/svn/trunk/closure/bin/build/ builder
+    
+Preparing for publishing
+------------------------
+
+    1)  The ASJS Publisher uses the FalconJS compiler, which in turn needs the
+        Falcon compiler. Get Falcon from SVN:
+        
+            https://svn.apache.org/repos/asf/incubator/flex/falcon/trunk
+            
+        And build it using the README as your guide.
+    
+    2)  The Publisher is an ant script, 'build.xml', which uses 
+        'build.properties' and command line arguments to set dynamic properties. 
+        Before your run you need to edit 'build.properties' to reflect the 
+        various system specific properties.
+    
+Publishing
+----------
+
+    A full run ('main') of the ant script takes 2 command line arguments: 
+    path.name and path.location. Usage is:
+    
+        ant -Dapp.name=<your.app.name.here> -Dapp.location=<your.app.location.here>
+    
+    'app.name' is the name of the FlexJS AS project you want to publish. 'app.location' 
+    is the full path to the directory this project lives in. If you're working 
+    from an intermediate FlexJS JS project (see below), the second argument is
+    not needed, as that type of project lives in the 'intermediate' directory
+    in the Publisher root.
+    
+    NOTE: as of 2012-12-06, the FalconJS compiler doesn't output JS that can be 
+    parsed by the new tool set. While this is being corrected, you'll have to 
+    create your own 'intermediate' JS project, or modify one of the examples 
+    (I've included 'FlexJSTest_dummy' in the repo). Make sure to not include the 
+    'falconJS' dependency (?) in the build.xml and if you don't want to loose 
+    your work, set CLEAN_INTERMEDIATE_JS to 'false' in build.properties.
+    
+    If you're doing work on the FlexJS JS framework, you should use 
+    
+        ant lint
+        
+    regularly, to make sure your code is formatted correctly and in perfect
+    condition to be parsed by the Google Closure Compiler.
+    
+That's it, have fun!
+
+The Apache Flex Project
+    
+    <http://incubator.apache.org/flex/>
+    

Propchange: incubator/flex/asjs/branches/develop/publisher/README
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/build.properties
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/build.properties?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/build.properties (added)
+++ incubator/flex/asjs/branches/develop/publisher/build.properties Thu Dec  6 13:30:33 2012
@@ -0,0 +1,27 @@
+<!--
+
+  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.
+
+-->
+
+# Clean out the previous run's intermediate files? Set false if working with a dummy set of JS intermediairies.
+CLEAN_INTERMEDIATE_JS=false
+
+# Location of the Google Closure Tools
+DIR_CLOSURE=/Users/erik/Documents/ApacheFlex/dependencies/GoogleClosure
+
+# Location of the FalconJS mxmlc script
+FILE_FALCONJS_COMPILE_SCRIPT=/Users/erik/Documents/ApacheFlex/repo/falcon/compiler.js/bin/mxmlc

Propchange: incubator/flex/asjs/branches/develop/publisher/build.properties
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/build.xml
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/build.xml?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/build.xml (added)
+++ incubator/flex/asjs/branches/develop/publisher/build.xml Thu Dec  6 13:30:33 2012
@@ -0,0 +1,114 @@
+<?xml version="1.0"?>
+<!--
+
+  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.
+
+-->
+<project name="asjsPublisher" default="main" basedir=".">
+    <property file="${basedir}/build.properties" description="Properties for the ASJS Publisher" />
+
+    <property name="DIR_CLOSURE_LIBRARY" value="${DIR_CLOSURE}/library" />
+    <property name="FILE_CLOSURE_BUILDER" value="${DIR_CLOSURE}/builder/closurebuilder.py" />
+    <property name="FILE_CLOSURE_DEPENDENCIES" value="${DIR_CLOSURE_LIBRARY}/closure/goog/deps.js" />
+    <property name="FILE_CLOSURE_JAR" value="${DIR_CLOSURE}/compiler/compiler.jar" />
+    
+    <property name="DIR_FRAMEWORK" value="${basedir}/../frameworks/js/src" />
+
+    <property name="DIR_INTERMEDIATE" value="${basedir}/intermediate" />
+    <property name="DIR_RELEASE" value="${basedir}/release" />
+
+    <property name="DIR_INTERMEDIATE_APPLICATION" value="${DIR_INTERMEDIATE}/${app.name}" />
+    <property name="DIR_RELEASE_APPLICATION" value="${DIR_RELEASE}/${app.name}" />
+
+    <property name="FILE_HTML_TEMPLATE" value="${basedir}/index.html.template" />
+    <property name="FILE_RELEASE" value="${DIR_RELEASE_APPLICATION}/FlexJS.js" />
+
+    <macrodef name="closureBuilder">
+        <sequential>
+            <exec executable="python" failonerror="true" logError="true">
+                <arg value="${FILE_CLOSURE_BUILDER}" />
+                <arg line="--root=${DIR_CLOSURE_LIBRARY}" />
+                <arg line="--root=${DIR_FRAMEWORK}" />
+                <arg line="--root=${DIR_INTERMEDIATE_APPLICATION}" />
+                <arg line="--output_mode=compiled" />
+                <arg line="--compiler_jar=${FILE_CLOSURE_JAR}" />
+                <arg line="--output_file=${FILE_RELEASE}" />
+                <arg line="--compiler_flags=--compilation_level=ADVANCED_OPTIMIZATIONS" />
+                <arg line="--compiler_flags=--js=${FILE_CLOSURE_DEPENDENCIES}" />
+                <arg line="--compiler_flags=--warning_level=VERBOSE" />
+                <arg line="--namespace=${app.name}" />
+                <arg line="--compiler_flags=--jscomp_error=checkTypes" />
+            </exec>
+        </sequential>
+    </macrodef>
+
+    <!-- target name="main" description="Compiles framework files" depends="clean,createDirs,falconJS,closureBuilding,createHTML" / -->
+    <target name="main" description="Compiles framework files" depends="clean,createDirs,lint,closureBuilding,createHTML" />
+
+    <target name="clean" description="Clean up previous runs" depends="cleanIntermediate,cleanRelease">
+        <echo>Delete 'intermediate' and 'release' directories</echo>
+    </target>
+
+    <target name="checkDeleteIntermediate">
+        <condition property="deleteIntermediate">
+            <istrue value="${CLEAN_INTERMEDIATE_JS}" />
+        </condition>
+    </target>
+
+    <target name="cleanIntermediate" depends="checkDeleteIntermediate" if="deleteIntermediate">
+        <delete dir="${DIR_INTERMEDIATE_APPLICATION}" />
+    </target>
+
+    <target name="cleanRelease">
+        <delete dir="${DIR_RELEASE_APPLICATION}" />
+    </target>
+
+    <target name="createDirs">
+        <echo>Create 'intermediate' and 'release' directory structure</echo>
+        <mkdir dir="${DIR_INTERMEDIATE_APPLICATION}" />
+        <mkdir dir="${DIR_INTERMEDIATE_APPLICATION}/js" />
+        <mkdir dir="${DIR_RELEASE_APPLICATION}" />
+    </target>
+
+    <target name="falconJS">
+        <echo>Compiling the AS project into intermediate JS</echo>
+        <copy todir="${DIR_INTERMEDIATE_APPLICATION}/as" flatten="true">
+            <fileset dir="${app.location}/${app.name}">
+                <include name="**/*.as"/>
+            </fileset>
+        </copy>
+        <exec executable="${FILE_FALCONJS_COMPILE_SCRIPT}">
+            <arg value="${DIR_INTERMEDIATE_APPLICATION}/as/${app.name}.as"/>
+            <arg value="-output"/>
+            <arg value="${DIR_INTERMEDIATE_APPLICATION}/js/${app.name}.js"/>
+        </exec>
+    </target>
+
+    <target name="lint">
+        <echo>Lint-ing the FlexJS JS framework</echo>
+    </target>
+
+    <target name="closureBuilding">
+        <echo>Creating combined and compiled output JS</echo>
+        <closureBuilder />
+    </target>
+
+    <target name="createHTML">
+        <echo>Creating playback HTML file from template</echo>
+        <copy file="${FILE_HTML_TEMPLATE}" tofile="${DIR_RELEASE_APPLICATION}/${app.name}.html" overwrite="true" />
+        <replace file="${DIR_RELEASE_APPLICATION}/${app.name}.html" token="@APPLICATION_NAME@" value="${app.name}" />
+    </target>
+</project>

Propchange: incubator/flex/asjs/branches/develop/publisher/build.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/index.html.template
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/index.html.template?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/index.html.template (added)
+++ incubator/flex/asjs/branches/develop/publisher/index.html.template Thu Dec  6 13:30:33 2012
@@ -0,0 +1,11 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta http-equiv="X-UA-Compatible" content="IE=edge" >
+	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+    <script type="text/javascript" src="./FlexJS.js"></script>
+</head>
+<body onload="new @APPLICATION_NAME@().start();">
+</body>
+</html>

Added: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js (added)
+++ incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,59 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('FlexJSTest_dummy');
+
+goog.require('MyController');
+goog.require('MyInitialView');
+goog.require('MyModel');
+goog.require('MySimpleValuesImpl');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+goog.require('org.apache.flex.core.Application');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.Application}
+ */
+FlexJSTest_dummy = function() {
+    org.apache.flex.core.Application.call(this);
+
+    this.controller = org.apache.flex.FlexGlobal.newObject(
+        MyController, [this]
+    );
+
+    this.initialView =
+        /** @type {org.apache.flex.core.ViewBase} */ (
+            org.apache.flex.FlexGlobal.newObject(MyInitialView, [this])
+        );
+
+    this.model =
+        /** @type {flash.events.EventDispatcher} */ (
+            org.apache.flex.FlexGlobal.newObject(MyModel, [])
+        );
+    this.model.set_labelText('Say hi!');
+
+    this.valuesImpl =
+        /** @type {org.apache.flex.core.SimpleValuesImpl} */ (
+            org.apache.flex.FlexGlobal.newObject(MySimpleValuesImpl, [this])
+        );
+
+    // this method of logging survives the Closure Compiler
+    //window['console']['log'](app);
+};
+goog.inherits(FlexJSTest_dummy, org.apache.flex.core.Application);
+
+// Ensures the symbol will be visible after compiler renaming.
+goog.exportSymbol('FlexJSTest_dummy', FlexJSTest_dummy);

Propchange: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/FlexJSTest_dummy.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js (added)
+++ incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,56 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MyController');
+
+goog.require('flash.events.EventDispatcher');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+/**
+ * @constructor
+ * @param {org.apache.flex.core.Application} app The main application.
+ */
+MyController = function(app) {
+    /**
+     * @type {org.apache.flex.core.Application}
+     */
+    this.app = app || null;
+
+    this.app.addEventListener(
+        'viewChanged', org.apache.flex.FlexGlobal.createProxy(
+            this, this.viewChangeHandler
+        )
+    );
+};
+
+/**
+ * @this {MyController}
+ * @param {flash.events.Event} event The event.
+ */
+MyController.prototype.viewChangeHandler = function(event) {
+    this.app.initialView.addEventListener(
+        'buttonClicked', org.apache.flex.FlexGlobal.createProxy(
+            this, this.buttonClickHandler
+        )
+    );
+};
+
+/**
+ * @this {MyController}
+ * @param {flash.events.Event} event The event.
+ */
+MyController.prototype.buttonClickHandler = function(event) {
+    this.app.model.set_labelText('Hello Universe');
+};

Propchange: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyController.js
------------------------------------------------------------------------------
    svn:eol-style = native

Added: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js
URL: http://svn.apache.org/viewvc/incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js?rev=1417859&view=auto
==============================================================================
--- incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js (added)
+++ incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js Thu Dec  6 13:30:33 2012
@@ -0,0 +1,67 @@
+/**
+ * Licensed 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.
+ */
+
+goog.provide('MyInitialView');
+
+goog.require('org.apache.flex.FlexGlobal');
+
+goog.require('org.apache.flex.core.ViewBase');
+goog.require('org.apache.flex.html.staticControls.Label');
+goog.require('org.apache.flex.html.staticControls.TextButton');
+
+/**
+ * @constructor
+ * @extends {org.apache.flex.core.ViewBase}
+ */
+MyInitialView = function() {
+    org.apache.flex.core.ViewBase.call(this);
+};
+goog.inherits(MyInitialView, org.apache.flex.core.ViewBase);
+
+/**
+ * @override
+ * @this {org.apache.flex.core.ViewBase}
+ * @return {Array} The array of UI element descriptors.
+ */
+MyInitialView.prototype.get_uiDescriptors = function() {
+    return [
+        org.apache.flex.html.staticControls.Label,
+            null,
+            'lbl',
+            2, 'x', 100, 'y', 25,
+            0,
+            0,
+            1, 'text', 0, 'model', 'labelText', 'labelTextChanged',
+        org.apache.flex.html.staticControls.TextButton,
+            null,
+            null,
+            3, 'text', 'OK', 'x', 100, 'y', 75,
+            0,
+            1, 'click', this.clickHandler, 0
+    ];
+};
+
+/**
+ * @this {MyInitialView}
+ * @param {flash.events.Event} event The event.
+ */
+MyInitialView.prototype.clickHandler = function(event) {
+    this.dispatchEvent(
+        /** @type {flash.events.Event} */ (
+            org.apache.flex.FlexGlobal.newObject(
+                flash.events.Event, ['buttonClicked']
+            )
+        )
+    );
+};

Propchange: incubator/flex/asjs/branches/develop/publisher/intermediate/FlexJSTest_dummy/MyInitialView.js
------------------------------------------------------------------------------
    svn:eol-style = native