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 <p...@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 <p...@apache.org>
> Authored: Sat Apr 15 08:32:58 2017 -0400
> Committer: Peter Ent <p...@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"
>
>

Reply via email to