You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@flex.apache.org by ca...@apache.org on 2016/11/10 09:23:13 UTC

[06/53] git commit: [flex-asjs] [refs/heads/feature/mdl] - - Refactored the directory structure of the example projects to be maven-style

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
deleted file mode 100755
index 7b415da..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductCatalogThumbnail.mxml
+++ /dev/null
@@ -1,220 +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:Container xmlns:fx="http://ns.adobe.com/mxml/2009"
-                   xmlns:js="library://ns.apache.org/flexjs/basic" 
-    width="{COL_WIDTH_4}" height="{COL_HEIGHT_4}" height.compare="502"
-    width.x4cols="{COL_WIDTH_4}" height.x4cols="{COL_HEIGHT_4}"
-    width.x3cols="{COL_WIDTH_3}" height.x3cols="{COL_HEIGHT_3}"
-    width.x2cols="{COL_WIDTH_2}" height.x2cols="{COL_HEIGHT_2}"
-    rollOver="rollOverHandler(event)"
-    rollOut="rollOutHandler(event)"
-    mouseDown="mouseDownHandler(event)"
-    mouseMove="mouseMoveHandler(event)"
-    mouseUp="mouseUpHandler(event)"
-    click="clickHandler(event)"
-    currentState="x4cols"
-    >
-    <!-- automationName="{product.name}" -->
-    <js:beads>
-        <js:ContainerDataBinding />
-        <js:LayoutChangeNotifier watchedProperty="{borderStyles.borderColor}" initialValue="#FFFFFF" />
-    </js:beads>
-    <js:style>
-        <js:BindableCSSStyles id="borderStyles" borderStyle="solid" borderWidth="1"
-                               borderColor="#FFFFFF" backgroundColor="#FFFFFF"/>
-    </js:style>
-    <fx:Metadata>
-        [Event(name="purchase", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="compare", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="details", type="samples.flexstore.ProductThumbEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-
-		import org.apache.flex.events.*;
-        import org.apache.flex.utils.PointUtils;
-            
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductThumbEvent;
-        
-        public static const COL_WIDTH_4:int = 162;
-        public static const COL_HEIGHT_4:int = 122;
-        public static const COL_WIDTH_3:int = 217;
-        public static const COL_HEIGHT_3:int = 165;
-        public static const COL_WIDTH_2:int = 327;
-        public static const COL_HEIGHT_2:int = 250;
-        public static const COMPARE_WIDTH:int = 162;
-        public static const HORIZONTAL_GAP:int = 2;
-        public static const VERTICAL_GAP:int = 3;
-
-        [Bindable]
-        public var product:Product;
-
-        private function rollOverHandler(event:MouseEvent):void
-		{
-            borderStyles.borderColor = "#CCCCCC";
-            //style["dropShadowEnabled"] = true;
-            buttons.visible = true;
-        }
-
-        private function rollOutHandler(event:MouseEvent):void
-		{
-            borderStyles.borderColor = "#FFFFFF";
-            //style["dropShadowEnabled"] = false;
-			buttons.visible = false;
-        }
-
-        private var dragStartPoint:Point;
-
-        public function mouseDownHandler(event:MouseEvent):void
-        {
-            if (event.target != purchase &&
-                event.target != compare &&
-                event.target != details)
-            {
-                dragStartPoint = new Point(event.clientX, event.clientY);
-            }
-        }
-
-        public function mouseMoveHandler(event:MouseEvent):void
-        {
-            if (dragStartPoint != null)
-            {
-                var dragEvent:DragEvent = new DragEvent(DragEvent.DRAG_START, true);
-                dragEvent.clientX = dragStartPoint.x;
-                dragEvent.clientY = dragStartPoint.y;
-                dragEvent.buttonDown = true;
-                dispatchEvent(dragEvent);
-
-                rollOutHandler(event);
-
-                dragStartPoint = null;
-            }
-        }
-
-        public function mouseUpHandler(event:MouseEvent):void
-        {
-            if (dragStartPoint != null)
-            {
-                dragStartPoint = null;
-            }
-        }
-
-        public function clickHandler(event:org.apache.flex.events.MouseEvent):void
-        {
-            if (event.target != purchase &&
-                event.target != compare &&
-                event.target != details)
-            {
-                dispatchEvent(new ProductThumbEvent(ProductThumbEvent.DETAILS, product));
-            }
-        }
-
-	]]>
-    </fx:Script>
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" fractionalDigits="2"/>        
-    </fx:Declarations>
-
-    <js:VContainer id="vb" width="100%" height="100%">
-        <js:style>
-            <js:SimpleCSSStyles paddingLeft="6" paddingTop="4" paddingRight="8" paddingBottom="4" />
-                                 <!--  gap="0">  -->
-        </js:style>
-        
-
-        <js:Label text="{product.name}" style="fontWeight:bold"/>
-
-        <js:HContainer width="100%" >
-            <js:style>
-                <js:SimpleCSSStyles paddingTop="0" /> <!-- gap="4 -->"
-            </js:style>
-
-            <js:Image id="img" height="45" width="45" 
-                     width.x3cols="60" height.x3cols="60"
-                     width.x2cols="60" height.x2cols="60"
-                     source="{product.image}" />
-
-            <js:VContainer id="descr" height="100%" >
-                <js:style>
-                    <js:SimpleCSSStyles paddingTop="0" right="0" /> <!--  gap="0"  -->
-                </js:style>
-                <js:Label text="{product.featureString}" width="60" height="48" />
-                <js:Label text="{cf.format(product.price)}" style="fontWeight:bold"/>
-				<js:Spacer height="4"/>
-                <js:Label text="{product.highlight1}" style="color:#EE8D0C" includeIn="x3cols, x2cols"/>
-                <js:Label text="{product.highlight2}" style="color:#EE8D0C" includeIn="x3cols, x2cols"/>
-            </js:VContainer>
-
-        </js:HContainer>
-
-        <js:Spacer height="8"/>
-
-        <js:Label id="compYears" text="Years: {product.experience}" includeIn="compare"/>
-        <js:Label id="compBlaze" text="BlazeDS: {product.blazeds}" includeIn="compare"/>
-        <js:Label id="compMobile" text="Mobile: {product.mobile}" includeIn="compare"/>
-        <js:Label id="compVideo" text="Video: {product.video}" includeIn="compare"/>
-        <js:Label id="compHigh1" text="Highlight: {product.highlight1}" includeIn="compare"/>
-        <js:Label id="compHigh2" text="Highlight: {product.highlight2}" includeIn="compare"/>
-        <js:Label text="Description:" includeIn="compare"/>
-        <js:MultilineLabel id="compDesc" text="{product.description}" width="100%" includeIn="compare"/>
-    </js:VContainer>
-
-
-    <js:VContainer id="buttons" visible="false" width="30">
-        <js:style>
-            <js:SimpleCSSStyles paddingRight="8" right="8" top="12" /> <!-- gap="4" -->
-        </js:style>
-        <js:ImageButton id="purchase" source="assets/button_cart_empty.png" className="hoverButton"
-            click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.PURCHASE, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to cart"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="compare" source="assets/button_compare.png" className="hoverButton"
-            click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.COMPARE, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to compare list"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="details" source="assets/button_details.png" className="hoverButton"
-            click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.DETAILS, product))" 
-            width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Show details"/>
-            </js:beads>
-        </js:ImageButton>
-    </js:VContainer>
-
-    <js:states>
-
-        <js:State name="compare" />
-
-        <js:State name="x4cols" />
-
-        <js:State name="x3cols" />
-
-        <js:State name="x2cols"/>
-    </js:states>
-
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
deleted file mode 100755
index fa32497..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductDetails.mxml
+++ /dev/null
@@ -1,145 +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:Container xmlns:fx="http://ns.adobe.com/mxml/2009" 
-                 xmlns:js="library://ns.apache.org/flexjs/basic" 
-    xmlns:productsView="productsView.*"
-    >
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-
-    <fx:Metadata>
-        [Event(name="purchase", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="compare", type="samples.flexstore.ProductThumbEvent")]
-        [Event(name="browse", type="samples.flexstore.ProductThumbEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-
-		import samples.flexstore.Product;
-		import samples.flexstore.ProductThumbEvent;
-
-        private var _product:Product;
-        
-        [Bindable]
-        public function get product():Product
-        {
-            return _product;
-        }
-        
-        public function set product(p:Product):void
-        {
-            _product = p;
-            tn.selectedIndex = 0;
-        }
-        
-	]]>
-    </fx:Script>
-
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" fractionalDigits="2"/>        
-    </fx:Declarations>
-
-    <js:states>
-        <js:State name="Features" />
-        <js:State name="Support" />
-    </js:states>
-    
-    <js:transitions>
-        <js:Transition>
-            <js:Fade />
-        </js:Transition>
-    </js:transitions>
-    
-    <js:ButtonBar id="tn" width="100%" change="currentState = tn.selectedItem as String">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:String>Features</fx:String>
-                <fx:String>Support</fx:String>
-            </fx:Array>
-        </js:dataProvider>
-    </js:ButtonBar>
-    <js:Container >
-        <js:style>
-            <js:SimpleCSSStyles left="4" right="8" top="34" bottom="4" />
-        </js:style>
-                    
-
-        <js:VContainer includeIn="Features" >
-            <js:style>
-                <!--<js:SimpleCSSStyles gap="8"-->
-                <js:SimpleCSSStyles
-                    left="8" top="8" right="8" bottom="8"/>
-            </js:style>
-            <js:Container style="left:0px;right:0px">
-
-                <js:Image id="img" width="101" height="101" source="{product.image}"/>
-
-                <js:VContainer id="descr" >
-                    <js:style>
-                        <js:SimpleCSSStyles top="0" left="105" right="0" bottom="20" />
-                        <!--<js:SimpleCSSStyles paddingTop="0" gap="4" />-->
-                    </js:style>
-                    
-                    <js:Label text="{product.name}" style="fontSize:11;fontWeight:'bold'"/>
-
-	                <js:Label text="{product.featureString}" width="80" height="48" />
-
-                    <js:Label text="{product.highlight1}" style="color:#EE8D0C"/>
-
-                    <js:Label text="{product.highlight2}" style="color:#EE8D0C"/>
-
-                    <js:Label text="{cf.format(product.price)}" style="fontWeight:'bold'"/>
-
-                </js:VContainer>
-            </js:Container>
-
-            <js:Label id="descriptionText" style="left:0px;right:0px;bottom:0px" text="{product.description}"/>
-
-        </js:VContainer>
-
-        <productsView:ProductSupport width="100%" height="100%" includeIn="Support" />
-
-    </js:Container>
-
-    <js:VContainer>
-        <js:style>
-            <js:SimpleCSSStyles marginTop="4" right="16" top="36" />
-        </js:style>
-        <js:Spacer width="100%"/>
-        <js:ImageButton id="purchase" source="assets/button_cart_empty.png" click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.PURCHASE, product))" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to cart"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="compare" source="assets/button_compare.png" click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.COMPARE, product))" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Add to compare list"/>
-            </js:beads>
-        </js:ImageButton>
-        <js:ImageButton id="tiles" source="assets/button_tiles.png" click="dispatchEvent(new ProductThumbEvent(ProductThumbEvent.BROWSE, product));" width="30">
-            <js:beads>
-                <js:ToolTipBead toolTip="Back to thumbnail view"/>
-            </js:beads>
-        </js:ImageButton>
-    </js:VContainer>
-
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
deleted file mode 100755
index 26deaa9..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductFilterPanel.mxml
+++ /dev/null
@@ -1,215 +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:VContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
-                  xmlns:js="library://ns.apache.org/flexjs/basic" 
-    xmlns:productsView="productsView.*"
-    xmlns:flexstore="samples.flexstore.*"
-    height="100%" 
-    currentState="showingThumbnails"
-    initComplete="series.selectedIndex = 0">
-    <js:style>
-        <js:SimpleCSSStyles paddingLeft="4" 
-                               paddingRight="12" 
-                               paddingTop="12" 
-                               paddingBottom="8" 
-                               />
-
-    </js:style>
-    
-    <fx:Metadata>
-       [Event(name="filter", type="samples.flexstore.ProductFilterEvent")] 
-       [Event("compare")]
-    </fx:Metadata>
-    
-    <fx:Script>
-        <![CDATA[
-        import org.apache.flex.html.Slider;
-        import org.apache.flex.html.SimpleAlert; 
-        import samples.flexstore.ProductFilterEvent;
-           
-        private var thumbBeingPressed:Boolean;
-           
-        private function dispatchFilter():void
-        {
-            var event:ProductFilterEvent = 
-                new ProductFilterEvent(filter, thumbBeingPressed);
-            dispatchEvent(event);
-            currentState = "showingThumbnails";
-        }
-        
-        private function sliderValue(values:Array, index:int):Number
-        {
-            return values[index];
-        }
-        
-        private function productRemoved():void
-        {
-            if (currentState == "showingComparison")
-            {
-                if (productList.items.length == 0)
-                {
-                    dispatchFilter();
-                }
-                else
-                {
-                    attemptCompare();
-                }
-            }
-        }
-        
-        private function attemptCompare():void
-        {
-            if (productList.items.length > 0)
-            {
-                dispatchEvent(new Event("compare"));
-                currentState = "showingComparison";
-            }
-            else
-            {
-                SimpleAlert.show("There are no items to compare.", "Compare");
-            }
-        }
-        
-        ]]>
-    </fx:Script>
-    <fx:Declarations>
-        <flexstore:ProductFilter id="filter">
-            <flexstore:experience>{series.selectedItem}</flexstore:experience>
-            <flexstore:minPrice>{loPrice.value}</flexstore:minPrice>
-            <flexstore:maxPrice>{hiPrice.value}</flexstore:maxPrice>
-            <flexstore:blazeds>{cbBlazeDS.selected}</flexstore:blazeds>
-            <flexstore:mobile>{cbMobile.selected}</flexstore:mobile>
-            <flexstore:video>{cbVideo.selected}</flexstore:video>
-        </flexstore:ProductFilter>
-        
-        <js:CurrencyFormatter currencySymbol="$" id="cf"/>    
-        
-    </fx:Declarations>
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-    
-    <js:Label text="Find" className="sectionHeader"/>
-    
-    <js:Container width="100%">
-        <js:beads>
-            <js:FlexibleFirstChildHorizontalLayout />
-        </js:beads>
-        <js:TextInput className="glass" width="100%"/>
-        <js:TextButton className="glass" text="Go" click="SimpleAlert.show('This feature is not implemented in this sample', 'Find')"/>
-    </js:Container>
-
-    <js:Spacer height="18"/>
-
-    <js:HRule width="100%"/>
-
-    <js:Spacer height="8"/>
-
-    <js:HContainer>
-        <js:style>
-            <js:SimpleCSSStyles paddingTop="0" paddingLeft="0" verticalAlign="bottom" />
-        </js:style>
-        <js:Label text="Filter" className="sectionHeader"/>
-        <js:Label text="({filter.count} items selected)" >
-            <js:style>
-                <js:SimpleCSSStyles fontWeight="bold" />
-                <!--<js:SimpleCSSStyles color="{getStyle('themeColor')}" fontWeight="bold" />-->
-            </js:style>
-        </js:Label>
-    </js:HContainer>
-
-    <js:Spacer height="8"/>
-
-    <js:Label text="Years of Experience"/>
-
-    <js:DropDownList id="series" className="glass" width="140" change="dispatchFilter();">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:String>All</fx:String>
-                <fx:String>3</fx:String>
-                <fx:String>5</fx:String>
-                <fx:String>7</fx:String>
-                <fx:String>9</fx:String>
-            </fx:Array>                
-        </js:dataProvider>
-    </js:DropDownList>
-
-    <js:Spacer height="18"/>
-
-    <js:Label text="Price"/>
-
-    <!--<s:HSlider id="priceSlider" className="glassSlider" minimum="0" maximum="200" tickInterval="10" snapInterval="10"
-        width="100%" thumbCount="2" values="[0,200]" labels="[$0,$200]" liveDragging="true" dataTipFormatFunction="{cf.format}"
-        change="dispatchFilter()"
-        thumbPress="thumbBeingPressed=true"
-        thumbRelease="thumbBeingPressed=false;dispatchFilter()"
-        />-->
-    <js:HContainer id="nsholder" width="100%">
-        <js:NumericStepper width="48%" id="loPrice" minimum="0" maximum="{hiPrice.value}" value="0" valueChange="dispatchFilter()" />
-        <js:NumericStepper width="48%" id="hiPrice" minimum="{loPrice.value}" maximum="200" value="200" valueChange="dispatchFilter()" />
-    </js:HContainer>
-
-    <js:Spacer height="18"/>
-
-    <js:Label text="Required Features"/>
-
-    <js:Spacer height="4"/>
-
-    <js:CheckBox id="cbBlazeDS" className="glass" text="BlazeDS" click="dispatchFilter();"/>
-    <js:Spacer height="4"/>
-    <js:CheckBox id="cbMobile" className="glass" text="Mobile" click="dispatchFilter()"/>
-    <js:Spacer height="4"/>
-    <js:CheckBox id="cbVideo" className="glass" text="Video" click="dispatchFilter();"/>
-
-    <js:Spacer height="18"/>
-
-    <js:HRule width="100%"/>
-
-    <js:Spacer height="8"/>
-
-        <js:HContainer>
-            <js:Label text="Compare" className="sectionHeader"/>
-            <js:Label text="(Drag items here to compare)" className="instructions"/>
-        </js:HContainer>
-
-
-    <js:Spacer height="4"/>
-
-    <!-- height is maxItems * ProductListItem.HEIGHT + 2px border -->
-    <productsView:ProductList id="productList" height="{productList.maxItems * ProductListItem.HEIGHT + 2}" width="100%"
-        newItemStartX="300" newItemStartY="-100" maxItems="4" 
-        removeProduct="productRemoved()"/>
-
-    <js:Spacer height="8"/>
-    
-    <js:ImageAndTextButton id="compareButton" className="glass" 
-                  click.showingThumbnails="attemptCompare()"
-                  click.showingComparison="dispatchFilter()"            
-                  text.showingComparison="Back to thumbnail view"
-                  text.showingThumbnails="Compare Items"
-                  image.showingThumbnails="assets/icon_compare.png"
-                  image.showingComparison="assets/icon_tiles.png" />
-    
-    <js:states>
-       <js:State name="showingThumbnails" />
-       <js:State name="showingComparison" />
-    </js:states>
-
-</js:VContainer>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
deleted file mode 100755
index 951b1fa..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductList.mxml
+++ /dev/null
@@ -1,219 +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:Container xmlns:fx="http://ns.adobe.com/mxml/2009" 
-                 xmlns:js="library://ns.apache.org/flexjs/basic" 
-    > 
-    <js:style>
-        <js:SimpleCSSStyles borderStyle="solid" borderWidth="1" backgroundColor="#BCB29F" />
-    </js:style>
-    <!-- need a background color for drag and drop but can set alpha to 0 -->
-    
-    <fx:Metadata>
-       [Event(name="addProduct", type="samples.flexstore.ProductListEvent")]
-       [Event(name="duplicateProduct", type="samples.flexstore.ProductListEvent")]
-       [Event(name="productQtyChange", type="samples.flexstore.ProductListEvent")]
-       [Event(name="removeProduct", type="samples.flexstore.ProductListEvent")]
-    </fx:Metadata>
-
-    <fx:Script>
-        <![CDATA[
-        import org.apache.flex.effects.Effect;
-        import org.apache.flex.effects.Move;
-        import org.apache.flex.effects.Sequence;
-        import org.apache.flex.core.DropType;
-        import org.apache.flex.core.IUIBase;
-        import org.apache.flex.events.DragEvent;
-        
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductListEvent;
-        
-        public var items:Array;
-        
-        public var newItemStartX:int;
-        public var newItemStartY:int;
-        [Bindable]
-        public var maxItems:int = 0;
-        public var showQuantity:Boolean;
-        
-        private var playingEffects:Object = new Object();
-        
-        public function addProduct(product:Product):void
-		{
-            if (items == null)
-                items = [];
-            
-            var index:int = indexOf(product.productId);
-            var event:ProductListEvent;
-            var item:ProductListItem;
-            
-            if (index != -1)
-			{
-			    item = items[index] as ProductListItem;
-			    //if we don't keep track of what's playing a double-click can
-			    //cause the list item to keep rising
-			    if (playingEffects[item.uid] == null)
-			    {
-                    var jump:Sequence = new Sequence();
-                    var m1:Move = new Move(item)
-                    m1.yBy = -5;
-                    var m2:Move = new Move(item)
-                    m2.yBy = 5;
-                    jump.addChild(m1);
-                    jump.addChild(m2);
-                    jump.duration = 150;
-                    playingEffects[item.uid] = jump;
-                    jump.addEventListener(Effect.EFFECT_END, function(event:Event):void
-                    {
-                       delete playingEffects[item.uid];
-                    });
-                    jump.play();
-                }
-                event = new ProductListEvent(ProductListEvent.DUPLICATE_PRODUCT);
-                event.product = item.product;
-                dispatchEvent(event);
-            }
-			else
-			{
-                index = items.length;
-                if (maxItems <= 0 || index < maxItems)
-				{
-				    item = new ProductListItem();
-				    if (showQuantity)
-				    {
-				        item.currentState = 'showQuantity';
-				    }
-				    item.product = product;
-				    item.percentWidth = 100;
-				    item.addEventListener(ProductListEvent.REMOVE_PRODUCT, removeItemHandler);
-                    items[index] = item;
-                    viewport.addElement(item);
-                    layoutItems(index, true);
-                    event = new ProductListEvent(ProductListEvent.ADD_PRODUCT);
-                    event.product = product;
-                    dispatchEvent(event);
-                }
-            }
-        }
-        
-        public function getProducts():Array
-        {
-            var ret:Array = [];
-            for (var i:int = 0; i < items.length; i++)
-            {
-                ret[i] = ProductListItem(items[i]).product;
-            }
-            return ret;
-        }
-        
-        private function removeItemHandler(event:Event):void
-        {
-            var item:ProductListItem = event.target as ProductListItem;
-            var index:int = indexOf(item.product.productId);
-            items.splice(index, 1);
-            viewport.removeElement(item);
-            layoutItems(index);
-        }
-            
-        private function layoutItems(startIndex:int, scrollToBottom:Boolean=false):void
-		{
-            var n:int = items.length;
-            var e:Move;
-			for (var i:int = startIndex; i < n ; i++)
-			{
-			    var item:ProductListItem = items[i];
-                var yTo:Number = i * (item.height);
-                //still need to prevent items that are already in motion from getting
-                //jumpy
-			    if (playingEffects[item.uid] == null)
-			    {
-                    e = new Move(item);
-                    if (item.x == 0 && item.y == 0)
-    				{
-    					e.xFrom = newItemStartX;
-    					e.yFrom = newItemStartY;
-                    }
-    
-                    e.xTo = 0;
-                    e.yTo = yTo;
-                    playingEffects[item.uid] = e;
-                    e.addEventListener(Effect.EFFECT_END, function(event:Event):void
-                    {
-                       delete playingEffects[item.uid];
-                    });
-                    e.play();
-                }
-                else
-                {
-                    playingEffects[item.uid].pause();
-                    playingEffects[item.uid].yTo = yTo;
-                    playingEffects[item.uid].play();
-                }
-            }
-            //get the last event and if we should scroll make sure we can validate
-            //and scroll to maxVPosition
-            if (scrollToBottom)
-            {
-                e.addEventListener(Effect.EFFECT_END, function(event:Event):void
-                {
-  //TODO                  scrollingView.model.verticalScrollPosition = scrollingView.maxVerticalScrollPosition;    
-                });
-            }
-        }
-        
-        private function indexOf(productId:int):int
-		{
-            var index:int = -1;
-
-            var n:int = items.length;
-			for (var i:int = 0; i < items.length; i++)
-			{
-                if (ProductListItem(items[i]).product.productId == productId)
-				{
-                    index = i;
-                    break;
-                }
-            }
-
-            return index;
-        }     
-
-        private function doDragEnter(event:DragEvent):void
-        {
-            trace("doDragEnter");
-            dmc.acceptDragDrop(event.target as IUIBase, DropType.COPY);
-        }
-
-        private function doDragDrop(event:DragEvent):void
-        {
-            trace("doDragDrop");
-            var product:Product = DragEvent.dragSource as Product;
-            addProduct(product);
-        }  
- 
-        ]]>
-    </fx:Script>
-    <js:beads>
-        <js:DropMouseController id="dmc" dragEnter="doDragEnter(event)" dragDrop="doDragDrop(event)" />
-        <js:VerticalLayout />
-		<js:ScrollingViewport id="scrollingView" />
-    </js:beads>
-    <js:Container id="viewport" width="100%" height="100%" >
-    </js:Container>
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
deleted file mode 100755
index 8e98c3b..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductListItem.mxml
+++ /dev/null
@@ -1,140 +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:Container xmlns:fx="http://ns.adobe.com/mxml/2009" 
-                    xmlns:js="library://ns.apache.org/flexjs/basic" 
-    className="listItem" 
-    height="{HEIGHT}" implements="org.apache.flex.core.IItemRenderer">
-    <!--automationName="{product.name}">-->
-
-    <fx:Metadata>
-       [Event(name="productQtyChange", type="samples.flexstore.ProductListEvent")]
-       [Event(name="removeProduct", type="samples.flexstore.ProductListEvent")]
-    </fx:Metadata>
-    
-    <fx:Script>
-    <![CDATA[
-    
-        import samples.flexstore.Product;
-        import samples.flexstore.ProductListEvent;
-        
-        private static var idCounter:int = 0;
-        public var uid:String = (idCounter++).toString();
-        
-        public static const HEIGHT:int = 30;
-        
-        [Bindable("__NoChangeEvent__")]
-        public function get product():Product
-        {
-            return _data as Product;
-        }
-        public function set product(value:Product):void
-        {
-            _data = value;
-        }
-        
-        private var _data:Object;
-        
-        public function get data():Object
-        {
-            return _data;
-        }
-        
-        public function set data(value:Object):void
-        {
-            _data = value;
-        }
-        
-        public function get listData():Object
-        {
-        	return null;
-        }
-        
-        public function set listData(value:Object):void
-        {
-        	// not used
-        }
-
-        private var _itemRendererParent:Object;
-        
-        public function get itemRendererParent():Object
-        {
-            return _itemRendererParent;
-        }
-        
-        public function set itemRendererParent(value:Object):void
-        {
-            _itemRendererParent = value;
-        }
-        
-        private function qtyChange():void
-    	{
-            product.qty = int(qty.text);
-            var event:ProductListEvent = new ProductListEvent(ProductListEvent.PRODUCT_QTY_CHANGE);
-            event.product = product;
-    		dispatchEvent(event);
-        }
-        
-        private function removeItem():void
-        {
-            var event:ProductListEvent = new ProductListEvent(ProductListEvent.REMOVE_PRODUCT);
-            event.product = product;
-    		dispatchEvent(event);
-        }
-        
-    ]]>
-    </fx:Script>
-    
-    <fx:Declarations>
-        <js:CurrencyFormatter currencySymbol="$" id="cf" fractionalDigits="2"/>
-    </fx:Declarations>
-    
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-        
-    <js:ImageButton id="removeButton" source="assets/trashcan.png"
-        width="14" height="14" y="5"
-        click="removeItem()">
-        <js:beads>
-            <js:ToolTipBead toolTip="Remove from cart" />
-        </js:beads>
-    </js:ImageButton>
-    
-    <js:Image id="productImage" x="16" y="6" width="12" height="12" source="{product.image}"/>
-
-    <js:Label id="productName" x="30" width="100" y="4" text="{product.name}"/>
-
-    <js:Label id="productPrice" width="60" y="4"
-        text="{cf.format(product.price)}" style="textAlign:right;right:0"
-                                style.showQuantity="textAlign:right;right:25"/>
-        
-    <js:TextInput id="qty" width="25" y="3" text="{product.qty}" includeIn="showQuantity"
-                  style="textAlign:right;right:0;marginTop:0" change="qtyChange()" >
-        <js:beads>
-            <js:NumericOnlyTextInputBead maxChars="3" />
-        </js:beads>
-    </js:TextInput>
-    
-    <js:states>
-        <js:State name="compare" />
-        <js:State name="showQuantity" />
-    </js:states>
-    
-</js:Container>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml b/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
deleted file mode 100755
index b3c8429..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/productsView/ProductSupport.mxml
+++ /dev/null
@@ -1,90 +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:HContainer xmlns:fx="http://ns.adobe.com/mxml/2009" 
-          xmlns:js="library://ns.apache.org/flexjs/basic" 
-		 >
-    <js:style>
-        <js:SimpleCSSStyles paddingLeft="4" paddingRight="8" paddingBottom="4" />
-    </js:style>
-    <js:beads>
-        <js:ContainerDataBinding />
-    </js:beads>
-
-    <fx:Script>
-	<![CDATA[
-
-        private function toggle():void
-		{
-			/*
-            if (vd.playing)
-			{
-                vd.stop();
-                list.visible = true;
-            }
-			else
-			{
-                list.visible = false;
-                vd.play();
-            }
-			*/
-        }
-
-	]]>
-    </fx:Script>
-
-    <fx:Declarations>
-        <js:Parallel id="hideList">
-            <js:children>
-                <fx:Array>
-                    <js:Resize target="{list}" widthTo="0"/>
-                    <!--<mx:Resize target="{vd}" widthTo="400" heightTo="314"/>-->
-                </fx:Array>
-            </js:children>
-        </js:Parallel>
-        
-        <js:Parallel id="showList">
-            <js:children>
-                <fx:Array>
-                    <js:Resize target="{list}" widthTo="130"/>
-                    <!--<mx:Resize target="{vd}" widthTo="270" heightTo="217"/>-->
-                </fx:Array>
-            </js:children>
-        </js:Parallel>        
-    </fx:Declarations>
-    <js:List id="list" width="130" height="100%" selectedIndex="0">
-        <js:dataProvider>
-            <fx:Array>
-                <fx:Object label="Install SIM Card"/>
-            </fx:Array>
-        </js:dataProvider>
-    </js:List>
-
-    <js:Container width="100%">
-
-		<!--<mx:VideoDisplay id="vd" width="270" height="217" source="assets/phone.flv"
-						 autoPlay="false" complete="list.visible=true"/>
-
-		<mx:Button label="{vd.playing ? 'Stop' : 'Play'}" click="toggle()" left="8" bottom="8" includeInLayout="false">
-		</mx:Button>
-		-->
-	</js:Container>
-
-
-</js:HContainer>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
deleted file mode 100755
index 5e94b58..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ButtonBarButtonSkin.as
+++ /dev/null
@@ -1,298 +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 samples.flexstore
-{
-
-import flash.display.GradientType;
-import mx.containers.BoxDirection;
-import mx.controls.Button;
-import mx.controls.ButtonBar;
-import mx.skins.Border;
-import mx.skins.halo.*;
-import mx.styles.StyleManager;
-import mx.utils.ColorUtil;
-
-/**
- *  Adapted from mx.skins.halo.ButtonBarButtonSkin.
- *  This version of the ButtonBarButtonSkin is applied for the
- *  selectedOver, selectedUp, and over states to use the 2nd two
- *  values of the fillColors for the selected state of the
- *  button.  The over state then uses a computed value from
- *  the themeColor to show emphasis.  The border of the selected
- *  button also uses a computed value from the themeColor, but
- *  is partially transparent.
- */
-public class ButtonBarButtonSkin extends Border
-{
-	//--------------------------------------------------------------------------
-	//
-	//  Class variables
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private static var cache:Object = {};
-
-	//--------------------------------------------------------------------------
-	//
-	//  Class methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Several colors used for drawing are calculated from the base colors
-	 *  of the component (themeColor, borderColor and fillColors).
-	 *  Since these calculations can be a bit expensive,
-	 *  we calculate once per color set and cache the results.
-	 */
-	private static function calcDerivedStyles(themeColor:uint,
-											  fillColor0:uint,
-											  fillColor1:uint):Object
-	{
-		var key:String = HaloColors.getCacheKey(themeColor,
-												fillColor0, fillColor1);
-
-		if (!cache[key])
-		{
-			var o:Object = cache[key] = {};
-
-			// Cross-component styles.
-			HaloColors.addHaloColors(o, themeColor, fillColor0, fillColor1);
-
-			// Button-specific styles.
-			o.innerEdgeColor1 = ColorUtil.adjustBrightness2(fillColor0, -10);
-			o.innerEdgeColor2 = ColorUtil.adjustBrightness2(fillColor1, -25);
-		}
-
-		return cache[key];
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Constructor
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 *  Constructor.
-	 */
-	public function ButtonBarButtonSkin()
-	{
-		super();
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden properties
-	//
-	//--------------------------------------------------------------------------
-
-	//----------------------------------
-	//  measuredWidth
-	//----------------------------------
-
-	/**
-	 *  @private
-	 */
-	override public function get measuredWidth():Number
-	{
-		return 50;
-	}
-
-	//----------------------------------
-	//  measuredHeight
-	//----------------------------------
-
-	/**
-	 *  @private
-	 */
-	override public function get measuredHeight():Number
-	{
-		return 22;
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Overridden methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	override protected function updateDisplayList(w:Number, h:Number):void
-	{
-		super.updateDisplayList(w, h);
-
-		// User-defined styles.
-		var borderColor:uint = getStyle("borderColor");
-		var cornerRadius:Number = getStyle("cornerRadius");
-		var fillAlphas:Array = getStyle("fillAlphas");
-		var fillColors:Array = getStyle("fillColors");
-		styleManager.getColorNames(fillColors);
-		var highlightAlphas:Array = getStyle("highlightAlphas");
-		var themeColor:uint = getStyle("themeColor");
-
-		// Derivative styles.
-		var derStyles:Object = calcDerivedStyles(themeColor, fillColors[0],
-												 fillColors[1]);
-
-		var borderColorDrk1:Number =
-			ColorUtil.adjustBrightness2(borderColor, -50);
-
-		var themeColorDrk1:Number =
-			ColorUtil.adjustBrightness2(themeColor, -25);
-
-		var emph:Boolean = false;
-
-		if (parent is Button)
-			emph = (parent as Button).emphasized;
-
-		var tmp:Number;
-
-		var bar:ButtonBar = parent ? ButtonBar(parent.parent) : null;
-		var horizontal:Boolean = true;
-		var pos:int = 0;
-
-		if (bar)
-		{
-			if (bar.direction == BoxDirection.VERTICAL)
-				horizontal = false;
-
-			// first: -1, middle: 0, last: 1
-			var index:int = bar.getChildIndex(parent);
-			pos = (index == 0 ? -1 : (index == bar.numChildren - 1 ? 1 : 0));
-		}
-
-		var radius:Object = getCornerRadius(pos, horizontal, cornerRadius);
-		var cr:Object = getCornerRadius(pos, horizontal, cornerRadius);
-		var cr1:Object = getCornerRadius(pos, horizontal, cornerRadius - 1);
-		var cr2:Object = getCornerRadius(pos, horizontal, cornerRadius - 2);
-		var cr3:Object = getCornerRadius(pos, horizontal, cornerRadius - 3);
-
-		graphics.clear();
-
-		switch (name)
-		{
-			case "selectedUpSkin":
-			case "selectedOverSkin":
-			{
-				var overFillColors:Array;
-				if (fillColors.length > 2)
-					overFillColors = [ fillColors[2], fillColors[3] ];
-				else
-					overFillColors = [ fillColors[0], fillColors[1] ];
-
-				var overFillAlphas:Array;
-				if (fillAlphas.length > 2)
-					overFillAlphas = [ fillAlphas[2], fillAlphas[3] ];
-  				else
-					overFillAlphas = [ fillAlphas[0], fillAlphas[1] ];
-
-				// button border/edge
-				drawRoundRect(
-					0, 0, w, h, cr,
-					[ themeColor, derStyles.themeColDrk1 ], 0.5,
-					verticalGradientMatrix(0, 0, w , h),
-					GradientType.LINEAR, null,
-					{ x: 1, y: 1, w: w - 2, h: h - 2, r: cr1 });
-
-				// button fill
-				drawRoundRect(
-					1, 1, w - 2, h - 2, cr1,
-					overFillColors, overFillAlphas,
-					verticalGradientMatrix(0, 0, w - 2, h - 2));
-
-				// top highlight
-				if (!(radius is Number))
-					{ radius.bl = radius.br = 0;}
-				drawRoundRect(
-					1, 1, w - 2, (h - 2) / 2, radius,
-					[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
-					verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
-				break;
-			}
-
-			case "overSkin":
-			{
-				// button border/edge
-				drawRoundRect(
-					0, 0, w, h, cr,
-					[ themeColor, derStyles.themeColDrk1 ], 0.5,
-					verticalGradientMatrix(0, 0, w, h));
-
-				// button fill
-				drawRoundRect(
-					1, 1, w - 2, h - 2, cr1,
-					[ derStyles.fillColorPress1, derStyles.fillColorPress2 ], 1,
-					verticalGradientMatrix(0, 0, w - 2, h - 2));
-
-				// top highlight
-				if (!(radius is Number))
-					{ radius.bl = radius.br = 0;}
-				drawRoundRect(
-					1, 1, w - 2, (h - 2) / 2, radius,
-					[ 0xFFFFFF, 0xFFFFFF ], highlightAlphas,
-					verticalGradientMatrix(1, 1, w - 2, (h - 2) / 2));
-
-				break;
-			}
-		}
-	}
-
-	//--------------------------------------------------------------------------
-	//
-	//  Methods
-	//
-	//--------------------------------------------------------------------------
-
-	/**
-	 *  @private
-	 */
-	private function getCornerRadius(pos:int, horizontal:Boolean,
-									 radius:Number):Object
-	{
-		if (pos == 0)
-			return 0;
-
-		radius = Math.max(0, radius);
-
-		if (horizontal)
-		{
-			if (pos == -1)
-				return { tl: radius, tr: 0, bl: radius, br: 0 };
-			else // pos == 1
-				return { tl: 0, tr: radius, bl: 0, br: radius };
-		}
-		else
-		{
-			if (pos == -1)
-				return { tl: radius, tr: radius, bl: 0, br: 0 };
-			else // pos == 1
-				return { tl: 0, tr: 0, bl: radius, br: radius };
-		}
-	}
-}
-
-}

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
deleted file mode 100755
index 040fb8f..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/Product.as
+++ /dev/null
@@ -1,78 +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 samples.flexstore
-{
-
-[Bindable]
-public class Product
-{
-
-    public var productId:int;
-    public var name:String;
-    public var description:String;
-    public var price:Number;
-    public var image:String;
-    public var experience:String;
-    public var blazeds:Boolean;
-    public var mobile:Boolean;
-    public var video:Boolean;
-    public var highlight1:String;
-    public var highlight2:String;
-    public var qty:int;
-
-    public function Product()
-    {
-
-    }
-
-    public function fill(obj:Object):void
-    {
-        for (var i:String in obj)
-        {
-            this[i] = obj[i];
-        }
-    }
-
-    [Bindable(event="propertyChange")]
-    public function get featureString():String
-    {
-    	var str:String = "";
-    	if (blazeds)
-    		str += "BlazeDS";
-
-		if (mobile)
-		{
-			if (str.length > 0)
-				str += "\n";
-			str += "Mobile";
-		}
-
-		if (video)
-		{
-			if (str.length > 0)
-				str += "\n";
-			str += "Video";
-		}
-
-		return str;
-    }
-
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
deleted file mode 100755
index d182371..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilter.as
+++ /dev/null
@@ -1,56 +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 samples.flexstore
-{
-
-[Bindable]
-public class ProductFilter
-{
-    public var count:int;
-    public var experience:String;
-    public var minPrice:Number;
-    public var maxPrice:Number;
-    public var blazeds:Boolean;
-    public var mobile:Boolean;
-    public var video:Boolean;
-    
-    public function ProductFilter()
-    {
-        super();
-    }
-    
-    public function accept(product:Product):Boolean
-    {
-        //price is often the first test so let's fail fast if possible
-        if (minPrice > product.price || maxPrice < product.price)
-            return false;
-        if (experience != "All" && experience > product.experience)
-            return false;
-        if (blazeds && !product.blazeds)
-            return false;
-        if (mobile && !product.mobile)
-            return false;
-        if (video && !product.video)
-            return false;
-        
-        return true;
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
deleted file mode 100755
index 28129e7..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductFilterEvent.as
+++ /dev/null
@@ -1,39 +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 samples.flexstore
-{
-
-import org.apache.flex.events.Event;
-
-public class ProductFilterEvent extends Event
-{
-    public static const FILTER:String = "filter";
-    
-    public var live:Boolean;
-    public var filter:ProductFilter;
-    
-    public function ProductFilterEvent(filter:ProductFilter, live:Boolean)
-    {
-        super(FILTER);
-        this.filter = filter;
-        this.live = live;
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.as
deleted file mode 100755
index b6b9371..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductListEvent.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 samples.flexstore
-{
-
-import org.apache.flex.events.Event;
-
-public class ProductListEvent extends Event
-{
-    public static const ADD_PRODUCT:String = "addProduct";
-    public static const DUPLICATE_PRODUCT:String = "duplicateProduct";
-    public static const REMOVE_PRODUCT:String = "removeProduct";
-    public static const PRODUCT_QTY_CHANGE:String = "productQtyChange";
-    
-    public var product:Product;
-    
-    //making the default bubbles behavior of the event to true since we want
-    //it to bubble out of the ProductListItem and beyond
-    public function ProductListEvent(type:String, bubbles:Boolean=true, cancelable:Boolean=false)
-    {
-        super(type, bubbles, cancelable);
-    }
-    
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as b/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
deleted file mode 100755
index f92dc7f..0000000
--- a/examples/flexjs/FlexJSStore_jquery/src/samples/flexstore/ProductThumbEvent.as
+++ /dev/null
@@ -1,45 +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 samples.flexstore
-{
-    
-import org.apache.flex.events.Event;
-
-public class ProductThumbEvent extends Event
-{
-    public static const PURCHASE:String = "purchase";
-    public static const COMPARE:String = "compare";
-    public static const DETAILS:String = "details";
-    public static const BROWSE:String = "browse";
-    
-    public var product:Product;
-    
-    public function ProductThumbEvent(type:String, product:Product)
-    {
-        super(type);
-        this.product = product;
-    }
-    
-    override public function cloneEvent():Event
-    {
-        return new ProductThumbEvent(type, product);
-    }
-}
-
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml b/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
deleted file mode 100644
index 9aafac9..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/FlexWebsiteStatsViewer.mxml
+++ /dev/null
@@ -1,55 +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:controllers="controllers.*"
-				   xmlns:js="library://ns.apache.org/flexjs/basic" 
-				   initialize="trace('app initialized')"
-				   >
-	<js:valuesImpl>
-		<js:SimpleCSSValuesImpl />
-	</js:valuesImpl>
-	<js:initialView>
-		<local:StatsView />
-	</js:initialView>
-	<js:model>
-		<models:StatsModel />
-	</js:model>
-	<js:controller>
-		<controllers:StatsController />
-	</js:controller>
-	<js:beads>
-        <js:BrowserScroller />
-		<js:HTTPService id="service">
-			<js:LazyCollection id="collection">
-				<js:inputParser>
-					<controllers:GAJSONInputParser />
-				</js:inputParser>
-				<js:itemConverter>
-					<controllers:GAStatsDataJSONItemConverter />
-				</js:itemConverter> 
-			</js:LazyCollection>
-		</js:HTTPService>
-		<js:CSSFontFaceBead />
-    </js:beads>
-</js:Application>
-

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml b/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
deleted file mode 100644
index 0636dda..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/StatsView.mxml
+++ /dev/null
@@ -1,87 +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"
-                initComplete="testit()"
-				>
-	<fx:Script>
-		<![CDATA[
-		import org.apache.flex.events.MouseEvent;
-
-		private function testit():void {
-			trace();
-		}
-
-		private function onRefreshBtnClick(event:MouseEvent):void {
-			var e:Event = new Event("refresh", true);
-			dispatchEvent(e);
-		}
-		]]>
-	</fx:Script>
-	
-	<fx:Style>
-		@namespace js "library://ns.apache.org/flexjs/basic";
-		.AllCharts {
-			border-width: 0px;
-			padding-left: 2px;
-			padding-top: 10px;
-			padding-bottom: 2px;
-			padding-right: 10px;
-		}
-	</fx:Style>
-	
-	
-	<js:Label text="Number of users on flex.apache.org for last 30 days" x="10" y="10" />
-	<js:TextButton id="refreshButton" text="Refresh" x="300" y="10" click="onRefreshBtnClick(event)"/>
-	
-	<js:ColumnChart id="columnChart" x="40" y="40" width="2000" height="768" className="AllCharts">
-		<js:beads>
-			<js:SimpleBinding
-				sourceID="applicationModel"
-				sourcePropertyName="lastThirtyDaysUsers"
-				destinationPropertyName="dataProvider" 
-				eventName="lastThirtyDaysDataChanged"
-				/>
-			<js:HorizontalCategoryAxisBead categoryField="date" />
-			<js:VerticalLinearAxisBead valueField="users" />
-		</js:beads>
-		<js:series>
-			<js:ColumnSeries yField="users">
-				<js:itemRenderer>
-					<fx:Component>
-						<js:BoxItemRenderer>
-							<js:fill>
-								<js:SolidColor color="#7CB5EC" alpha="1.0" />
-							</js:fill>
-							<!--<js:fill>
-								<js:LinearGradient rotation="90">
-									<js:entries>
-										<js:GradientEntry color="#7CB5EC" ratio="0" />
-										<js:GradientEntry color="#EFF7FF" ratio="0.5" />
-									</js:entries>
-								</js:LinearGradient>
-							</js:fill>-->
-						</js:BoxItemRenderer>                      
-					</fx:Component>
-				</js:itemRenderer>
-			</js:ColumnSeries>
-		</js:series>
-	</js:ColumnChart>	
-</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
deleted file mode 100644
index c443de5..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAJSONInputParser.as
+++ /dev/null
@@ -1,38 +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 controllers
-{
-	import org.apache.flex.collections.parsers.JSONInputParser;
-	
-	public class GAJSONInputParser extends JSONInputParser
-	{
-		public function GAJSONInputParser()
-		{
-		}
-		
-		override public function parseItems(s:String):Array
-		{
-			var rowsArrayStartIndex:int = s.indexOf('"rows": [', 0);
-			var rowsArrayEndIndex:int = s.indexOf("]]", rowsArrayStartIndex);
-			var rowsArrayString:String = s.slice(rowsArrayStartIndex + 9,rowsArrayEndIndex);
-			var rowsArray:Array = rowsArrayString.split("],");
-			return rowsArray;
-		}
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
deleted file mode 100644
index 608db8f..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/GAStatsDataJSONItemConverter.as
+++ /dev/null
@@ -1,41 +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 controllers
-{
-    import org.apache.flex.collections.converters.JSONItemConverter;
-    
-    public class GAStatsDataJSONItemConverter extends JSONItemConverter
-    {
-        public function GAStatsDataJSONItemConverter()
-        {
-            super();
-        }
-        
-        override public function convertItem(data:String):Object
-        {
-			var obj:Object = {};
-			var a:Array = data.split(",");
-			var dateStr:String = a[0];
-			var usersStr:String = a[1];
-			obj.date = dateStr.substring(dateStr.indexOf("[") + 2 , dateStr.lastIndexOf('"'));
-			obj.users = parseInt(usersStr.substring(usersStr.indexOf(' "') + 2, usersStr.lastIndexOf('"')));
-			return obj;
-        }
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as b/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.as
deleted file mode 100644
index b4a054c..0000000
--- a/examples/flexjs/FlexWebsiteStatsViewer/src/controllers/StatsController.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 controllers
-{
-	
-	import models.StatsModel;
-	
-	import org.apache.flex.core.Application;
-	import org.apache.flex.core.IDocument;
-	import org.apache.flex.events.Event;
-    	
-	public class StatsController implements IDocument
-	{
-		public function StatsController(a:Application = null)
-		{
-			if (a)
-			{
-				this.app = a as FlexWebsiteStatsViewer;
-				this.app.addEventListener("viewChanged", viewChangeHandler);
-			}
-		}
-		
-        private var lastThirtyDaysUsers:String = 'https://apache-flex-dashboard.appspot.com/query?id=ahdzfmFwYWNoZS1mbGV4LWRhc2hib2FyZHIVCxIIQXBpUXVlcnkYgICAgICAgAoM&format=json'
-		
-		private var app:FlexWebsiteStatsViewer;
-		
-		private function viewChangeHandler(event:Event):void
-		{
-			app.initialView.addEventListener("refresh", buttonClickHandler);
-		}
-		
-        private function buttonClickHandler(event:Event):void
-        {
-            app.service.url = lastThirtyDaysUsers;
-            app.service.send();
-            app.service.addEventListener("complete", completeHandler);
-        }
-		
-        private function completeHandler(event:Event):void
-        {
-			var lastThirtyDaysUsers:Array = [];
-			if(app.collection)
-			{
-				for (var i:int = 0; i < app.collection.length; i++) 
-				{
-					lastThirtyDaysUsers.push(app.collection.getItemAt(i))	
-				}
-				
-			}
-			
-			StatsModel(app.model).lastThirtyDaysUsers = lastThirtyDaysUsers;
-        }
-        
-		public function setDocument(document:Object, id:String = null):void
-		{
-			this.app = document as FlexWebsiteStatsViewer;
-			app.addEventListener("viewChanged", viewChangeHandler);
-		}
-
-	}
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
new file mode 100644
index 0000000..9aafac9
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/FlexWebsiteStatsViewer.mxml
@@ -0,0 +1,55 @@
+<?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:controllers="controllers.*"
+				   xmlns:js="library://ns.apache.org/flexjs/basic" 
+				   initialize="trace('app initialized')"
+				   >
+	<js:valuesImpl>
+		<js:SimpleCSSValuesImpl />
+	</js:valuesImpl>
+	<js:initialView>
+		<local:StatsView />
+	</js:initialView>
+	<js:model>
+		<models:StatsModel />
+	</js:model>
+	<js:controller>
+		<controllers:StatsController />
+	</js:controller>
+	<js:beads>
+        <js:BrowserScroller />
+		<js:HTTPService id="service">
+			<js:LazyCollection id="collection">
+				<js:inputParser>
+					<controllers:GAJSONInputParser />
+				</js:inputParser>
+				<js:itemConverter>
+					<controllers:GAStatsDataJSONItemConverter />
+				</js:itemConverter> 
+			</js:LazyCollection>
+		</js:HTTPService>
+		<js:CSSFontFaceBead />
+    </js:beads>
+</js:Application>
+

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
new file mode 100644
index 0000000..0636dda
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/StatsView.mxml
@@ -0,0 +1,87 @@
+<?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"
+                initComplete="testit()"
+				>
+	<fx:Script>
+		<![CDATA[
+		import org.apache.flex.events.MouseEvent;
+
+		private function testit():void {
+			trace();
+		}
+
+		private function onRefreshBtnClick(event:MouseEvent):void {
+			var e:Event = new Event("refresh", true);
+			dispatchEvent(e);
+		}
+		]]>
+	</fx:Script>
+	
+	<fx:Style>
+		@namespace js "library://ns.apache.org/flexjs/basic";
+		.AllCharts {
+			border-width: 0px;
+			padding-left: 2px;
+			padding-top: 10px;
+			padding-bottom: 2px;
+			padding-right: 10px;
+		}
+	</fx:Style>
+	
+	
+	<js:Label text="Number of users on flex.apache.org for last 30 days" x="10" y="10" />
+	<js:TextButton id="refreshButton" text="Refresh" x="300" y="10" click="onRefreshBtnClick(event)"/>
+	
+	<js:ColumnChart id="columnChart" x="40" y="40" width="2000" height="768" className="AllCharts">
+		<js:beads>
+			<js:SimpleBinding
+				sourceID="applicationModel"
+				sourcePropertyName="lastThirtyDaysUsers"
+				destinationPropertyName="dataProvider" 
+				eventName="lastThirtyDaysDataChanged"
+				/>
+			<js:HorizontalCategoryAxisBead categoryField="date" />
+			<js:VerticalLinearAxisBead valueField="users" />
+		</js:beads>
+		<js:series>
+			<js:ColumnSeries yField="users">
+				<js:itemRenderer>
+					<fx:Component>
+						<js:BoxItemRenderer>
+							<js:fill>
+								<js:SolidColor color="#7CB5EC" alpha="1.0" />
+							</js:fill>
+							<!--<js:fill>
+								<js:LinearGradient rotation="90">
+									<js:entries>
+										<js:GradientEntry color="#7CB5EC" ratio="0" />
+										<js:GradientEntry color="#EFF7FF" ratio="0.5" />
+									</js:entries>
+								</js:LinearGradient>
+							</js:fill>-->
+						</js:BoxItemRenderer>                      
+					</fx:Component>
+				</js:itemRenderer>
+			</js:ColumnSeries>
+		</js:series>
+	</js:ColumnChart>	
+</js:View>

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
new file mode 100644
index 0000000..c443de5
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAJSONInputParser.as
@@ -0,0 +1,38 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.collections.parsers.JSONInputParser;
+	
+	public class GAJSONInputParser extends JSONInputParser
+	{
+		public function GAJSONInputParser()
+		{
+		}
+		
+		override public function parseItems(s:String):Array
+		{
+			var rowsArrayStartIndex:int = s.indexOf('"rows": [', 0);
+			var rowsArrayEndIndex:int = s.indexOf("]]", rowsArrayStartIndex);
+			var rowsArrayString:String = s.slice(rowsArrayStartIndex + 9,rowsArrayEndIndex);
+			var rowsArray:Array = rowsArrayString.split("],");
+			return rowsArray;
+		}
+	}
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
new file mode 100644
index 0000000..608db8f
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/GAStatsDataJSONItemConverter.as
@@ -0,0 +1,41 @@
+////////////////////////////////////////////////////////////////////////////////
+//
+//  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 org.apache.flex.collections.converters.JSONItemConverter;
+    
+    public class GAStatsDataJSONItemConverter extends JSONItemConverter
+    {
+        public function GAStatsDataJSONItemConverter()
+        {
+            super();
+        }
+        
+        override public function convertItem(data:String):Object
+        {
+			var obj:Object = {};
+			var a:Array = data.split(",");
+			var dateStr:String = a[0];
+			var usersStr:String = a[1];
+			obj.date = dateStr.substring(dateStr.indexOf("[") + 2 , dateStr.lastIndexOf('"'));
+			obj.users = parseInt(usersStr.substring(usersStr.indexOf(' "') + 2, usersStr.lastIndexOf('"')));
+			return obj;
+        }
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/e75059f7/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
----------------------------------------------------------------------
diff --git a/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.as
new file mode 100644
index 0000000..b4a054c
--- /dev/null
+++ b/examples/flexjs/FlexWebsiteStatsViewer/src/main/flex/controllers/StatsController.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 controllers
+{
+	
+	import models.StatsModel;
+	
+	import org.apache.flex.core.Application;
+	import org.apache.flex.core.IDocument;
+	import org.apache.flex.events.Event;
+    	
+	public class StatsController implements IDocument
+	{
+		public function StatsController(a:Application = null)
+		{
+			if (a)
+			{
+				this.app = a as FlexWebsiteStatsViewer;
+				this.app.addEventListener("viewChanged", viewChangeHandler);
+			}
+		}
+		
+        private var lastThirtyDaysUsers:String = 'https://apache-flex-dashboard.appspot.com/query?id=ahdzfmFwYWNoZS1mbGV4LWRhc2hib2FyZHIVCxIIQXBpUXVlcnkYgICAgICAgAoM&format=json'
+		
+		private var app:FlexWebsiteStatsViewer;
+		
+		private function viewChangeHandler(event:Event):void
+		{
+			app.initialView.addEventListener("refresh", buttonClickHandler);
+		}
+		
+        private function buttonClickHandler(event:Event):void
+        {
+            app.service.url = lastThirtyDaysUsers;
+            app.service.send();
+            app.service.addEventListener("complete", completeHandler);
+        }
+		
+        private function completeHandler(event:Event):void
+        {
+			var lastThirtyDaysUsers:Array = [];
+			if(app.collection)
+			{
+				for (var i:int = 0; i < app.collection.length; i++) 
+				{
+					lastThirtyDaysUsers.push(app.collection.getItemAt(i))	
+				}
+				
+			}
+			
+			StatsModel(app.model).lastThirtyDaysUsers = lastThirtyDaysUsers;
+        }
+        
+		public function setDocument(document:Object, id:String = null):void
+		{
+			this.app = document as FlexWebsiteStatsViewer;
+			app.addEventListener("viewChanged", viewChangeHandler);
+		}
+
+	}
+}
\ No newline at end of file