This is an automated email from the ASF dual-hosted git repository.

bigosmallm pushed a commit to branch feature/echarts
in repository https://gitbox.apache.org/repos/asf/royale-asjs.git


The following commit(s) were added to refs/heads/feature/echarts by this push:
     new 72f5c3d  Add DataZoom functionality;  Separate out example apps; Clean 
up.
72f5c3d is described below

commit 72f5c3da3f22892d843fd478ac2464924293acaf
Author: Om Muppirala <[email protected]>
AuthorDate: Tue Mar 27 14:49:27 2018 -0700

    Add DataZoom functionality;  Separate out example apps; Clean up.
---
 examples/royale/ECharts/asconfig.json              |  2 +-
 .../ECharts/src/{Main.mxml => BasicExample.mxml}   | 14 ++--
 .../src/{Main.mxml => DataZoomExample.mxml}        | 39 +++++++----
 examples/royale/ECharts/src/EchartsExample.as      | 50 --------------
 examples/royale/ECharts/src/echarts/DataZoom.as    | 80 ++++++++++++++++++++++
 .../royale/ECharts/src/echarts/DataZoomList.as     | 27 ++++++++
 .../royale/ECharts/src/echarts/EChartsOptions.as   | 41 +++++++++--
 examples/royale/ECharts/src/echarts/XAxis.as       | 16 ++++-
 examples/royale/ECharts/src/echarts/YAxis.as       | 26 +++++--
 9 files changed, 210 insertions(+), 85 deletions(-)

diff --git a/examples/royale/ECharts/asconfig.json 
b/examples/royale/ECharts/asconfig.json
index bf0e474..199c007 100644
--- a/examples/royale/ECharts/asconfig.json
+++ b/examples/royale/ECharts/asconfig.json
@@ -8,6 +8,6 @@
        },
        "files":
        [
-               "src/Main.mxml"
+               "src/DataZoomExample.mxml"
        ]
 }
