You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flex.apache.org by Piotr Zarzycki <pi...@gmail.com> on 2017/04/15 16:39:31 UTC
Re: [2/2] git commit: [flex-asjs] [refs/heads/develop] - MobileTrader
nearly back to full function.
Hi Peter,
I think in case of DataModelChangeNotifier you could extend [1].
[1]
https://github.com/apache/flex-asjs/blob/develop/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataProviderNotifierBase.as
Piotr
On Sat, Apr 15, 2017, 14:33 <pe...@apache.org> wrote:
> MobileTrader nearly back to full function.
>
>
> Project: http://git-wip-us.apache.org/repos/asf/flex-asjs/repo
> Commit: http://git-wip-us.apache.org/repos/asf/flex-asjs/commit/159abcc9
> Tree: http://git-wip-us.apache.org/repos/asf/flex-asjs/tree/159abcc9
> Diff: http://git-wip-us.apache.org/repos/asf/flex-asjs/diff/159abcc9
>
> Branch: refs/heads/develop
> Commit: 159abcc9cc728108863be1bc07d3175711a4fd00
> Parents: a005b67
> Author: Peter Ent <pe...@apache.org>
> Authored: Sat Apr 15 08:32:58 2017 -0400
> Committer: Peter Ent <pe...@apache.org>
> Committed: Sat Apr 15 08:32:58 2017 -0400
>
> ----------------------------------------------------------------------
> examples/flexjs/MobileTrader/build.xml | 17 ++++-
> .../src/main/flex/MobileTrader.mxml | 3 +
> .../src/main/flex/MyInitialView.mxml | 8 ++-
> .../flex/controller/DataModelChangeNotifier.as | 71 ++++++++++++++++++++
> .../src/main/flex/views/AlertsView.mxml | 2 +-
> .../src/main/flex/views/WatchListView.mxml | 2 +-
> 6 files changed, 99 insertions(+), 4 deletions(-)
> ----------------------------------------------------------------------
>
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/build.xml
> ----------------------------------------------------------------------
> diff --git a/examples/flexjs/MobileTrader/build.xml
> b/examples/flexjs/MobileTrader/build.xml
> index cb69a25..81fd570 100644
> --- a/examples/flexjs/MobileTrader/build.xml
> +++ b/examples/flexjs/MobileTrader/build.xml
> @@ -48,7 +48,22 @@
> </condition>
> <property name="extlib_arg"
> value="-external-library-path=${FALCONJX_HOME}/../externs/js/out/bin/js.swc"/>
>
> - <target name="main"
> depends="clean,build_example.compile,build_example.compilejs"
> description="Clean build of ${example}">
> + <target name="main"
> depends="clean,build_example.compile,build_example.compilejs,copyassets"
> description="Clean build of ${example}">
> + </target>
> +
> + <target name="copyassets">
> + <mkdir dir="${basedir}/bin/js-debug/assets" />
> + <copy todir="${basedir}/bin/js-debug/assets" >
> + <fileset dir="${basedir}/src/main/resources/assets">
> + <include name="**" />
> + </fileset>
> + </copy>
> + <mkdir dir="${basedir}/bin/js-release/assets" />
> + <copy todir="${basedir}/bin/js-release/assets" >
> + <fileset dir="${basedir}/src/main/resources/assets">
> + <include name="**" />
> + </fileset>
> + </copy>
> </target>
>
> <target name="clean">
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/src/main/flex/MobileTrader.mxml
> ----------------------------------------------------------------------
> diff --git a/examples/flexjs/MobileTrader/src/main/flex/MobileTrader.mxml
> b/examples/flexjs/MobileTrader/src/main/flex/MobileTrader.mxml
> index c76531c..47acaeb 100755
> --- a/examples/flexjs/MobileTrader/src/main/flex/MobileTrader.mxml
> +++ b/examples/flexjs/MobileTrader/src/main/flex/MobileTrader.mxml
> @@ -24,6 +24,9 @@
> xmlns:js="library://
> ns.apache.org/flexjs/basic"
> xmlns:controller="controller.*"
> >
> + <js:beads>
> + <js:DeviceSizeBead />
> + </js:beads>
>
> <js:valuesImpl>
> <js:SimpleCSSValuesImpl />
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/src/main/flex/MyInitialView.mxml
> ----------------------------------------------------------------------
> diff --git a/examples/flexjs/MobileTrader/src/main/flex/MyInitialView.mxml
> b/examples/flexjs/MobileTrader/src/main/flex/MyInitialView.mxml
> index 70aea67..2357600 100755
> --- a/examples/flexjs/MobileTrader/src/main/flex/MyInitialView.mxml
> +++ b/examples/flexjs/MobileTrader/src/main/flex/MyInitialView.mxml
> @@ -38,6 +38,11 @@ limitations under the License.
> background-color: #FFFFFF;
> }
>
> + .StringItemRenderer {
> + padding-left: 4px;
> + padding-top: 2px;
> + }
> +
> .NavigationBar {
> background-image: url("assets/background.png");
> height: 55px;
> @@ -225,6 +230,7 @@ limitations under the License.
>
> private function onInitComplete():void
> {
> +
> }
>
> private function onAssetsNext():void
> @@ -260,7 +266,7 @@ limitations under the License.
> <js:ViewDataBinding />
> </js:beads>
>
> - <js:TabbedViewManager id="navController" width="700" height="500"
> x="0" y="0" viewChanged="tabbedViewChanged(event)">
> + <js:TabbedViewManager id="navController" width="100%"
> height="100%" x="0" y="0" viewChanged="tabbedViewChanged(event)">
> <js:navigationBarItems>
> <js:TextButton id="backButton" width="45"
> height="45" className="BackButton" visible="false" click="goBack(event)">
> <js:beads>
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/src/main/flex/controller/DataModelChangeNotifier.as
> ----------------------------------------------------------------------
> diff --git
> a/examples/flexjs/MobileTrader/src/main/flex/controller/DataModelChangeNotifier.as
> b/examples/flexjs/MobileTrader/src/main/flex/controller/DataModelChangeNotifier.as
> new file mode 100644
> index 0000000..a6e2e19
> --- /dev/null
> +++
> b/examples/flexjs/MobileTrader/src/main/flex/controller/DataModelChangeNotifier.as
> @@ -0,0 +1,71 @@
>
> +////////////////////////////////////////////////////////////////////////////////
> +//
> +// 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 controller
> +{
> + import org.apache.flex.core.IBead;
> + import org.apache.flex.core.IBeadModel;
> + import org.apache.flex.core.IStrand;
> + import org.apache.flex.events.Event;
> + import org.apache.flex.events.IEventDispatcher;
> + import org.apache.flex.events.EventDispatcher;
> + import org.apache.flex.events.CollectionEvent;
> +
> + public class DataModelChangeNotifier extends EventDispatcher
> implements IBead
> + {
> + public function DataModelChangeNotifier()
> + {
> + super();
> + }
> +
> + private var _strand:IStrand;
> + private var _propertyName:String = "dataProvider";
> +
> + public function get propertyName():String
> + {
> + return _propertyName;
> + }
> + public function set propertyName(value:String):void
> + {
> + _propertyName = value;
> + }
> +
> + public function set strand(value:IStrand):void
> + {
> + _strand = value;
> +
> +
> IEventDispatcher(_strand).addEventListener("initBindings",
> handleInitBindings);
> + }
> +
> + private function handleInitBindings(event:Event):void
> + {
> + var model:Object =
> _strand.getBeadByType(IBeadModel) as Object;
> + var property:IEventDispatcher =
> model[propertyName] as IEventDispatcher;
> +
> +
> property.addEventListener(CollectionEvent.ITEM_ADDED, handleModelChanges);
> +
> property.addEventListener(CollectionEvent.ITEM_REMOVED,
> handleModelChanges);
> +
> property.addEventListener(CollectionEvent.ITEM_UPDATED,
> handleModelChanges);
> + }
> +
> + private function
> handleModelChanges(event:CollectionEvent):void
> + {
> + var model:IEventDispatcher =
> _strand.getBeadByType(IBeadModel) as IEventDispatcher;
> + model.dispatchEvent(new
> Event("dataProviderChanged"));
> + }
> + }
> +}
> \ No newline at end of file
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/src/main/flex/views/AlertsView.mxml
> ----------------------------------------------------------------------
> diff --git
> a/examples/flexjs/MobileTrader/src/main/flex/views/AlertsView.mxml
> b/examples/flexjs/MobileTrader/src/main/flex/views/AlertsView.mxml
> index 71ddff6..fbb96e0 100755
> --- a/examples/flexjs/MobileTrader/src/main/flex/views/AlertsView.mxml
> +++ b/examples/flexjs/MobileTrader/src/main/flex/views/AlertsView.mxml
> @@ -73,7 +73,7 @@ limitations under the License.
> <js:DataGrid id="dataGrid" x="0" y="40" width="100%"
> className="AlertsDataGrid">
> <js:beads>
> <js:DataGridPercentageView />
> - <!--<controller:DataModelChangeNotifier />-->
> + <controller:DataModelChangeNotifier />
> <js:SimpleBinding
> eventName="alertsUpdate"
> sourceID="dataModel"
>
>
> http://git-wip-us.apache.org/repos/asf/flex-asjs/blob/159abcc9/examples/flexjs/MobileTrader/src/main/flex/views/WatchListView.mxml
> ----------------------------------------------------------------------
> diff --git
> a/examples/flexjs/MobileTrader/src/main/flex/views/WatchListView.mxml
> b/examples/flexjs/MobileTrader/src/main/flex/views/WatchListView.mxml
> index 3b84f34..f08da21 100755
> --- a/examples/flexjs/MobileTrader/src/main/flex/views/WatchListView.mxml
> +++ b/examples/flexjs/MobileTrader/src/main/flex/views/WatchListView.mxml
> @@ -105,7 +105,7 @@ limitations under the License.
>
> <js:DataGrid id="dataGrid" width="100%" change="selectRow()"
> className="WatchListDataGrid">
> <js:beads>
> - <!--<controller:DataModelChangeNotifier />-->
> + <controller:DataModelChangeNotifier />
> <js:DataGridPercentageView />
> <js:SimpleBinding
> eventName="update"
>
>