flex-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cd...@apache.org
Subject [01/17] git commit: [flex-asjs] [refs/heads/feature-autobuild/example-maven-dirs] - - Refactored the directory structure of the example projects to be maven-style
Date Thu, 27 Oct 2016 15:16:02 GMT
Repository: flex-asjs
Updated Branches:
  refs/heads/feature-autobuild/example-maven-dirs [created] e75059f7b


http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/StyleExample/src/models/MyModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/StyleExample/src/models/MyModel.as b/examples/flexjs/StyleExample/src/models/MyModel.as
deleted file mode 100644
index 20ab016..0000000
--- a/examples/flexjs/StyleExample/src/models/MyModel.as
+++ /dev/null
@@ -1,53 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package models
-{
-	import org.apache.flex.collections.ArrayList;
-	import org.apache.flex.collections.IArrayList;
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-
-	public class MyModel extends EventDispatcher
-	{
-		public function MyModel()
-		{
-		}
-
-        private var _strings:Array = ["AAPL", "ADBE", "FX", "GOOG", "MSFT", "NYSE", "YHOO"];
-        [Bindable("__NoChangeEvent__")]
-        public function get strings():Array
-        {
-            return _strings;
-        }
-
-        private var _gridData:ArrayList = new ArrayList([
-			{month:"January", days:31}, {month:"February", days:28},
-			{month:"March", days:31}, {month:"April", days:30},
-			{month:"May", days:31}, {month:"June", days:30},
-			{month:"July", days:31}, {month:"August", days:31},
-			{month:"September", days:30}, {month:"October", days:31},
-			{month:"November", days:30}, {month:"December", days:31}]);
-		[Bindable("__NoChangeEvent__")]
-		public function get gridData():IArrayList
-		{
-			return _gridData;
-		}
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/TodoListSampleApp.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/TodoListSampleApp.mxml b/examples/flexjs/TodoListSampleApp/src/TodoListSampleApp.mxml
deleted file mode 100644
index e734026..0000000
--- a/examples/flexjs/TodoListSampleApp/src/TodoListSampleApp.mxml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?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.
-//
-////////////////////////////////////////////////////////////////////////////////
--->
-<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
-                   xmlns:js="library://ns.apache.org/flexjs/basic"
-                   xmlns:controllers="sample.todo.controllers.*"
-                   xmlns:models="sample.todo.models.*"
-                   xmlns:views="sample.todo.views.*">
-
-    <js:valuesImpl>
-        <js:SimpleCSSValuesImpl/>
-    </js:valuesImpl>
-
-    <js:controller>
-        <controllers:TodoListController/>
-    </js:controller>
-
-    <js:model>
-        <models:TodoListModel/>
-    </js:model>
-
-    <js:initialView>
-        <views:TodoListView/>
-    </js:initialView>
-
-</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/TodoListSampleApp.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/TodoListSampleApp.mxml b/examples/flexjs/TodoListSampleApp/src/main/flex/TodoListSampleApp.mxml
new file mode 100644
index 0000000..e734026
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/TodoListSampleApp.mxml
@@ -0,0 +1,43 @@
+<?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.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+                   xmlns:js="library://ns.apache.org/flexjs/basic"
+                   xmlns:controllers="sample.todo.controllers.*"
+                   xmlns:models="sample.todo.models.*"
+                   xmlns:views="sample.todo.views.*">
+
+    <js:valuesImpl>
+        <js:SimpleCSSValuesImpl/>
+    </js:valuesImpl>
+
+    <js:controller>
+        <controllers:TodoListController/>
+    </js:controller>
+
+    <js:model>
+        <models:TodoListModel/>
+    </js:model>
+
+    <js:initialView>
+        <views:TodoListView/>
+    </js:initialView>
+
+</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/controllers/TodoListController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/controllers/TodoListController.as b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/controllers/TodoListController.as
new file mode 100644
index 0000000..6402a9c
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/controllers/TodoListController.as
@@ -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.
+//
+////////////////////////////////////////////////////////////////////////////////
+package sample.todo.controllers {
+	import org.apache.flex.core.Application;
+	import org.apache.flex.core.IDocument;
+	import org.apache.flex.events.Event;
+
+	import sample.todo.events.TodoListEvent;
+	import sample.todo.models.TodoListModel;
+
+	public class TodoListController implements IDocument {
+
+		private var model:TodoListModel;
+
+		public function TodoListController(app:Application = null) {
+			 if (app != null) {
+ 				// store the model for future use.
+ 				model = app.model as TodoListModel;
+ 			}
+		}
+
+		/**
+		 *
+		 */
+		public function setDocument(document:Object, id:String = null):void {
+			var app:Application = document as Application;
+			app.addEventListener("viewChanged", viewChangeHandler);
+
+			// store the model for future use
+			model = app.model as TodoListModel;
+		}
+
+		/**
+		 *
+		 * @param event
+		 */
+		private function viewChangeHandler(event:Event):void {
+			var app:Application = event.target as Application;
+			app.initialView.addEventListener(TodoListEvent.LOG_TODO, logTodo);
+			app.initialView.addEventListener(TodoListEvent.ITEM_CHECKED,handleItemChecked);
+			app.initialView.addEventListener(TodoListEvent.ITEM_REMOVE_REQUEST, handleItemRemove);
+		}
+
+		/**
+		 * log todo
+		 * @param event
+		 */
+		public function logTodo(evt:TodoListEvent):void {
+			// still need to change model a view get the changes
+			model.addTodo(evt.todo);
+		}
+
+		public function handleItemChecked(event:TodoListEvent):void {
+			model.toggleItemCheck(event.item);
+		}
+
+		public function handleItemRemove(event:TodoListEvent):void {
+			model.removeItem(event.item);
+		}
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/events/TodoListEvent.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/events/TodoListEvent.as b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/events/TodoListEvent.as
new file mode 100644
index 0000000..7c55b61
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/events/TodoListEvent.as
@@ -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 sample.todo.events {
+    import org.apache.flex.events.Event;
+
+    public class TodoListEvent extends Event {
+
+        public static const LOG_TODO:String = "logTodoEvent";
+		public static const ITEM_CHECKED:String = "itemChecked";
+		public static const ITEM_REMOVE_REQUEST:String = "itemRemoveRequest";
+
+        /**
+         * the todo to log
+         */
+        public var todo:String = null;
+		
+		/**
+		 * handle item selection or removal
+		 */
+		public var item:Object = null;
+
+        public function TodoListEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false) {
+            super(type, bubbles, cancelable);
+        }
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/models/TodoListModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/models/TodoListModel.as b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/models/TodoListModel.as
new file mode 100644
index 0000000..780d4f5
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/models/TodoListModel.as
@@ -0,0 +1,99 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 sample.todo.models {
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.EventDispatcher;
+
+    public class TodoListModel extends EventDispatcher {
+        public function TodoListModel() {
+            super();
+			_filterFunction();
+        }
+
+        private var _todos:Array = [{title:"Get something", selected:true},
+			{title:"Do this", selected:true},
+			{title:"Do that", selected:false}];
+		
+		private var _filteredList:Array = [];
+		private var _filterFunction:Function = showAllTodos;
+
+        [Bindable("todoListChanged")]
+        public function get todos():Array {
+			return _filteredList;
+        }
+
+        public function set todos(value:Array):void {
+            _todos = value;
+			_filterFunction();
+			dispatchEvent(new Event("todoListChanged"));
+        }
+
+        public function addTodo(value:String):Object
+        {
+			var item:Object = {title:value, selected:false};
+			_todos.push(item);
+			
+			_filterFunction();
+			
+			return item;
+        }
+		
+		public function showAllTodos() : void {
+			_filteredList = _todos.slice();
+			dispatchEvent(new Event("todoListChanged"));
+			_filterFunction = showAllTodos;
+		}
+		
+		public function showActiveTodos() : void {
+			_filteredList = [];
+			for (var i:int=0; i < _todos.length; i++) {
+				if (!_todos[i].selected) {
+					_filteredList.push(_todos[i]);
+				}
+			}
+			dispatchEvent(new Event("todoListChanged"));
+			_filterFunction = showActiveTodos;
+		}
+		
+		public function showCompletedTodos() : void {
+			_filteredList = [];
+			for (var i:int=0; i < _todos.length; i++) {
+				if (_todos[i].selected) {
+					_filteredList.push(_todos[i]);
+				}
+			}
+			dispatchEvent(new Event("todoListChanged"));
+			_filterFunction = showCompletedTodos;
+		}
+		
+		public function toggleItemCheck(item:Object) : void {
+			item.selected = !item.selected;
+			_filterFunction();
+			dispatchEvent(new Event("todoListChanged"));
+		}
+		
+		public function removeItem(item:Object) : void {
+			var index:int = _todos.indexOf(item);
+			if (index >= 0) {
+				_todos.splice(index,1);
+			}
+			_filterFunction();
+		}
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/renderers/TodoItemRenderer.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/renderers/TodoItemRenderer.as b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/renderers/TodoItemRenderer.as
new file mode 100644
index 0000000..7a0d6e3
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/renderers/TodoItemRenderer.as
@@ -0,0 +1,90 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 sample.todo.renderers {
+
+    import org.apache.flex.events.Event;
+    import org.apache.flex.events.MouseEvent;
+    import org.apache.flex.html.Button;
+    import org.apache.flex.html.CheckBox;
+    import org.apache.flex.html.Label;
+    import org.apache.flex.html.supportClasses.DataItemRenderer;
+    
+	[Event("checkChanged","org.apache.flex.events.Event")]
+	[Event("removeRequest","org.apache.flex.events.Event")]
+
+    public class TodoItemRenderer extends DataItemRenderer {
+		
+        public function TodoItemRenderer() {
+            super();
+			className = "TodoItemRenderer";
+        }
+
+        private var checkbox:CheckBox;
+        private var title:Label;
+        private var removeButton:Button;
+
+        override public function addedToParent():void {
+            super.addedToParent();
+
+            checkbox = new CheckBox();
+            addElement(checkbox);
+			checkbox.addEventListener("change", checkBoxChange);
+
+            title = new Label();
+            addElement(title);
+
+            removeButton = new Button();
+            addElement(removeButton);
+			removeButton.addEventListener("click", removeClick);
+        }
+
+        override public function set data(value:Object):void {
+            super.data = value;
+
+            checkbox.selected = data.selected;
+            title.text = data.title;
+        }
+
+        override public function adjustSize():void {
+        	var hgt:Number = this.height;
+            var cy:Number = this.height / 2;
+
+            checkbox.x = 10;
+            checkbox.y = cy;
+
+            title.x = 60;
+            title.y = cy;
+
+            removeButton.x = 300;
+            removeButton.y = cy;
+
+            updateRenderer();
+        }
+
+		private function checkBoxChange(event:Event):void
+		{
+			dispatchEvent(new Event("checkChanged"));
+		}
+
+		private function removeClick(event:MouseEvent):void
+		{
+			dispatchEvent(new Event("removeRequest"));
+		}
+    }
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/views/TodoListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/views/TodoListView.mxml b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/views/TodoListView.mxml
new file mode 100644
index 0000000..9ddf675
--- /dev/null
+++ b/examples/flexjs/TodoListSampleApp/src/main/flex/sample/todo/views/TodoListView.mxml
@@ -0,0 +1,172 @@
+<?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.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+                xmlns:js="library://ns.apache.org/flexjs/basic"
+                xmlns:svg="library://ns.apache.org/flexjs/svg"
+				initComplete="setup()" 
+				xmlns:renderers="sample.todo.renderers.*">
+
+    <fx:Script>
+		<![CDATA[
+			import org.apache.flex.events.Event;
+			import org.apache.flex.events.IEventDispatcher;
+			import org.apache.flex.events.ItemRendererEvent;
+			import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
+			
+			import sample.todo.events.TodoListEvent;
+			import sample.todo.models.TodoListModel;
+			import sample.todo.renderers.TodoItemRenderer;
+			
+			private function setup():void {
+				// Listening for events on the model will update the UI. Functions like
+				// showActive() change the model which results in this event being
+				// dispatched.
+				(applicationModel as TodoListModel).addEventListener("todoListChanged", updateStatus);
+				updateStatus(null);
+			}
+			
+			/**
+			 * add to the list the text entered by the user, in the text box,
+			 * as a new todo list item
+			 */
+			public function logTodo():void {
+				var logEvent:TodoListEvent = new TodoListEvent(TodoListEvent.LOG_TODO);
+				logEvent.todo = todoInput.text;
+				dispatchEvent(logEvent);
+				
+				todoInput.text = "";
+			}
+			
+			private function updateStatus(event:org.apache.flex.events.Event):void {
+				var numberLeft:Number = 0;
+				
+				var model: TodoListModel = applicationModel as TodoListModel;
+				var list: Array = model.todos;
+				for (var i:int=0; i < list.length; i++) {
+					var item:Object = list[i];
+					numberLeft += item.selected ? 0 : 1;
+				}
+				
+				statusLabel.text = numberLeft + " items left";
+			}
+			
+			/**
+			 * show all todos
+			 */
+			private function showAll():void {
+				(applicationModel as TodoListModel).showAllTodos();
+			}
+			
+			/**
+			 * show active todos
+			 */
+			private function showActive():void {
+				(applicationModel as TodoListModel).showActiveTodos();
+			}
+			
+			/**
+			 * show completed todos
+			 */
+			private function showCompleted():void {
+				(applicationModel as TodoListModel).showCompletedTodos();
+			}
+			
+			/**
+			 * Handle creation of itemRenderers by listening for the events they dispatch.
+			 */
+			private function handleRendererCreated(event:ItemRendererEvent):void {
+				var renderer:IEventDispatcher = event.itemRenderer as IEventDispatcher;
+				renderer.addEventListener("checkChanged",itemChecked);
+				renderer.addEventListener("removeRequest",itemRemove);
+			}
+			
+			/**
+			 * When an item is checked, form new event and dispatch to controller.
+			 */
+			private function itemChecked(event:Event):void
+			{
+				var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
+
+				var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_CHECKED);
+				newEvent.item = renderer.data;
+				dispatchEvent(newEvent);
+			}
+
+			/**
+			 * When an item is removed, form a new event and dispatch to the controller.
+			 */
+			private function itemRemove(event:Event):void
+			{
+				var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
+
+				var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_REMOVE_REQUEST);
+				newEvent.item = renderer.data;
+				dispatchEvent(newEvent);
+			}
+        ]]>
+	</fx:Script>
+	
+	<js:beads>
+		<js:ViewDataBinding />
+	</js:beads>
+
+    <js:Panel title="FlexJS TODO List" width="600">
+        <js:beads>
+            <js:VerticalLayout/>
+        </js:beads>
+
+		<js:HContainer width="100%">
+        	<js:TextInput id="todoInput"
+                         width="85%"/>
+            <js:TextButton text="Enter" click="logTodo()" width="15%" />
+        </js:HContainer>
+
+        <js:List id="todoList"
+                    itemRenderer="sample.todo.renderers.TodoItemRenderer"
+					dataProvider="{TodoListModel(applicationModel).todos}"
+                    width="100%" height="400">
+			<js:beads>
+				<js:DataItemRendererFactoryForArrayData itemRendererCreated="handleRendererCreated(event)" />
+			</js:beads>
+        </js:List>
+
+        <js:Container>
+            <js:beads>
+                <js:HorizontalLayout/>
+            </js:beads>
+            <js:Label id="statusLabel" text="N items left" width="295"/>
+            <svg:TextButton text="All" width="100" height="30" click="showAll()" />
+            <svg:TextButton text="Active" width="100" height="30" click="showActive()" />
+            <svg:TextButton text="Completed" width="100" height="30" click="showCompleted()" />
+        </js:Container>
+    </js:Panel>
+
+    <fx:Style>
+        @namespace basic "library://ns.apache.org/flexjs/basic";
+        @namespace renderers "sample.todo.renderers.*";
+
+        renderers|TodoItemRenderer {
+			backgroundColor: #FFFFFF;
+            height: 40px;
+            IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
+        }
+    </fx:Style>
+
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/sample/todo/controllers/TodoListController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/sample/todo/controllers/TodoListController.as b/examples/flexjs/TodoListSampleApp/src/sample/todo/controllers/TodoListController.as
deleted file mode 100644
index 6402a9c..0000000
--- a/examples/flexjs/TodoListSampleApp/src/sample/todo/controllers/TodoListController.as
+++ /dev/null
@@ -1,77 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package sample.todo.controllers {
-	import org.apache.flex.core.Application;
-	import org.apache.flex.core.IDocument;
-	import org.apache.flex.events.Event;
-
-	import sample.todo.events.TodoListEvent;
-	import sample.todo.models.TodoListModel;
-
-	public class TodoListController implements IDocument {
-
-		private var model:TodoListModel;
-
-		public function TodoListController(app:Application = null) {
-			 if (app != null) {
- 				// store the model for future use.
- 				model = app.model as TodoListModel;
- 			}
-		}
-
-		/**
-		 *
-		 */
-		public function setDocument(document:Object, id:String = null):void {
-			var app:Application = document as Application;
-			app.addEventListener("viewChanged", viewChangeHandler);
-
-			// store the model for future use
-			model = app.model as TodoListModel;
-		}
-
-		/**
-		 *
-		 * @param event
-		 */
-		private function viewChangeHandler(event:Event):void {
-			var app:Application = event.target as Application;
-			app.initialView.addEventListener(TodoListEvent.LOG_TODO, logTodo);
-			app.initialView.addEventListener(TodoListEvent.ITEM_CHECKED,handleItemChecked);
-			app.initialView.addEventListener(TodoListEvent.ITEM_REMOVE_REQUEST, handleItemRemove);
-		}
-
-		/**
-		 * log todo
-		 * @param event
-		 */
-		public function logTodo(evt:TodoListEvent):void {
-			// still need to change model a view get the changes
-			model.addTodo(evt.todo);
-		}
-
-		public function handleItemChecked(event:TodoListEvent):void {
-			model.toggleItemCheck(event.item);
-		}
-
-		public function handleItemRemove(event:TodoListEvent):void {
-			model.removeItem(event.item);
-		}
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/sample/todo/events/TodoListEvent.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/sample/todo/events/TodoListEvent.as b/examples/flexjs/TodoListSampleApp/src/sample/todo/events/TodoListEvent.as
deleted file mode 100644
index 7c55b61..0000000
--- a/examples/flexjs/TodoListSampleApp/src/sample/todo/events/TodoListEvent.as
+++ /dev/null
@@ -1,42 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package sample.todo.events {
-    import org.apache.flex.events.Event;
-
-    public class TodoListEvent extends Event {
-
-        public static const LOG_TODO:String = "logTodoEvent";
-		public static const ITEM_CHECKED:String = "itemChecked";
-		public static const ITEM_REMOVE_REQUEST:String = "itemRemoveRequest";
-
-        /**
-         * the todo to log
-         */
-        public var todo:String = null;
-		
-		/**
-		 * handle item selection or removal
-		 */
-		public var item:Object = null;
-
-        public function TodoListEvent(type:String, bubbles:Boolean = false, cancelable:Boolean = false) {
-            super(type, bubbles, cancelable);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/sample/todo/models/TodoListModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/sample/todo/models/TodoListModel.as b/examples/flexjs/TodoListSampleApp/src/sample/todo/models/TodoListModel.as
deleted file mode 100644
index 780d4f5..0000000
--- a/examples/flexjs/TodoListSampleApp/src/sample/todo/models/TodoListModel.as
+++ /dev/null
@@ -1,99 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package sample.todo.models {
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.EventDispatcher;
-
-    public class TodoListModel extends EventDispatcher {
-        public function TodoListModel() {
-            super();
-			_filterFunction();
-        }
-
-        private var _todos:Array = [{title:"Get something", selected:true},
-			{title:"Do this", selected:true},
-			{title:"Do that", selected:false}];
-		
-		private var _filteredList:Array = [];
-		private var _filterFunction:Function = showAllTodos;
-
-        [Bindable("todoListChanged")]
-        public function get todos():Array {
-			return _filteredList;
-        }
-
-        public function set todos(value:Array):void {
-            _todos = value;
-			_filterFunction();
-			dispatchEvent(new Event("todoListChanged"));
-        }
-
-        public function addTodo(value:String):Object
-        {
-			var item:Object = {title:value, selected:false};
-			_todos.push(item);
-			
-			_filterFunction();
-			
-			return item;
-        }
-		
-		public function showAllTodos() : void {
-			_filteredList = _todos.slice();
-			dispatchEvent(new Event("todoListChanged"));
-			_filterFunction = showAllTodos;
-		}
-		
-		public function showActiveTodos() : void {
-			_filteredList = [];
-			for (var i:int=0; i < _todos.length; i++) {
-				if (!_todos[i].selected) {
-					_filteredList.push(_todos[i]);
-				}
-			}
-			dispatchEvent(new Event("todoListChanged"));
-			_filterFunction = showActiveTodos;
-		}
-		
-		public function showCompletedTodos() : void {
-			_filteredList = [];
-			for (var i:int=0; i < _todos.length; i++) {
-				if (_todos[i].selected) {
-					_filteredList.push(_todos[i]);
-				}
-			}
-			dispatchEvent(new Event("todoListChanged"));
-			_filterFunction = showCompletedTodos;
-		}
-		
-		public function toggleItemCheck(item:Object) : void {
-			item.selected = !item.selected;
-			_filterFunction();
-			dispatchEvent(new Event("todoListChanged"));
-		}
-		
-		public function removeItem(item:Object) : void {
-			var index:int = _todos.indexOf(item);
-			if (index >= 0) {
-				_todos.splice(index,1);
-			}
-			_filterFunction();
-		}
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/sample/todo/renderers/TodoItemRenderer.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/sample/todo/renderers/TodoItemRenderer.as b/examples/flexjs/TodoListSampleApp/src/sample/todo/renderers/TodoItemRenderer.as
deleted file mode 100644
index 7a0d6e3..0000000
--- a/examples/flexjs/TodoListSampleApp/src/sample/todo/renderers/TodoItemRenderer.as
+++ /dev/null
@@ -1,90 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package sample.todo.renderers {
-
-    import org.apache.flex.events.Event;
-    import org.apache.flex.events.MouseEvent;
-    import org.apache.flex.html.Button;
-    import org.apache.flex.html.CheckBox;
-    import org.apache.flex.html.Label;
-    import org.apache.flex.html.supportClasses.DataItemRenderer;
-    
-	[Event("checkChanged","org.apache.flex.events.Event")]
-	[Event("removeRequest","org.apache.flex.events.Event")]
-
-    public class TodoItemRenderer extends DataItemRenderer {
-		
-        public function TodoItemRenderer() {
-            super();
-			className = "TodoItemRenderer";
-        }
-
-        private var checkbox:CheckBox;
-        private var title:Label;
-        private var removeButton:Button;
-
-        override public function addedToParent():void {
-            super.addedToParent();
-
-            checkbox = new CheckBox();
-            addElement(checkbox);
-			checkbox.addEventListener("change", checkBoxChange);
-
-            title = new Label();
-            addElement(title);
-
-            removeButton = new Button();
-            addElement(removeButton);
-			removeButton.addEventListener("click", removeClick);
-        }
-
-        override public function set data(value:Object):void {
-            super.data = value;
-
-            checkbox.selected = data.selected;
-            title.text = data.title;
-        }
-
-        override public function adjustSize():void {
-        	var hgt:Number = this.height;
-            var cy:Number = this.height / 2;
-
-            checkbox.x = 10;
-            checkbox.y = cy;
-
-            title.x = 60;
-            title.y = cy;
-
-            removeButton.x = 300;
-            removeButton.y = cy;
-
-            updateRenderer();
-        }
-
-		private function checkBoxChange(event:Event):void
-		{
-			dispatchEvent(new Event("checkChanged"));
-		}
-
-		private function removeClick(event:MouseEvent):void
-		{
-			dispatchEvent(new Event("removeRequest"));
-		}
-    }
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TodoListSampleApp/src/sample/todo/views/TodoListView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TodoListSampleApp/src/sample/todo/views/TodoListView.mxml b/examples/flexjs/TodoListSampleApp/src/sample/todo/views/TodoListView.mxml
deleted file mode 100644
index 9ddf675..0000000
--- a/examples/flexjs/TodoListSampleApp/src/sample/todo/views/TodoListView.mxml
+++ /dev/null
@@ -1,172 +0,0 @@
-<?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.
-
--->
-<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
-                xmlns:js="library://ns.apache.org/flexjs/basic"
-                xmlns:svg="library://ns.apache.org/flexjs/svg"
-				initComplete="setup()" 
-				xmlns:renderers="sample.todo.renderers.*">
-
-    <fx:Script>
-		<![CDATA[
-			import org.apache.flex.events.Event;
-			import org.apache.flex.events.IEventDispatcher;
-			import org.apache.flex.events.ItemRendererEvent;
-			import org.apache.flex.html.beads.controllers.ItemRendererMouseController;
-			
-			import sample.todo.events.TodoListEvent;
-			import sample.todo.models.TodoListModel;
-			import sample.todo.renderers.TodoItemRenderer;
-			
-			private function setup():void {
-				// Listening for events on the model will update the UI. Functions like
-				// showActive() change the model which results in this event being
-				// dispatched.
-				(applicationModel as TodoListModel).addEventListener("todoListChanged", updateStatus);
-				updateStatus(null);
-			}
-			
-			/**
-			 * add to the list the text entered by the user, in the text box,
-			 * as a new todo list item
-			 */
-			public function logTodo():void {
-				var logEvent:TodoListEvent = new TodoListEvent(TodoListEvent.LOG_TODO);
-				logEvent.todo = todoInput.text;
-				dispatchEvent(logEvent);
-				
-				todoInput.text = "";
-			}
-			
-			private function updateStatus(event:org.apache.flex.events.Event):void {
-				var numberLeft:Number = 0;
-				
-				var model: TodoListModel = applicationModel as TodoListModel;
-				var list: Array = model.todos;
-				for (var i:int=0; i < list.length; i++) {
-					var item:Object = list[i];
-					numberLeft += item.selected ? 0 : 1;
-				}
-				
-				statusLabel.text = numberLeft + " items left";
-			}
-			
-			/**
-			 * show all todos
-			 */
-			private function showAll():void {
-				(applicationModel as TodoListModel).showAllTodos();
-			}
-			
-			/**
-			 * show active todos
-			 */
-			private function showActive():void {
-				(applicationModel as TodoListModel).showActiveTodos();
-			}
-			
-			/**
-			 * show completed todos
-			 */
-			private function showCompleted():void {
-				(applicationModel as TodoListModel).showCompletedTodos();
-			}
-			
-			/**
-			 * Handle creation of itemRenderers by listening for the events they dispatch.
-			 */
-			private function handleRendererCreated(event:ItemRendererEvent):void {
-				var renderer:IEventDispatcher = event.itemRenderer as IEventDispatcher;
-				renderer.addEventListener("checkChanged",itemChecked);
-				renderer.addEventListener("removeRequest",itemRemove);
-			}
-			
-			/**
-			 * When an item is checked, form new event and dispatch to controller.
-			 */
-			private function itemChecked(event:Event):void
-			{
-				var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
-
-				var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_CHECKED);
-				newEvent.item = renderer.data;
-				dispatchEvent(newEvent);
-			}
-
-			/**
-			 * When an item is removed, form a new event and dispatch to the controller.
-			 */
-			private function itemRemove(event:Event):void
-			{
-				var renderer:TodoItemRenderer = event.target as TodoItemRenderer;
-
-				var newEvent:TodoListEvent = new TodoListEvent(TodoListEvent.ITEM_REMOVE_REQUEST);
-				newEvent.item = renderer.data;
-				dispatchEvent(newEvent);
-			}
-        ]]>
-	</fx:Script>
-	
-	<js:beads>
-		<js:ViewDataBinding />
-	</js:beads>
-
-    <js:Panel title="FlexJS TODO List" width="600">
-        <js:beads>
-            <js:VerticalLayout/>
-        </js:beads>
-
-		<js:HContainer width="100%">
-        	<js:TextInput id="todoInput"
-                         width="85%"/>
-            <js:TextButton text="Enter" click="logTodo()" width="15%" />
-        </js:HContainer>
-
-        <js:List id="todoList"
-                    itemRenderer="sample.todo.renderers.TodoItemRenderer"
-					dataProvider="{TodoListModel(applicationModel).todos}"
-                    width="100%" height="400">
-			<js:beads>
-				<js:DataItemRendererFactoryForArrayData itemRendererCreated="handleRendererCreated(event)" />
-			</js:beads>
-        </js:List>
-
-        <js:Container>
-            <js:beads>
-                <js:HorizontalLayout/>
-            </js:beads>
-            <js:Label id="statusLabel" text="N items left" width="295"/>
-            <svg:TextButton text="All" width="100" height="30" click="showAll()" />
-            <svg:TextButton text="Active" width="100" height="30" click="showActive()" />
-            <svg:TextButton text="Completed" width="100" height="30" click="showCompleted()" />
-        </js:Container>
-    </js:Panel>
-
-    <fx:Style>
-        @namespace basic "library://ns.apache.org/flexjs/basic";
-        @namespace renderers "sample.todo.renderers.*";
-
-        renderers|TodoItemRenderer {
-			backgroundColor: #FFFFFF;
-            height: 40px;
-            IBeadController: ClassReference("org.apache.flex.html.beads.controllers.ItemRendererMouseController");
-        }
-    </fx:Style>
-
-</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/MyInitialView.mxml b/examples/flexjs/TreeExample/src/MyInitialView.mxml
deleted file mode 100644
index 2418cd7..0000000
--- a/examples/flexjs/TreeExample/src/MyInitialView.mxml
+++ /dev/null
@@ -1,37 +0,0 @@
-<?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.
-
--->
-<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
-				xmlns:js="library://ns.apache.org/flexjs/basic">
-    
-    <js:beads>
-        <js:ViewDataBinding />
-    </js:beads>
-	
-	<js:Tree id="tree" x="30" y="30" width="400" height="300" 
-			 labelField="title">
-		<js:beads>
-			<js:ConstantBinding
-				sourceID="applicationModel"
-				sourcePropertyName="treeData"
-				destinationPropertyName="dataProvider" />
-		</js:beads>
-	</js:Tree>
-
-</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/TreeExample.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/TreeExample.mxml b/examples/flexjs/TreeExample/src/TreeExample.mxml
deleted file mode 100644
index e969146..0000000
--- a/examples/flexjs/TreeExample/src/TreeExample.mxml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?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.
-//
-////////////////////////////////////////////////////////////////////////////////
--->
-<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
-				   xmlns:local="*"
-				   xmlns:models="models.*"
-				   xmlns:js="library://ns.apache.org/flexjs/basic" 
-				   >
-	
-	<js:valuesImpl>
-		<js:SimpleCSSValuesImpl />
-	</js:valuesImpl>
-	<js:model>
-		<models:MyModel />
-	</js:model>
-	<js:initialView>
-		<local:MyInitialView />
-	</js:initialView>
-</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/main/flex/MyInitialView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/main/flex/MyInitialView.mxml b/examples/flexjs/TreeExample/src/main/flex/MyInitialView.mxml
new file mode 100644
index 0000000..2418cd7
--- /dev/null
+++ b/examples/flexjs/TreeExample/src/main/flex/MyInitialView.mxml
@@ -0,0 +1,37 @@
+<?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.
+
+-->
+<js:View xmlns:fx="http://ns.adobe.com/mxml/2009"
+				xmlns:js="library://ns.apache.org/flexjs/basic">
+    
+    <js:beads>
+        <js:ViewDataBinding />
+    </js:beads>
+	
+	<js:Tree id="tree" x="30" y="30" width="400" height="300" 
+			 labelField="title">
+		<js:beads>
+			<js:ConstantBinding
+				sourceID="applicationModel"
+				sourcePropertyName="treeData"
+				destinationPropertyName="dataProvider" />
+		</js:beads>
+	</js:Tree>
+
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/main/flex/TreeExample.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/main/flex/TreeExample.mxml b/examples/flexjs/TreeExample/src/main/flex/TreeExample.mxml
new file mode 100644
index 0000000..e969146
--- /dev/null
+++ b/examples/flexjs/TreeExample/src/main/flex/TreeExample.mxml
@@ -0,0 +1,36 @@
+<?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.
+//
+////////////////////////////////////////////////////////////////////////////////
+-->
+<js:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
+				   xmlns:local="*"
+				   xmlns:models="models.*"
+				   xmlns:js="library://ns.apache.org/flexjs/basic" 
+				   >
+	
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	<js:model>
+		<models:MyModel />
+	</js:model>
+	<js:initialView>
+		<local:MyInitialView />
+	</js:initialView>
+</js:Application>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/main/flex/models/MyModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/main/flex/models/MyModel.as b/examples/flexjs/TreeExample/src/main/flex/models/MyModel.as
new file mode 100644
index 0000000..d224293
--- /dev/null
+++ b/examples/flexjs/TreeExample/src/main/flex/models/MyModel.as
@@ -0,0 +1,72 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.events.Event;
+	import org.apache.flex.events.EventDispatcher;
+	import org.apache.flex.collections.HierarchicalData;
+
+	public class MyModel extends EventDispatcher
+	{
+		public function MyModel()
+		{
+			treeData = new HierarchicalData(store);
+			treeData.childrenField = "children";
+		}
+
+		public var treeData:HierarchicalData;
+
+		private var store:Object = { title:"That's Entertainment",
+        		children:[
+        			{title:"My Music",
+        				children:[
+        					{title:"Language and Perspective", artist:"Bad Suns",
+        					    children:[
+        					    	{title:"Matthew James", length:"3:24"},
+        					    	{title:"We Move Like the Ocean", length:"3:56"},
+        					    	{title:"Cardiac Arrest", length:"3:15"}
+        					    ]},
+        					{title:"Strange Desire", artist:"Bleachers",
+        						children:[
+        							{title:"Wild Heart", length:"4:15"},
+        							{title:"Rollercoaster", length:"3:39"},
+        							{title:"Shadow", length:"3:46"},
+        							{title:"I Wanna Get Better", length:"4:23"}
+        						]}
+        				]},
+        			{title:"My Books",
+        				children:[
+        					{title:"Wizard of Oz",
+        						children:[
+        							{title:"So this is Kansas?", length:"82"},
+        							{title:"A Might Dusty Here", length:"63"},
+        							{title:"Is that a Tornado?", length:"103"}
+        						]},
+        					{title:"Favorite Book #2",
+        						children:[
+        							{title:"Chapter 1", length:"15"},
+        							{title:"Chapter 2", length:"86"},
+        							{title:"Chapter 3", length:"104"},
+        							{title:"Chapter 4", length:"99"}
+        						]}
+        				]}
+        		]};
+
+	}
+}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/TreeExample/src/models/MyModel.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/TreeExample/src/models/MyModel.as b/examples/flexjs/TreeExample/src/models/MyModel.as
deleted file mode 100644
index d224293..0000000
--- a/examples/flexjs/TreeExample/src/models/MyModel.as
+++ /dev/null
@@ -1,72 +0,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.
-//
-////////////////////////////////////////////////////////////////////////////////
-package models
-{
-	import org.apache.flex.events.Event;
-	import org.apache.flex.events.EventDispatcher;
-	import org.apache.flex.collections.HierarchicalData;
-
-	public class MyModel extends EventDispatcher
-	{
-		public function MyModel()
-		{
-			treeData = new HierarchicalData(store);
-			treeData.childrenField = "children";
-		}
-
-		public var treeData:HierarchicalData;
-
-		private var store:Object = { title:"That's Entertainment",
-        		children:[
-        			{title:"My Music",
-        				children:[
-        					{title:"Language and Perspective", artist:"Bad Suns",
-        					    children:[
-        					    	{title:"Matthew James", length:"3:24"},
-        					    	{title:"We Move Like the Ocean", length:"3:56"},
-        					    	{title:"Cardiac Arrest", length:"3:15"}
-        					    ]},
-        					{title:"Strange Desire", artist:"Bleachers",
-        						children:[
-        							{title:"Wild Heart", length:"4:15"},
-        							{title:"Rollercoaster", length:"3:39"},
-        							{title:"Shadow", length:"3:46"},
-        							{title:"I Wanna Get Better", length:"4:23"}
-        						]}
-        				]},
-        			{title:"My Books",
-        				children:[
-        					{title:"Wizard of Oz",
-        						children:[
-        							{title:"So this is Kansas?", length:"82"},
-        							{title:"A Might Dusty Here", length:"63"},
-        							{title:"Is that a Tornado?", length:"103"}
-        						]},
-        					{title:"Favorite Book #2",
-        						children:[
-        							{title:"Chapter 1", length:"15"},
-        							{title:"Chapter 2", length:"86"},
-        							{title:"Chapter 3", length:"104"},
-        							{title:"Chapter 4", length:"99"}
-        						]}
-        				]}
-        		]};
-
-	}
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/pom.xml
----------------------------------------------------------------------
diff --git a/examples/pom.xml b/examples/pom.xml
index 6f981d4..d3e1598 100644
--- a/examples/pom.xml
+++ b/examples/pom.xml
@@ -42,10 +42,10 @@
   </modules>
 
   <build>
-    <sourceDirectory>src</sourceDirectory>
+    <sourceDirectory>src/main/flex</sourceDirectory>
     <resources>
       <resource>
-        <directory>resources</directory>
+        <directory>src/main/resources</directory>
         <filtering>true</filtering>
       </resource>
     </resources>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index a7888f0..67695d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -74,9 +74,8 @@
   <!-- Only configure the site distribution as the rest is handled by the apache parent -->
   <distributionManagement>
     <site>
-      <id>website</id>
-      <!-- TODO: Set this to the correct url -->
-      <url>scp://www.mycompany.com/www/docs/project/</url>
+      <id>apache.website</id>
+      <url>scm:git:https://git-wip-us.apache.org/repos/asf/flex-asjs.git</url>
     </site>
   </distributionManagement>
 
@@ -196,6 +195,91 @@
           </dependency>
         </dependencies>
       </plugin>
+
+      <!-- Configure the Site generation -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-site-plugin</artifactId>
+        <!-- Downgraded to 3.4 as 3.5 and 3.5.1 seem to have issues with the velocity tools -->
+        <version>3.4</version>
+        <configuration>
+          <generateReports>true</generateReports>
+          <generateSitemap>true</generateSitemap>
+          <relativizeDecorationLinks>false</relativizeDecorationLinks>
+          <locales>en</locales>
+          <inputEncoding>${project.build.sourceEncoding}</inputEncoding>
+          <outputEncoding>${project.reporting.outputencoding}</outputEncoding>
+        </configuration>
+        <dependencies>
+          <dependency>
+            <groupId>commons-lang</groupId>
+            <artifactId>commons-lang</artifactId>
+            <version>2.6</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.doxia</groupId>
+            <artifactId>doxia-core</artifactId>
+            <version>1.6</version>
+          </dependency>
+          <!-- All dependencies needed by the reflow skin -->
+          <dependency>
+            <groupId>lt.velykis.maven.skins</groupId>
+            <artifactId>reflow-velocity-tools</artifactId>
+            <version>1.1.1</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.velocity</groupId>
+            <artifactId>velocity</artifactId>
+            <version>1.7</version>
+          </dependency>
+          <!-- add support for scm/git site deployment -->
+          <dependency>
+            <groupId>org.apache.maven.wagon</groupId>
+            <artifactId>wagon-scm</artifactId>
+            <version>2.10</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.scm</groupId>
+            <artifactId>maven-scm-api</artifactId>
+            <version>1.9.5</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.scm</groupId>
+            <artifactId>maven-scm-manager-plexus</artifactId>
+            <version>1.9.5</version>
+          </dependency>
+          <dependency>
+            <groupId>org.apache.maven.scm</groupId>
+            <artifactId>maven-scm-provider-gitexe</artifactId>
+            <version>1.9.5</version>
+          </dependency>
+        </dependencies>
+      </plugin>
+
+      <!--
+        Make the maven-site-plugin stage the output in the "asf-site" branch
+      -->
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-scm-publish-plugin</artifactId>
+        <version>1.1</version>
+        <executions>
+          <execution>
+            <id>scm-publish</id>
+            <phase>site-deploy</phase>
+            <!-- deploy site with maven-scm-publish-plugin -->
+            <goals>
+              <goal>publish-scm</goal>
+            </goals>
+            <configuration>
+              <!-- mono-module doesn't require site:stage -->
+              <content>${project.build.directory}/site</content>
+              <!-- branch where to deploy -->
+              <scmBranch>asf-site</scmBranch>
+            </configuration>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/src/site/site.xml
----------------------------------------------------------------------
diff --git a/src/site/site.xml b/src/site/site.xml
index bf57b2c..a7a5a3a 100644
--- a/src/site/site.xml
+++ b/src/site/site.xml
@@ -19,24 +19,54 @@
  -->
 <project name="Maven" xmlns="https://maven.apache.org/xsd/decoration-1.7.0.xsd">
 
-    <!-- Use the nicer looking fluido skin instead of the default -->
     <skin>
-        <groupId>org.apache.maven.skins</groupId>
-        <artifactId>maven-fluido-skin</artifactId>
-        <version>1.5</version>
+        <groupId>lt.velykis.maven.skins</groupId>
+        <artifactId>reflow-maven-skin</artifactId>
+        <version>1.1.1</version>
     </skin>
 
+    <!--
+        Details on how to configure the reflow skin:
+        http://andriusvelykis.github.io/reflow-maven-skin/skin/
+    -->
+    <custom>
+        <reflowSkin>
+            <theme>site</theme>
+            <titleTemplate>Apache Flex� - %2$s</titleTemplate>
+            <breadcrumbs>false</breadcrumbs>
+            <highlightJs>true</highlightJs>
+        </reflowSkin>
+    </custom>
+
     <bannerLeft>
         <name>Apache Flex</name>
-        <src>http://flex.apache.org/images/logo_01_fullcolor-sm.png</src>
+        <src>img/logo-flex.png</src>
         <href>http://flex.apache.org/</href>
     </bannerLeft>
 
-    <!--bannerRight>
-        <src>http://maven.apache.org/images/maven-small.gif</src>
-    </bannerRight-->
+    <bannerRight>
+        <name>An Apache Project</name>
+        <src>img/logo-asf.png</src>
+        <href>http://www.apache.org</href>
+    </bannerRight>
 
     <body>
+        <head>
+            <link rel="icon" type="image/x-icon" href="img/favicon.ico"/>
+            <link rel="apple-touch-icon" href="img/apple-touch-icon-60.png"/>
+            <link rel="apple-touch-icon" sizes="76x76" href="img/apple-touch-icon-76.png"/>
+            <link rel="apple-touch-icon" sizes="120x120" href="img/apple-touch-icon-120.png"/>
+            <link rel="apple-touch-icon" sizes="152x152" href="img/apple-touch-icon-152.png"/>
+        </head>
+
+        <links>
+            <item name="Apache Flex Homepage" href="http://flex.apache.org/" />
+            <!--item name="Apache FlexJS Homepage" href="http://flex.apache.org/" /-->
+            <item name="Apache Flex Wiki" href="https://cwiki.apache.org/confluence/display/FLEX/Apache+Flex+Wiki"/>
+        </links>
 
+        <menu ref="reports" />
+        <menu ref="parent" />
+        <menu ref="modules" />
     </body>
 </project>
\ No newline at end of file


Mime
View raw message