royale-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From carlosrov...@apache.org
Subject [royale-asjs] branch develop updated: fix item renderer issue using change event handler. More elegant but I think MouseEvents has some issues working wrong at least in List component, currentTarget seems not to be set and itemClicked seems not to be available from mxml
Date Tue, 03 Jul 2018 14:50:33 GMT
This is an automated email from the ASF dual-hosted git repository.

carlosrovira 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 ce0f796  fix item renderer issue using change event handler. More elegant but I think
MouseEvents has some issues working wrong at least in List component, currentTarget seems
not to be set and itemClicked seems not to be available from  mxml
ce0f796 is described below

commit ce0f796cc91cce135d786059b6014fc3e4049a82
Author: Carlos Rovira <carlosrovira@apache.org>
AuthorDate: Tue Jul 3 16:50:28 2018 +0200

    fix item renderer issue using change event handler. More elegant but I think MouseEvents
has some issues working wrong at least in List component, currentTarget seems not to be set
and itemClicked seems not to be available from  mxml
---
 .../src/main/resources/jewel-example-styles.css         |  4 ++--
 .../JewelExample/src/main/royale/MainContent.mxml       | 17 +++++++----------
 .../org/apache/royale/jewel/ApplicationMainContent.as   | 17 ++++++++++++-----
 .../controllers/ListSingleSelectionMouseController.as   |  2 +-
 4 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/examples/royale/JewelExample/src/main/resources/jewel-example-styles.css b/examples/royale/JewelExample/src/main/resources/jewel-example-styles.css
index 4c13e1c..d098485 100644
--- a/examples/royale/JewelExample/src/main/resources/jewel-example-styles.css
+++ b/examples/royale/JewelExample/src/main/resources/jewel-example-styles.css
@@ -25,12 +25,12 @@
     margin: 20px;
 }
 
-.navIconLinItemRenderer
+.navIconLinkItemRenderer
 {
     IItemRenderer: ClassReference("itemRenderers.NavigationIconLinkItemRenderer");
 }
 
-.navIconLinItemRenderer .icon
+.navIconLinkItemRenderer .icon
 {
     margin-right: 24px;
 }
diff --git a/examples/royale/JewelExample/src/main/royale/MainContent.mxml b/examples/royale/JewelExample/src/main/royale/MainContent.mxml
index c069751..354d6c9 100644
--- a/examples/royale/JewelExample/src/main/royale/MainContent.mxml
+++ b/examples/royale/JewelExample/src/main/royale/MainContent.mxml
@@ -26,15 +26,12 @@ limitations under the License.
     
     <fx:Script>
         <![CDATA[
-            import org.apache.royale.jewel.supportClasses.INavigationRenderer;
-
-            private function clickHandler(event:MouseEvent):void
+            import vos.NavigationLinkVO;
+            
+            private function changeHandler(event:Event):void
             {
-                var renderer:INavigationRenderer = event.target as INavigationRenderer;
-                //if (renderer == null) return;
-
-			    var link:String = renderer.href;
-                main.showContent(link);
+                var item:NavigationLinkVO = (event.target as Navigation).selectedItem as
NavigationLinkVO;
+                main.showContent(item.href);
                 drawer.close();
             }
         ]]>
@@ -53,7 +50,7 @@ limitations under the License.
             <j:Image src="assets/apache-royale-jewel-logo-white.svg"/>
         </j:DrawerHeader>
         <j:DrawerContent>
-            <j:Navigation click="clickHandler(event)" className="navIconLinItemRenderer">
+            <j:Navigation change="changeHandler(event)" className="navIconLinkItemRenderer">
                 <j:beads>
                     <js:ConstantBinding
                         sourceID="mainNavigationModel"
@@ -62,7 +59,7 @@ limitations under the License.
                 </j:beads>
             </j:Navigation>
             <j:Divider/>
-            <j:Navigation click="clickHandler(event)" className="navIconLinItemRenderer">
+            <j:Navigation change="changeHandler(event)" className="navIconLinkItemRenderer">
                 <j:beads>
                     <js:ConstantBinding
                         sourceID="mainNavigationModel"
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
index ade2756..39bc8e6 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/ApplicationMainContent.as
@@ -68,14 +68,21 @@ package org.apache.royale.jewel
 			for (var i:int = 0; i < numElements; i++)
 			{
 				var content:IActivable = getElementAt(i) as IActivable;
-				
-				if(content.id == id)
+
+				try
 				{
-					content.isActive = true;
+					if(content.id == id)
+					{
+						content.isActive = true;
+					}
+					else
+					{
+						content.isActive = false;
+					}
 				}
-				else
+				catch (error:Error)
 				{
-					content.isActive = false;
+					throw new Error ("One or more content in ApplicationMainContent is not implementing
IActivable interface.");	
 				}
 			}
         }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListSingleSelectionMouseController.as
b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListSingleSelectionMouseController.as
index f723b13..d2b5a9f 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListSingleSelectionMouseController.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/controllers/ListSingleSelectionMouseController.as
@@ -35,7 +35,7 @@ package org.apache.royale.jewel.beads.controllers
 
     /**
      *  The ListSingleSelectionMouseController class is a controller for
-     *  org.apache.royale.html.List.  Controllers
+     *  org.apache.royale.jewel.List.  Controllers
      *  watch for events from the interactive portions of a View and
      *  update the data model or dispatch a semantic event.
      *  This controller watches for events from the item renderers


Mime
View raw message