You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ha...@apache.org on 2021/01/04 12:51:31 UTC

[royale-asjs] branch develop updated: Handle dataProvider with existing data before strand is set, and add legacy behavior that TabBar.dataProvider doesn't have to be MX ViewStack (though, selected event is currently different).

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

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


The following commit(s) were added to refs/heads/develop by this push:
     new d1593dd  Handle dataProvider with existing data before strand is set, and add legacy behavior that TabBar.dataProvider doesn't have to be MX ViewStack (though, selected event is currently different).
     new 3bf307f  Merge pull request #1032 from estanglerbm/tabbarcontroller-legacy
d1593dd is described below

commit d1593dd0674c2619328e7e8f7bd066116e9a31f5
Author: Edward Stangler <es...@bradmark.com>
AuthorDate: Mon Jan 4 05:39:35 2021 -0600

    Handle dataProvider with existing data before strand is set, and add legacy behavior that TabBar.dataProvider doesn't have to be MX ViewStack (though, selected event is currently different).
---
 .../spark/components/beads/controllers/TabBarController.as    | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/TabBarController.as b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/TabBarController.as
index 816632a..f605ac2 100644
--- a/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/TabBarController.as
+++ b/frameworks/projects/SparkRoyale/src/main/royale/spark/components/beads/controllers/TabBarController.as
@@ -58,6 +58,7 @@ import org.apache.royale.core.IViewport;
             _strand = value;
             var eventDispatcher:IEventDispatcher = (_strand.getBeadByType(IViewport) as IViewport).contentView as IEventDispatcher;
             eventDispatcher.addEventListener("itemsCreated", handleDataProviderChanged);
+            handleDataProviderChanged(null);
         }
         
         private function clickHandler(event:org.apache.royale.events.MouseEvent):void
@@ -69,6 +70,16 @@ import org.apache.royale.core.IViewport;
             {
                 (list as ISelectableList).selectedIndex = index;
             }
+            else
+            {
+                // legacy behavior
+                var tabbar:ListBase = _strand as ListBase;
+                if (tabbar)
+                {
+                    tabbar.selectedIndex = index;
+                    tabbar.dispatchEvent(new Event("selectedIndexChanged"));
+                }
+            }
         }