Repository: flex-asjs Updated Branches: refs/heads/develop a939eb93d -> 095bb4f0f
move DataBindingTestbed to manualtests Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/095bb4f0 Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/095bb4f0 Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/095bb4f0 Branch: refs/heads/develop Commit: 095bb4f0f45addddb2594ad0aee1cf56c8cc8774 Parents: a939eb9 Author: Alex Harui <aha...@apache.org> Authored: Tue Aug 30 00:36:54 2016 -0700 Committer: Alex Harui <aha...@apache.org> Committed: Tue Aug 30 00:36:54 2016 -0700 ---------------------------------------------------------------------- examples/flexjs/DataBindingTestbed/README.txt | 51 ---- examples/flexjs/DataBindingTestbed/build.xml | 46 ---- examples/flexjs/DataBindingTestbed/pom.xml | 68 ----- .../src/DataBindingTestbed.mxml | 40 --- .../DataBindingTestbed/src/MyInitialView.mxml | 250 ------------------- .../src/bindables/BindableBaseVO.as | 31 --- .../src/bindables/BindableSubVO1.as | 33 --- .../src/bindables/BindableSubVO2.as | 33 --- .../src/bindables/BindableSubVO3.as | 33 --- .../src/bindables/InstanceTimer.as | 69 ----- .../src/bindables/StaticTimer.as | 61 ----- .../src/bindables/UnbindableBaseVO.as | 31 --- .../src/bindables/UnbindableIntermediateVO.as | 31 --- .../DataBindingTestbed/src/models/MyModel.as | 47 ---- .../src/unbindable/UnbindableParent.as | 38 --- manualtests/DataBindingTestbed/README.txt | 51 ++++ manualtests/DataBindingTestbed/build.xml | 46 ++++ manualtests/DataBindingTestbed/pom.xml | 68 +++++ .../src/DataBindingTestbed.mxml | 40 +++ .../DataBindingTestbed/src/MyInitialView.mxml | 250 +++++++++++++++++++ .../src/bindables/BindableBaseVO.as | 31 +++ .../src/bindables/BindableSubVO1.as | 33 +++ .../src/bindables/BindableSubVO2.as | 33 +++ .../src/bindables/BindableSubVO3.as | 33 +++ .../src/bindables/InstanceTimer.as | 69 +++++ .../src/bindables/StaticTimer.as | 61 +++++ .../src/bindables/UnbindableBaseVO.as | 31 +++ .../src/bindables/UnbindableIntermediateVO.as | 31 +++ .../DataBindingTestbed/src/models/MyModel.as | 47 ++++ .../src/unbindable/UnbindableParent.as | 38 +++ 30 files changed, 862 insertions(+), 862 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/README.txt ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/README.txt b/examples/flexjs/DataBindingTestbed/README.txt deleted file mode 100644 index 2ab7094..0000000 --- a/examples/flexjs/DataBindingTestbed/README.txt +++ /dev/null @@ -1,51 +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. -// -//////////////////////////////////////////////////////////////////////////////// - -DESCRIPTION - -The DataBindingTestbed shows a Flex application that is simply a test application -for a range of Databinding variations. Its primary purpose is to demonstrate to the -development team examples of bindings that do not currently work or do not work well, -as well as what currently works, and therefore serves to demonstrate what areas -require attention for improvements or bugfixes. - -This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX) -into JavaScript and HTML and run without Flash. - -The DataBindingTestbed is primarily for development purposes, but also shows -simple examples of a range of binding types that might be useful as examples for -FlexJS developers to see how things work (or what currently does not work). -The examples in the code that are commented out are very likely things that need -attention or fixes. If you encounter any bugs in binding that are not currently -represented in this example, please contact the dev team via the mailing list - web view : https://lists.apache.org/list.html?d...@flex.apache.org - subscribe : dev-subscr...@flex.apache.org -participate : d...@flex.apache.org - - -COMPONENTS and BEADS - -- Container -- Label - - -NOTES - -The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings -should be addressed in future releases of the Falcon JX compiler. http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/build.xml ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/build.xml b/examples/flexjs/DataBindingTestbed/build.xml deleted file mode 100644 index 6713be4..0000000 --- a/examples/flexjs/DataBindingTestbed/build.xml +++ /dev/null @@ -1,46 +0,0 @@ -<?xml version="1.0"?> -<!-- - - Licensed to the Apache Software Foundation (ASF) under one or more - contributor license agreements. See the NOTICE file distributed with - this work for additional information regarding copyright ownership. - The ASF licenses this file to You under the Apache License, Version 2.0 - (the "License"); you may not use this file except in compliance with - the License. You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - ---> - - -<project name="databindingexample" default="main" basedir="."> - <property name="FLEXJS_HOME" location="../../.."/> - <property name="example" value="DataBindingTestbed" /> - - <property file="${FLEXJS_HOME}/env.properties"/> - <property environment="env"/> - <property file="${FLEXJS_HOME}/build.properties"/> - <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> - <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" /> - - <include file="${basedir}/../../build_example.xml" /> - - <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}"> - </target> - - <target name="clean"> - <delete dir="${basedir}/bin" failonerror="false" /> - <delete dir="${basedir}/bin-debug" failonerror="false" /> - <delete dir="${basedir}/bin-release" failonerror="false" /> - <delete dir="${basedir}/target" failonerror="false" /> - </target> - - - -</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/pom.xml ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/pom.xml b/examples/flexjs/DataBindingTestbed/pom.xml deleted file mode 100644 index 66f3199..0000000 --- a/examples/flexjs/DataBindingTestbed/pom.xml +++ /dev/null @@ -1,68 +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. - ---> -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <parent> - <groupId>org.apache.flex.flexjs.examples</groupId> - <artifactId>examples-flexjs</artifactId> - <version>0.7.0-SNAPSHOT</version> - </parent> - - <artifactId>DataBindingTestbed</artifactId> - <version>0.7.0-SNAPSHOT</version> - <packaging>swf</packaging> - - <name>Apache Flex - FlexJS: Examples: FlexJS: DataBindingTestbed</name> - - <build> - <plugins> - <plugin> - <groupId>org.apache.flex.flexjs.compiler</groupId> - <artifactId>flexjs-maven-plugin</artifactId> - <extensions>true</extensions> - <configuration> - <mainClass>DataBindingTestbed.mxml</mainClass> - </configuration> - </plugin> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-war-plugin</artifactId> - </plugin> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>build-helper-maven-plugin</artifactId> - </plugin> - </plugins> - </build> - - <dependencies> - <dependency> - <groupId>com.adobe.flash.framework</groupId> - <artifactId>playerglobal</artifactId> - <version>${flash.version}</version> - <type>swc</type> - <scope>provided</scope> - </dependency> - </dependencies> - -</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/DataBindingTestbed.mxml ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/DataBindingTestbed.mxml b/examples/flexjs/DataBindingTestbed/src/DataBindingTestbed.mxml deleted file mode 100644 index 6857198..0000000 --- a/examples/flexjs/DataBindingTestbed/src/DataBindingTestbed.mxml +++ /dev/null @@ -1,40 +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:js="library://ns.apache.org/flexjs/basic" - xmlns:models="models.*" - xmlns:controllers="controllers.*" - - > - <js:valuesImpl> - <js:SimpleCSSValuesImpl /> - </js:valuesImpl> - <js:initialView> - <local:MyInitialView /> - </js:initialView> - <js:model> - <models:MyModel /> - </js:model> - <js:beads> - <js:CSSFontFaceBead /> - <js:ViewSourceContextMenuOption /> - </js:beads> -</js:Application> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/MyInitialView.mxml ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/MyInitialView.mxml b/examples/flexjs/DataBindingTestbed/src/MyInitialView.mxml deleted file mode 100644 index 286c097..0000000 --- a/examples/flexjs/DataBindingTestbed/src/MyInitialView.mxml +++ /dev/null @@ -1,250 +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="initControls()"> - <fx:Script> - <![CDATA[ - import models.MyModel; - import bindables.StaticTimer; - import bindables.InstanceTimer; - import bindables.*; - import unbindable.UnbindableParent; - - import org.apache.flex.events.CustomEvent; - import org.apache.flex.utils.Timer; - import org.apache.flex.events.ValueChangeEvent; - import org.apache.flex.html.Label; - private static var timer:Timer; - - private static const STATIC_PRIVATE_CONST :* = "STATIC_PRIVATE_CONST_VAL"; - public static const STATIC_PUBLIC_CONST :String = "STATIC_PUBLIC_CONST_VAL"; - - private const INSTANCE_PRIVATE_CONST :* = "INSTANCE_PRIVATE_CONST_VAL"; - public const INSTANCE_PUBLIC_CONST :String = "INSTANCE_PUBLIC_CONST_VAL"; - - [Bindable] - private static var timerText:String="1"; - - public static function get altTimerText():String { - return timerText; - } - - private static var _inited:Boolean; - - private static function updateTimer(e:Event=null):void{ - var val:uint = uint(timerText); - val++; - timerText = val.toString(); - - } - - private static function initStaticTimer():void{ - if (!_inited) { - timer = new Timer(1000); - timer.addEventListener(Timer.TIMER,updateTimer); - timer.start(); - _inited = true; - trace('initStaticTimer'); - } - } - - public static var staticMM:MyModel; - - [Bindable] - public static var staticMMBindable:MyModel; - - - private var inst_timer:Timer; - - [Bindable] - public var instanceTimerText:String ="1"; - - private function updateInstTimer(e:Event=null):void{ - var val:uint = uint(instanceTimerText); - val++; - instanceTimerText = val.toString(); - - } - - - - private function initControls():void - { - - initStaticTimer(); - trace('initControls'); - inst_timer = new Timer(1500); - inst_timer.addEventListener(Timer.TIMER,updateInstTimer); - inst_timer.start(); - - StaticTimer.initStaticTimer(); - try{ - instTimer = new InstanceTimer(); - } catch (e:Error) { - addErrorReport("problem instantiating InstanceTimer ",e); - } - - try { - var test:Object = new BindableSubVO1() - } catch (e:Error) { - addErrorReport("problem instantiating BindableSubVO1 ",e); - } - try { - test = new BindableSubVO2() - } catch (e:Error) { - addErrorReport("problem instantiating BindableSubVO2 ",e); - } - try { - test = new BindableSubVO3() - } catch (e:Error) { - addErrorReport("problem instantiating BindableSubVO3 ",e); - } - - - } - - - private function addErrorReport(desc:String,e:Error):void{ - var label:Label = new Label(); - label.text = desc +"["+e+"]"; - errorReporter.addElement(label); - - } - - [Bindable] - public var instTimer:InstanceTimer ; - - - [Bindable] - public var unbindableParentInstance:UnbindableParent = new UnbindableParent(); - - - public var subVO1:BindableSubVO1; - public var subVO2:BindableSubVO2; - public var subVO3:BindableSubVO3; - ]]> - </fx:Script> - <fx:Style> - @namespace basic "library://ns.apache.org/flexjs/basic"; - - .output { - font-size: 20px; - } - - .topContainer { - padding: 10px; - - } - .leftSide { - vertical-align: top; - margin-right: 10px; - } - - .rightSide { - vertical-align: top; - margin-left: 10px; - padding-left: 10px; - } - - .quoteButton { - margin-top: 10px; - margin-bottom: 10px; - } - </fx:Style> - <js:states> - <js:State name="hideAll" /> - <js:State name="showAll" /> - </js:states> - <js:beads> - <js:ViewDataBinding/> - </js:beads> - <js:Container x="0" y="0" className="topContainer" > - <js:beads> - <js:VerticalLayout /> - </js:beads> - <js:Label id="testExplanation" text="These examples are mostly intended for FlexJS dev team to verify various binding functionality" /> - <js:Label id="expressionTest" text="model expression binding [WORKS](5 sec timer) {MyModel(applicationModel).modelInstanceTime}" /> - <js:Label text="[WORKS] 2 examples of binding expressions with static vars:"/> - <js:Label id="timerDemo2" width="300" text="{'test local static expression '+timerText}" /> - <js:Label id="timerDemo" width="300" text="{'test external static expression '+StaticTimer.static_timerText}" /> - <js:Container width="500"> - <js:beads> - <js:HorizontalLayout /> - </js:beads> - <js:Label id="timerDemoSB1" text="[WORKS] test local static simplebinding" /> - <js:Label id="timerDemoSB2" text="{timerText}" /> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:HorizontalLayout /> - </js:beads> - <js:Label id="timerDemoSB3" text="[WORKS] test external static simplebinding " /> - <js:Label id="timerDemoSB4" text="{StaticTimer.static_timerText}" /> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:HorizontalLayout /> - </js:beads> - <js:Label id="timerDemoSB5" text="[WORKS] test internal instance simplebinding" /> - <js:Label id="timerDemoSB6" text="{instanceTimerText}" /> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:VerticalLayout /> - </js:beads> - <js:Label text="[WORKS] 3 examples of binding into local and external static constants"/> - <js:Label id="staticConstDemo1" text="{STATIC_PRIVATE_CONST}" /> - <js:Label id="staticConstDemo2" text="{STATIC_PUBLIC_CONST}" /> - <js:Label id="staticConstDemo3" text="{StaticTimer.EXTERNAL_STATIC_CONST}" />--> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:VerticalLayout /> - </js:beads> - <js:Label text="[WORKS] 2 examples of binding into local instance constants"/> - <js:Label id="instConstDemo1" text="{INSTANCE_PRIVATE_CONST}" /> - <js:Label id="instConstDemo2" text="{INSTANCE_PUBLIC_CONST}" /> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:HorizontalLayout /> - </js:beads> - <js:Label id="timerDemoSB7" text="[WORKS] test nested instance timercount " /> - <js:Label id="timerDemoSB8" text="{instTimer.timerCount}" /> - </js:Container> - <js:Container width="500"> - <js:beads> - <js:VerticalLayout /> - </js:beads> - <js:Label text="[WORKS] 2 examples of binding into an Unbindable parent (compiler warning, one const binding):"/> - <js:Label id="unbindableParentDemo1" text="{unbindableParentInstance.unbindableField}" /> - <js:Label id="unbindableParentDemo1b" text="{unbindableParentInstance.unbindableField2}" /> - <js:Label id="unbindableParentDemo2" text="{unbindableParentInstance.UNBINDABLE_CONST_FIELD}" /> - - </js:Container> - <js:Container width="500" id="errorReporter"> - <js:beads> - <js:VerticalLayout /> - </js:beads> - - </js:Container> - </js:Container> -</js:View> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/BindableBaseVO.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/BindableBaseVO.as b/examples/flexjs/DataBindingTestbed/src/bindables/BindableBaseVO.as deleted file mode 100644 index a53f3b7..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/BindableBaseVO.as +++ /dev/null @@ -1,31 +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 bindables -{ - - public class BindableBaseVO - { - - - - [Bindable] - public var fieldOfBindableBaseVO:String = "fieldOfBindableBaseVO_value"; - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO1.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO1.as b/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO1.as deleted file mode 100644 index 740b579..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO1.as +++ /dev/null @@ -1,33 +0,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 bindables -{ - - public class BindableSubVO1 extends BindableBaseVO - { - - - - [Bindable] - public var fieldOfBindableSubVO1:String = "fieldOfBindableSubVO1_value"; - - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO2.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO2.as b/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO2.as deleted file mode 100644 index 43392c4..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO2.as +++ /dev/null @@ -1,33 +0,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 bindables -{ - - public class BindableSubVO2 extends UnbindableBaseVO - { - - - - [Bindable] - public var fieldofBindableSubVO2:String = "fieldofBindableSubVO2_value"; - - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO3.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO3.as b/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO3.as deleted file mode 100644 index 7f6d082..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/BindableSubVO3.as +++ /dev/null @@ -1,33 +0,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 bindables -{ - - public class BindableSubVO3 extends UnbindableIntermediateVO - { - - - - [Bindable] - public var fieldofBindableSubVO3:String = "fieldofBindableSubVO3_value"; - - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/InstanceTimer.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/InstanceTimer.as b/examples/flexjs/DataBindingTestbed/src/bindables/InstanceTimer.as deleted file mode 100644 index 4a67b44..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/InstanceTimer.as +++ /dev/null @@ -1,69 +0,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 bindables -{ - import org.apache.flex.events.Event; - - import org.apache.flex.utils.Timer; - - public class InstanceTimer - { - - public function InstanceTimer(){ - initTimer(1500); - } - - - private static var _inst:InstanceTimer; - - public static function getInstance():InstanceTimer { - return _inst || (_inst = new InstanceTimer()); - - } - - - - - private var timer:Timer; - - - - private function updateTimer(e:Event=null):void{ - timerCount++ - // trace('updateTimer',timerCount); - - } - - private function initTimer(val:uint):void{ - - timer = new Timer(val); - timer.addEventListener(Timer.TIMER,updateTimer); - timer.start(); - trace('init InstanceTimer'); - - } - - [Bindable] - public var timerCount:uint = 0; - - [Bindable] - public static var stimerCount:uint = 0; - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/StaticTimer.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/StaticTimer.as b/examples/flexjs/DataBindingTestbed/src/bindables/StaticTimer.as deleted file mode 100644 index 2f9ab70..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/StaticTimer.as +++ /dev/null @@ -1,61 +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 bindables -{ - import org.apache.flex.events.Event; - - import org.apache.flex.utils.Timer; - public class StaticTimer - { - - public static const EXTERNAL_STATIC_CONST:String = "EXTERNAL_STATIC_CONST_VAL"; - - public function StaticTimer() { - //trace("STATICTIMER"); - } - - private static var timer:Timer; - - private static var _inited:Boolean; - - private static function updateTimer(e:Event=null):void{ - var val:uint = uint(static_timerText); - val++; - static_timerText = val.toString(); - // trace('updateTimer',val, static_timerText); - - } - - public static function initStaticTimer():void{ - if (!_inited) { - timer = new Timer(1000); - timer.addEventListener(Timer.TIMER,updateTimer); - timer.start(); - _inited = true; - trace('initStaticTimer'); - } - } - //[Bindable] - public var instBindable:String; - - [Bindable] - public static var static_timerText:String="1"; - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableBaseVO.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableBaseVO.as b/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableBaseVO.as deleted file mode 100644 index 31fcf79..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableBaseVO.as +++ /dev/null @@ -1,31 +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 bindables -{ - - public class UnbindableBaseVO - { - - - - public var fieldOfUnbindableBaseVO:String = "fieldOfUnbindableBaseVO_value"; - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as b/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as deleted file mode 100644 index 3e03a8a..0000000 --- a/examples/flexjs/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as +++ /dev/null @@ -1,31 +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 bindables -{ - - public class UnbindableIntermediateVO extends BindableBaseVO - { - - - - public var fieldOfUnbindableIntermediateVO:String = "fieldOfUnbindableIntermediateVO_value"; - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/models/MyModel.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/models/MyModel.as b/examples/flexjs/DataBindingTestbed/src/models/MyModel.as deleted file mode 100644 index 3f66e35..0000000 --- a/examples/flexjs/DataBindingTestbed/src/models/MyModel.as +++ /dev/null @@ -1,47 +0,0 @@ -//////////////////////////////////////////////////////////////////////////////// -// -// Licensed to the Apache Software Foundation (ASF) under one or more -// contributor license agreements. See the NOTICE file distributed with -// this work for additional information regarding copyright ownership. -// The ASF licenses this file to You under the Apache License, Version 2.0 -// (the "License"); you may not use this file except in compliance with -// the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -//////////////////////////////////////////////////////////////////////////////// -package models -{ - import org.apache.flex.events.Event; - import org.apache.flex.events.EventDispatcher; - import org.apache.flex.utils.Timer; - - public class MyModel extends EventDispatcher - { - public function MyModel() - { - timer = new Timer(5000); - timer.addEventListener(Timer.TIMER, updateInstanceTime); - timer.start(); - } - - private var timer:Timer; - - [Bindable] - public var modelInstanceTime:uint = 0; - - - private function updateInstanceTime(e:Event):void{ - modelInstanceTime++; - } - - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/examples/flexjs/DataBindingTestbed/src/unbindable/UnbindableParent.as ---------------------------------------------------------------------- diff --git a/examples/flexjs/DataBindingTestbed/src/unbindable/UnbindableParent.as b/examples/flexjs/DataBindingTestbed/src/unbindable/UnbindableParent.as deleted file mode 100644 index 1fce4cf..0000000 --- a/examples/flexjs/DataBindingTestbed/src/unbindable/UnbindableParent.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 unbindable -{ - - public class UnbindableParent - { - - - - public static var unbindableStaticField:String = "unbindableStaticField_value"; - - - public var unbindableField:String = "unbindableField_value"; - - public var unbindableField2:String = "unbindableField2_value"; - - public const UNBINDABLE_CONST_FIELD:String="UNBINDABLE_CONST_FIELD_VALUE"; - - - } -} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/README.txt ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/README.txt b/manualtests/DataBindingTestbed/README.txt new file mode 100644 index 0000000..2ab7094 --- /dev/null +++ b/manualtests/DataBindingTestbed/README.txt @@ -0,0 +1,51 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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. +// +//////////////////////////////////////////////////////////////////////////////// + +DESCRIPTION + +The DataBindingTestbed shows a Flex application that is simply a test application +for a range of Databinding variations. Its primary purpose is to demonstrate to the +development team examples of bindings that do not currently work or do not work well, +as well as what currently works, and therefore serves to demonstrate what areas +require attention for improvements or bugfixes. + +This Flex application may be run as a Flash SWF or cross-compiled (using Falcon JX) +into JavaScript and HTML and run without Flash. + +The DataBindingTestbed is primarily for development purposes, but also shows +simple examples of a range of binding types that might be useful as examples for +FlexJS developers to see how things work (or what currently does not work). +The examples in the code that are commented out are very likely things that need +attention or fixes. If you encounter any bugs in binding that are not currently +represented in this example, please contact the dev team via the mailing list + web view : https://lists.apache.org/list.html?d...@flex.apache.org + subscribe : dev-subscr...@flex.apache.org +participate : d...@flex.apache.org + + +COMPONENTS and BEADS + +- Container +- Label + + +NOTES + +The cross-compilation to JavaScript often results in non-fatal warnings. Some of these warnings +should be addressed in future releases of the Falcon JX compiler. http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/build.xml ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/build.xml b/manualtests/DataBindingTestbed/build.xml new file mode 100644 index 0000000..6713be4 --- /dev/null +++ b/manualtests/DataBindingTestbed/build.xml @@ -0,0 +1,46 @@ +<?xml version="1.0"?> +<!-- + + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + +--> + + +<project name="databindingexample" default="main" basedir="."> + <property name="FLEXJS_HOME" location="../../.."/> + <property name="example" value="DataBindingTestbed" /> + + <property file="${FLEXJS_HOME}/env.properties"/> + <property environment="env"/> + <property file="${FLEXJS_HOME}/build.properties"/> + <property name="FLEX_HOME" value="${FLEXJS_HOME}"/> + <property name="opt1_arg" value="-js-output-optimization=skipAsCoercions" /> + + <include file="${basedir}/../../build_example.xml" /> + + <target name="main" depends="clean,build_example.compile,build_example.compilejs" description="Clean build of ${example}"> + </target> + + <target name="clean"> + <delete dir="${basedir}/bin" failonerror="false" /> + <delete dir="${basedir}/bin-debug" failonerror="false" /> + <delete dir="${basedir}/bin-release" failonerror="false" /> + <delete dir="${basedir}/target" failonerror="false" /> + </target> + + + +</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/pom.xml ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/pom.xml b/manualtests/DataBindingTestbed/pom.xml new file mode 100644 index 0000000..66f3199 --- /dev/null +++ b/manualtests/DataBindingTestbed/pom.xml @@ -0,0 +1,68 @@ +<?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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <parent> + <groupId>org.apache.flex.flexjs.examples</groupId> + <artifactId>examples-flexjs</artifactId> + <version>0.7.0-SNAPSHOT</version> + </parent> + + <artifactId>DataBindingTestbed</artifactId> + <version>0.7.0-SNAPSHOT</version> + <packaging>swf</packaging> + + <name>Apache Flex - FlexJS: Examples: FlexJS: DataBindingTestbed</name> + + <build> + <plugins> + <plugin> + <groupId>org.apache.flex.flexjs.compiler</groupId> + <artifactId>flexjs-maven-plugin</artifactId> + <extensions>true</extensions> + <configuration> + <mainClass>DataBindingTestbed.mxml</mainClass> + </configuration> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-war-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + </plugin> + </plugins> + </build> + + <dependencies> + <dependency> + <groupId>com.adobe.flash.framework</groupId> + <artifactId>playerglobal</artifactId> + <version>${flash.version}</version> + <type>swc</type> + <scope>provided</scope> + </dependency> + </dependencies> + +</project> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/DataBindingTestbed.mxml ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/DataBindingTestbed.mxml b/manualtests/DataBindingTestbed/src/DataBindingTestbed.mxml new file mode 100644 index 0000000..6857198 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/DataBindingTestbed.mxml @@ -0,0 +1,40 @@ +<?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:js="library://ns.apache.org/flexjs/basic" + xmlns:models="models.*" + xmlns:controllers="controllers.*" + + > + <js:valuesImpl> + <js:SimpleCSSValuesImpl /> + </js:valuesImpl> + <js:initialView> + <local:MyInitialView /> + </js:initialView> + <js:model> + <models:MyModel /> + </js:model> + <js:beads> + <js:CSSFontFaceBead /> + <js:ViewSourceContextMenuOption /> + </js:beads> +</js:Application> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/MyInitialView.mxml ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/MyInitialView.mxml b/manualtests/DataBindingTestbed/src/MyInitialView.mxml new file mode 100644 index 0000000..286c097 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/MyInitialView.mxml @@ -0,0 +1,250 @@ +<?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="initControls()"> + <fx:Script> + <![CDATA[ + import models.MyModel; + import bindables.StaticTimer; + import bindables.InstanceTimer; + import bindables.*; + import unbindable.UnbindableParent; + + import org.apache.flex.events.CustomEvent; + import org.apache.flex.utils.Timer; + import org.apache.flex.events.ValueChangeEvent; + import org.apache.flex.html.Label; + private static var timer:Timer; + + private static const STATIC_PRIVATE_CONST :* = "STATIC_PRIVATE_CONST_VAL"; + public static const STATIC_PUBLIC_CONST :String = "STATIC_PUBLIC_CONST_VAL"; + + private const INSTANCE_PRIVATE_CONST :* = "INSTANCE_PRIVATE_CONST_VAL"; + public const INSTANCE_PUBLIC_CONST :String = "INSTANCE_PUBLIC_CONST_VAL"; + + [Bindable] + private static var timerText:String="1"; + + public static function get altTimerText():String { + return timerText; + } + + private static var _inited:Boolean; + + private static function updateTimer(e:Event=null):void{ + var val:uint = uint(timerText); + val++; + timerText = val.toString(); + + } + + private static function initStaticTimer():void{ + if (!_inited) { + timer = new Timer(1000); + timer.addEventListener(Timer.TIMER,updateTimer); + timer.start(); + _inited = true; + trace('initStaticTimer'); + } + } + + public static var staticMM:MyModel; + + [Bindable] + public static var staticMMBindable:MyModel; + + + private var inst_timer:Timer; + + [Bindable] + public var instanceTimerText:String ="1"; + + private function updateInstTimer(e:Event=null):void{ + var val:uint = uint(instanceTimerText); + val++; + instanceTimerText = val.toString(); + + } + + + + private function initControls():void + { + + initStaticTimer(); + trace('initControls'); + inst_timer = new Timer(1500); + inst_timer.addEventListener(Timer.TIMER,updateInstTimer); + inst_timer.start(); + + StaticTimer.initStaticTimer(); + try{ + instTimer = new InstanceTimer(); + } catch (e:Error) { + addErrorReport("problem instantiating InstanceTimer ",e); + } + + try { + var test:Object = new BindableSubVO1() + } catch (e:Error) { + addErrorReport("problem instantiating BindableSubVO1 ",e); + } + try { + test = new BindableSubVO2() + } catch (e:Error) { + addErrorReport("problem instantiating BindableSubVO2 ",e); + } + try { + test = new BindableSubVO3() + } catch (e:Error) { + addErrorReport("problem instantiating BindableSubVO3 ",e); + } + + + } + + + private function addErrorReport(desc:String,e:Error):void{ + var label:Label = new Label(); + label.text = desc +"["+e+"]"; + errorReporter.addElement(label); + + } + + [Bindable] + public var instTimer:InstanceTimer ; + + + [Bindable] + public var unbindableParentInstance:UnbindableParent = new UnbindableParent(); + + + public var subVO1:BindableSubVO1; + public var subVO2:BindableSubVO2; + public var subVO3:BindableSubVO3; + ]]> + </fx:Script> + <fx:Style> + @namespace basic "library://ns.apache.org/flexjs/basic"; + + .output { + font-size: 20px; + } + + .topContainer { + padding: 10px; + + } + .leftSide { + vertical-align: top; + margin-right: 10px; + } + + .rightSide { + vertical-align: top; + margin-left: 10px; + padding-left: 10px; + } + + .quoteButton { + margin-top: 10px; + margin-bottom: 10px; + } + </fx:Style> + <js:states> + <js:State name="hideAll" /> + <js:State name="showAll" /> + </js:states> + <js:beads> + <js:ViewDataBinding/> + </js:beads> + <js:Container x="0" y="0" className="topContainer" > + <js:beads> + <js:VerticalLayout /> + </js:beads> + <js:Label id="testExplanation" text="These examples are mostly intended for FlexJS dev team to verify various binding functionality" /> + <js:Label id="expressionTest" text="model expression binding [WORKS](5 sec timer) {MyModel(applicationModel).modelInstanceTime}" /> + <js:Label text="[WORKS] 2 examples of binding expressions with static vars:"/> + <js:Label id="timerDemo2" width="300" text="{'test local static expression '+timerText}" /> + <js:Label id="timerDemo" width="300" text="{'test external static expression '+StaticTimer.static_timerText}" /> + <js:Container width="500"> + <js:beads> + <js:HorizontalLayout /> + </js:beads> + <js:Label id="timerDemoSB1" text="[WORKS] test local static simplebinding" /> + <js:Label id="timerDemoSB2" text="{timerText}" /> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:HorizontalLayout /> + </js:beads> + <js:Label id="timerDemoSB3" text="[WORKS] test external static simplebinding " /> + <js:Label id="timerDemoSB4" text="{StaticTimer.static_timerText}" /> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:HorizontalLayout /> + </js:beads> + <js:Label id="timerDemoSB5" text="[WORKS] test internal instance simplebinding" /> + <js:Label id="timerDemoSB6" text="{instanceTimerText}" /> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:VerticalLayout /> + </js:beads> + <js:Label text="[WORKS] 3 examples of binding into local and external static constants"/> + <js:Label id="staticConstDemo1" text="{STATIC_PRIVATE_CONST}" /> + <js:Label id="staticConstDemo2" text="{STATIC_PUBLIC_CONST}" /> + <js:Label id="staticConstDemo3" text="{StaticTimer.EXTERNAL_STATIC_CONST}" />--> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:VerticalLayout /> + </js:beads> + <js:Label text="[WORKS] 2 examples of binding into local instance constants"/> + <js:Label id="instConstDemo1" text="{INSTANCE_PRIVATE_CONST}" /> + <js:Label id="instConstDemo2" text="{INSTANCE_PUBLIC_CONST}" /> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:HorizontalLayout /> + </js:beads> + <js:Label id="timerDemoSB7" text="[WORKS] test nested instance timercount " /> + <js:Label id="timerDemoSB8" text="{instTimer.timerCount}" /> + </js:Container> + <js:Container width="500"> + <js:beads> + <js:VerticalLayout /> + </js:beads> + <js:Label text="[WORKS] 2 examples of binding into an Unbindable parent (compiler warning, one const binding):"/> + <js:Label id="unbindableParentDemo1" text="{unbindableParentInstance.unbindableField}" /> + <js:Label id="unbindableParentDemo1b" text="{unbindableParentInstance.unbindableField2}" /> + <js:Label id="unbindableParentDemo2" text="{unbindableParentInstance.UNBINDABLE_CONST_FIELD}" /> + + </js:Container> + <js:Container width="500" id="errorReporter"> + <js:beads> + <js:VerticalLayout /> + </js:beads> + + </js:Container> + </js:Container> +</js:View> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/BindableBaseVO.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/BindableBaseVO.as b/manualtests/DataBindingTestbed/src/bindables/BindableBaseVO.as new file mode 100644 index 0000000..a53f3b7 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/BindableBaseVO.as @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 bindables +{ + + public class BindableBaseVO + { + + + + [Bindable] + public var fieldOfBindableBaseVO:String = "fieldOfBindableBaseVO_value"; + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/BindableSubVO1.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/BindableSubVO1.as b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO1.as new file mode 100644 index 0000000..740b579 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO1.as @@ -0,0 +1,33 @@ +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 bindables +{ + + public class BindableSubVO1 extends BindableBaseVO + { + + + + [Bindable] + public var fieldOfBindableSubVO1:String = "fieldOfBindableSubVO1_value"; + + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/BindableSubVO2.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/BindableSubVO2.as b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO2.as new file mode 100644 index 0000000..43392c4 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO2.as @@ -0,0 +1,33 @@ +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 bindables +{ + + public class BindableSubVO2 extends UnbindableBaseVO + { + + + + [Bindable] + public var fieldofBindableSubVO2:String = "fieldofBindableSubVO2_value"; + + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/BindableSubVO3.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/BindableSubVO3.as b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO3.as new file mode 100644 index 0000000..7f6d082 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/BindableSubVO3.as @@ -0,0 +1,33 @@ +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 bindables +{ + + public class BindableSubVO3 extends UnbindableIntermediateVO + { + + + + [Bindable] + public var fieldofBindableSubVO3:String = "fieldofBindableSubVO3_value"; + + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/InstanceTimer.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/InstanceTimer.as b/manualtests/DataBindingTestbed/src/bindables/InstanceTimer.as new file mode 100644 index 0000000..4a67b44 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/InstanceTimer.as @@ -0,0 +1,69 @@ +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 bindables +{ + import org.apache.flex.events.Event; + + import org.apache.flex.utils.Timer; + + public class InstanceTimer + { + + public function InstanceTimer(){ + initTimer(1500); + } + + + private static var _inst:InstanceTimer; + + public static function getInstance():InstanceTimer { + return _inst || (_inst = new InstanceTimer()); + + } + + + + + private var timer:Timer; + + + + private function updateTimer(e:Event=null):void{ + timerCount++ + // trace('updateTimer',timerCount); + + } + + private function initTimer(val:uint):void{ + + timer = new Timer(val); + timer.addEventListener(Timer.TIMER,updateTimer); + timer.start(); + trace('init InstanceTimer'); + + } + + [Bindable] + public var timerCount:uint = 0; + + [Bindable] + public static var stimerCount:uint = 0; + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/StaticTimer.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/StaticTimer.as b/manualtests/DataBindingTestbed/src/bindables/StaticTimer.as new file mode 100644 index 0000000..2f9ab70 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/StaticTimer.as @@ -0,0 +1,61 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 bindables +{ + import org.apache.flex.events.Event; + + import org.apache.flex.utils.Timer; + public class StaticTimer + { + + public static const EXTERNAL_STATIC_CONST:String = "EXTERNAL_STATIC_CONST_VAL"; + + public function StaticTimer() { + //trace("STATICTIMER"); + } + + private static var timer:Timer; + + private static var _inited:Boolean; + + private static function updateTimer(e:Event=null):void{ + var val:uint = uint(static_timerText); + val++; + static_timerText = val.toString(); + // trace('updateTimer',val, static_timerText); + + } + + public static function initStaticTimer():void{ + if (!_inited) { + timer = new Timer(1000); + timer.addEventListener(Timer.TIMER,updateTimer); + timer.start(); + _inited = true; + trace('initStaticTimer'); + } + } + //[Bindable] + public var instBindable:String; + + [Bindable] + public static var static_timerText:String="1"; + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/UnbindableBaseVO.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/UnbindableBaseVO.as b/manualtests/DataBindingTestbed/src/bindables/UnbindableBaseVO.as new file mode 100644 index 0000000..31fcf79 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/UnbindableBaseVO.as @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 bindables +{ + + public class UnbindableBaseVO + { + + + + public var fieldOfUnbindableBaseVO:String = "fieldOfUnbindableBaseVO_value"; + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as b/manualtests/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as new file mode 100644 index 0000000..3e03a8a --- /dev/null +++ b/manualtests/DataBindingTestbed/src/bindables/UnbindableIntermediateVO.as @@ -0,0 +1,31 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// 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 bindables +{ + + public class UnbindableIntermediateVO extends BindableBaseVO + { + + + + public var fieldOfUnbindableIntermediateVO:String = "fieldOfUnbindableIntermediateVO_value"; + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/models/MyModel.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/models/MyModel.as b/manualtests/DataBindingTestbed/src/models/MyModel.as new file mode 100644 index 0000000..3f66e35 --- /dev/null +++ b/manualtests/DataBindingTestbed/src/models/MyModel.as @@ -0,0 +1,47 @@ +//////////////////////////////////////////////////////////////////////////////// +// +// Licensed to the Apache Software Foundation (ASF) under one or more +// contributor license agreements. See the NOTICE file distributed with +// this work for additional information regarding copyright ownership. +// The ASF licenses this file to You under the Apache License, Version 2.0 +// (the "License"); you may not use this file except in compliance with +// the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +//////////////////////////////////////////////////////////////////////////////// +package models +{ + import org.apache.flex.events.Event; + import org.apache.flex.events.EventDispatcher; + import org.apache.flex.utils.Timer; + + public class MyModel extends EventDispatcher + { + public function MyModel() + { + timer = new Timer(5000); + timer.addEventListener(Timer.TIMER, updateInstanceTime); + timer.start(); + } + + private var timer:Timer; + + [Bindable] + public var modelInstanceTime:uint = 0; + + + private function updateInstanceTime(e:Event):void{ + modelInstanceTime++; + } + + + + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/095bb4f0/manualtests/DataBindingTestbed/src/unbindable/UnbindableParent.as ---------------------------------------------------------------------- diff --git a/manualtests/DataBindingTestbed/src/unbindable/UnbindableParent.as b/manualtests/DataBindingTestbed/src/unbindable/UnbindableParent.as new file mode 100644 index 0000000..1fce4cf --- /dev/null +++ b/manualtests/DataBindingTestbed/src/unbindable/UnbindableParent.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 unbindable +{ + + public class UnbindableParent + { + + + + public static var unbindableStaticField:String = "unbindableStaticField_value"; + + + public var unbindableField:String = "unbindableField_value"; + + public var unbindableField2:String = "unbindableField2_value"; + + public const UNBINDABLE_CONST_FIELD:String="UNBINDABLE_CONST_FIELD_VALUE"; + + + } +} \ No newline at end of file