\ No newline at end of file
diff --git a/examples/royale/ECharts/src/Main.mxml 
b/examples/royale/ECharts/src/BasicExample.mxml
similarity index 71%
copy from examples/royale/ECharts/src/Main.mxml
copy to examples/royale/ECharts/src/BasicExample.mxml
index 709ea88..4b83e5b 100644
--- a/examples/royale/ECharts/src/Main.mxml
+++ b/examples/royale/ECharts/src/BasicExample.mxml
@@ -6,13 +6,13 @@
                                   >
        <fx:Script>
         <![CDATA[
-        [Bindable] private var data:Array;
+        [Bindable] private var xAxisData:Array;
         [Bindable] private var salesData:Array;
         [Bindable] private var profitData:Array;
 
         private function onAppInitialize(event:Event):void
         {
-            this.data = ["shirt","cardign","chiffon 
shirt","pants","heels","socks"];
+            this.xAxisData = ["shirt","cardign","chiffon 
shirt","pants","heels","socks"];
             this.salesData = [5, 20, 36, 10, 10, 20];
             this.profitData = [15, 12, 45, 8, 9, 54];
         }
@@ -25,11 +25,11 @@
                 <ns2:chartOptions>
                     <ns2:EChartsOptions>
                         <ns2:title>
-                            <ns2:Title text="Sales vs. Profit" show="true"
+                            <ns2:Title text="Basic Example" show="true"
                             
link="https://ecomfe.github.io/echarts-examples/public/index.html"; 
target="_self" />
                         </ns2:title>
                         <ns2:xAxis>
-                            <ns2:XAxis data="{this.data}" position="top" />
+                            <ns2:XAxis data="{this.xAxisData}" position="top" 
/>
                         </ns2:xAxis>
                         <ns2:yAxis>
                             <ns2:YAxis/>
@@ -37,10 +37,8 @@
                         <ns2:seriesList>
                             <ns2:SeriesList>
                                 <ns2:series>
-                                    <fx:Array>
-                                        <ns2:Series name="Sales" type="bar" 
data="{this.salesData}" />
-                                        <ns2:Series name="Profit" type="line" 
data="{this.profitData}" />
-                                    </fx:Array>
+                                    <ns2:Series name="Sales" type="bar" 
data="{this.salesData}" />
+                                    <ns2:Series name="Profit" type="line" 
data="{this.profitData}" />
                                 </ns2:series>
                             </ns2:SeriesList>
                         </ns2:seriesList>
diff --git a/examples/royale/ECharts/src/Main.mxml 
b/examples/royale/ECharts/src/DataZoomExample.mxml
similarity index 50%
rename from examples/royale/ECharts/src/Main.mxml
rename to examples/royale/ECharts/src/DataZoomExample.mxml
index 709ea88..bdb7f66 100644
--- a/examples/royale/ECharts/src/Main.mxml
+++ b/examples/royale/ECharts/src/DataZoomExample.mxml
@@ -6,15 +6,23 @@
                                   >
        <fx:Script>
         <![CDATA[
-        [Bindable] private var data:Array;
-        [Bindable] private var salesData:Array;
-        [Bindable] private var profitData:Array;
+        [Bindable] private var seriesData:Array;
+        [Bindable] private var xAxisIndex:Array;
+        [Bindable] private var yAxisIndex:Array;
 
         private function onAppInitialize(event:Event):void
         {
-            this.data = ["shirt","cardign","chiffon 
shirt","pants","heels","socks"];
-            this.salesData = [5, 20, 36, 10, 10, 20];
-            this.profitData = [15, 12, 45, 8, 9, 54];
+            this.seriesData = [
+                // The first column corresponds to xAxis,
+                // and the second coloum corresponds to yAxis.
+                [1, 11],
+                [3, 9],
+                [12, 24],
+                [90, 80],
+            ];
+
+            this.xAxisIndex = [0];
+            this.yAxisIndex = [0];
         }
 
         ]]>
@@ -25,25 +33,30 @@
                 <ns2:chartOptions>
                     <ns2:EChartsOptions>
                         <ns2:title>
-                            <ns2:Title text="Sales vs. Profit" show="true"
+                            <ns2:Title text="DataZoom example" show="true"
                             
link="https://ecomfe.github.io/echarts-examples/public/index.html"; 
target="_self" />
                         </ns2:title>
                         <ns2:xAxis>
-                            <ns2:XAxis data="{this.data}" position="top" />
+                            <ns2:XAxis type="value" />
                         </ns2:xAxis>
                         <ns2:yAxis>
-                            <ns2:YAxis/>
+                            <ns2:YAxis type="value"/>
                         </ns2:yAxis>
                         <ns2:seriesList>
                             <ns2:SeriesList>
                                 <ns2:series>
-                                    <fx:Array>
-                                        <ns2:Series name="Sales" type="bar" 
data="{this.salesData}" />
-                                        <ns2:Series name="Profit" type="line" 
data="{this.profitData}" />
-                                    </fx:Array>
+                                    <ns2:Series type="line" 
data="{this.seriesData}" />
                                 </ns2:series>
                             </ns2:SeriesList>
                         </ns2:seriesList>
+                        <ns2:dataZoomList>
+                            <ns2:DataZoomList>
+                                <ns2:dataZoom>
+                                    <ns2:DataZoom id="xAxisZoom" type="slider" 
xAxisIndex="{[0]}" filterMode="filter"/>
+                                    <ns2:DataZoom id="yAxisZoom" type="slider" 
yAxisIndex="{[0]}" filterMode="filter"/>
+                                </ns2:dataZoom>
+                            </ns2:DataZoomList>
+                        </ns2:dataZoomList>
                     </ns2:EChartsOptions>
                 </ns2:chartOptions>
             </ns2:ECharts>
diff --git a/examples/royale/ECharts/src/EchartsExample.as 
b/examples/royale/ECharts/src/EchartsExample.as
deleted file mode 100644
index 094d030..0000000
--- a/examples/royale/ECharts/src/EchartsExample.as
+++ /dev/null
@@ -1,50 +0,0 @@
-package {
-    import goog.global;
-    import echarts.ECharts;
-
-    public class EchartsExample {
-
-        private var echartsContainer:HTMLDivElement;
-        private var echartsInstance:Object;
-        private var instance:ECharts;
-
-        public function start():void {
-            setupEchartsContainer();
-            createEchartsInstance();
-        }
-
-               private function setupEchartsContainer():void
-               {
-            echartsContainer = HTMLDivElement(document.createElement("div"));
-            echartsContainer.setAttribute("style", "width: 
600px;height:400px;");
-            document.body.appendChild(echartsContainer);
-               }
-
-               private function createEchartsInstance():void
-               {
-            echartsInstance = global["echarts"].init(echartsContainer);
-
-            var option:Object = 
-             {
-                title: {
-                    text: 'ECharts entry example'
-                },
-                tooltip: {},
-                legend: {
-                    data:['Sales']
-                },
-                xAxis: {
-                    data: ["shirt","cardign","chiffon 
shirt","pants","heels","socks"]
-                },
-                yAxis: {},
-                series: [{
-                    name: 'Sales',
-                    type: 'bar',
-                    data: [5, 20, 36, 10, 10, 20]
-                }]
-            };
-
-            echartsInstance.setOption(option);
-               }
-    }
-}
\ No newline at end of file
diff --git a/examples/royale/ECharts/src/echarts/DataZoom.as 
b/examples/royale/ECharts/src/echarts/DataZoom.as
new file mode 100644
index 0000000..756763c
--- /dev/null
+++ b/examples/royale/ECharts/src/echarts/DataZoom.as
@@ -0,0 +1,80 @@
+package echarts
+{
+    import org.apache.royale.events.EventDispatcher;
+
+    public class DataZoom  extends EventDispatcher{
+               private var _id:String;
+               private var _xAxisIndex:Array;
+               private var _yAxisIndex:Array;
+               private var _type:String;
+               private var _filterMode:String;
+
+        [Bindable("dataZoomChanged")]
+               public function get id():String
+               {
+                       return _id;
+               }
+
+               public function set id(value:String):void
+               {
+                       _id = value;
+            dispatchEvent(new Event("dataZoomChanged"));
+               }
+
+               [Bindable("dataZoomChanged")]
+               public function get xAxisIndex():Array
+               {
+                       return _xAxisIndex;
+               }
+        
+               public function set xAxisIndex(value:Array):void
+               {
+                       _xAxisIndex = value;
+                       dispatchEvent(new Event("dataZoomChanged"));
+               }
+
+               [Bindable("dataZoomChanged")]
+               public function get yAxisIndex():Array
+               {
+                       return _yAxisIndex;
+               }
+        
+               public function set yAxisIndex(value:Array):void
+               {
+                       _yAxisIndex = value;
+                       dispatchEvent(new Event("dataZoomChanged"));
+               }
+
+               [Bindable("dataZoomChanged")]
+               public function get type():String
+               {
+                       return _type;
+               }
+
+               public function set type(value:String):void
+               {
+                       _type = value;
+            dispatchEvent(new Event("dataZoomChanged"));
+               }
+
+               [Bindable("dataZoomChanged")]
+               public function get filterMode():String
+               {
+                       return _filterMode;
+               }
+
+               public function set filterMode(value:String):void
+               {
+                       _filterMode = value;
+                       dispatchEvent(new Event("dataZoomChanged"));
+               }
+
+        public function get obj():Object {
+            return {id: this.id,
+                                       xAxisIndex: this.xAxisIndex,
+                                       yAxisIndex: this.yAxisIndex,
+                    type: this.type,
+                    filterMode: this.filterMode};
+        }
+    }
+}
\ No newline at end of file
diff --git a/examples/royale/ECharts/src/echarts/DataZoomList.as 
b/examples/royale/ECharts/src/echarts/DataZoomList.as
new file mode 100644
index 0000000..14c64aa
--- /dev/null
+++ b/examples/royale/ECharts/src/echarts/DataZoomList.as
@@ -0,0 +1,27 @@
+package echarts
+{
+
+    import org.apache.royale.events.EventDispatcher;
+
+    public class DataZoomList extends EventDispatcher{
+        private var _dataZoomArray:Array = [];
+
+        [Bindable("dataZoomListChanged")]
+        public function get dataZoom():Array {
+            return _dataZoomArray;
+        }
+
+        public function set dataZoom(v:Array):void {
+            _dataZoomArray = v;
+            for(var i:int=0; i<_dataZoomArray.length; i++) {
+                _dataZoomArray[i].addEventListener("dataZoomChanged", 
handleDataZoomChanged);
+            }
+            dispatchEvent(new Event("dataZoomListChanged"));
+        }
+
+        protected function handleDataZoomChanged(event:Event):void {
+            dispatchEvent(new Event("dataZoomListChanged"));
+        }
+        
+    }
+}
\ No newline at end of file
diff --git a/examples/royale/ECharts/src/echarts/EChartsOptions.as 
b/examples/royale/ECharts/src/echarts/EChartsOptions.as
index 3fd0527..207311d 100644
--- a/examples/royale/ECharts/src/echarts/EChartsOptions.as
+++ b/examples/royale/ECharts/src/echarts/EChartsOptions.as
@@ -8,8 +8,9 @@ package echarts
     public class EChartsOptions extends EventDispatcher{
         private var _title:Title = new Title();
         private var _xAxis:XAxis;
-        private var _yAxis:YAxis = new YAxis();
+        private var _yAxis:YAxis;
                private var _seriesList:SeriesList;
+               private var _dataZoomList:DataZoomList;
 
                public function EChartsOptions() {
                        
@@ -49,6 +50,7 @@ package echarts
                public function set yAxis(value:YAxis):void
                {
                        _yAxis = value;
+                       this._xAxis.addEventListener("yAxisChanged", 
this.optionsChanged);
             dispatchEvent(new Event("chartOptionsChanged"));
                }
 
@@ -65,18 +67,43 @@ package echarts
             dispatchEvent(new Event("chartOptionsChanged"));
                }
 
+               [Bindable("chartOptionsChanged")]
+               public function get dataZoomList():DataZoomList
+               {
+                       return _dataZoomList;
+               }
+
+               public function set dataZoomList(value:DataZoomList):void
+               {
+                       _dataZoomList = value;
+                       _dataZoomList.addEventListener("dataZoomListChanged", 
this.optionsChanged);
+            dispatchEvent(new Event("chartOptionsChanged"));
+               }
+
         public function get options():Object {
             return {title: this.title,
                     xAxis: this.xAxis.obj,
-                    yAxis: this.yAxis,
-                    series: getSeriesValues()};
+                    yAxis: this.yAxis.obj,
+                    series: getSeriesValues(),
+                                       dataZoom: getDataZoomValues()};
         }
 
         protected function getSeriesValues():Array {
-            var a:Array =  
this.seriesList.series.map(function(item:Series):Object {
-                return item.obj;
-            });
-            return a;
+                       if(this.seriesList) {
+                               return 
this.seriesList.series.map(function(item:Series):Object {
+                                       return item.obj;
+                               });
+                       }
+            else return [];
+        }
+
+               protected function getDataZoomValues():Array {
+                       if(this.dataZoomList) {
+                               return 
this.dataZoomList.dataZoom.map(function(item:DataZoom):Object {
+                                       return item.obj;
+                               });
+                       }
+            else return [];
         }
         
                protected function optionsChanged(event:Event):void {
diff --git a/examples/royale/ECharts/src/echarts/XAxis.as 
b/examples/royale/ECharts/src/echarts/XAxis.as
index 92cd868..67e81a4 100644
--- a/examples/royale/ECharts/src/echarts/XAxis.as
+++ b/examples/royale/ECharts/src/echarts/XAxis.as
@@ -5,6 +5,7 @@ package echarts
     public class XAxis extends EventDispatcher{
                private var _data:Array;
         private var _position:String;
+               private var _type:String;
 
         [Bindable("xAxisChanged")]
                public function get data():Array
@@ -30,9 +31,22 @@ package echarts
             dispatchEvent(new Event("xAxisChanged"));
                }
 
+               [Bindable("xAxisChanged")]
+               public function get type():String
+               {
+                       return _type;
+               }
+
+               public function set type(value:String):void
+               {
+                       _type = value;
+            dispatchEvent(new Event("xAxisChanged"));
+               }
+
         public function get obj():Object {
             return {data: this.data,
-                    position: this.position};
+                    position: this.position,
+                                       type: this.type};
         }
     }
 }
\ No newline at end of file
diff --git a/examples/royale/ECharts/src/echarts/YAxis.as 
b/examples/royale/ECharts/src/echarts/YAxis.as
index 210877e..0132c7b 100644
--- a/examples/royale/ECharts/src/echarts/YAxis.as
+++ b/examples/royale/ECharts/src/echarts/YAxis.as
@@ -1,9 +1,25 @@
 package echarts
 {
-    /**
-     * @royalesuppresspublicvarwarning
-     */
-    public class YAxis{
-                       
+
+    import org.apache.royale.events.EventDispatcher;
+
+    public class YAxis extends EventDispatcher{
+               private var _type:String;
+
+        [Bindable("yAxisChanged")]
+               public function get type():String
+               {
+                       return _type;
+               }
+
+               public function set type(value:String):void
+               {
+                       _type = value;
+            dispatchEvent(new Event("yAxisChanged"));
+               }
+
+        public function get obj():Object {
+            return {type: this.type};
+        }
     }
 }
\ No newline at end of file

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to