You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@royale.apache.org by ca...@apache.org on 2020/03/11 20:55:04 UTC

[royale-asjs] branch develop updated: jewel-navigation: refactor to use Basic DataItemRendererFactoryForCollectionView and create its own NavigationItemRendererInitializer

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 26e4256  jewel-navigation: refactor to use Basic DataItemRendererFactoryForCollectionView and create its own NavigationItemRendererInitializer
26e4256 is described below

commit 26e42565d544a89fdf06339e70e658c06f6f1ffd
Author: Carlos Rovira <ca...@apache.org>
AuthorDate: Wed Mar 11 21:54:54 2020 +0100

    jewel-navigation: refactor to use Basic DataItemRendererFactoryForCollectionView and create its own NavigationItemRendererInitializer
---
 .../projects/Jewel/src/main/resources/defaults.css |  4 +-
 .../projects/Jewel/src/main/royale/JewelClasses.as |  1 +
 .../royale/org/apache/royale/jewel/Navigation.as   |  3 ++
 .../NavigationItemRendererInitializer.as}          | 58 +++++++---------------
 .../src/main/sass/components/_navigation.sass      |  4 +-
 5 files changed, 25 insertions(+), 45 deletions(-)

diff --git a/frameworks/projects/Jewel/src/main/resources/defaults.css b/frameworks/projects/Jewel/src/main/resources/defaults.css
index 1a40e16..afc8611 100644
--- a/frameworks/projects/Jewel/src/main/resources/defaults.css
+++ b/frameworks/projects/Jewel/src/main/resources/defaults.css
@@ -3236,12 +3236,12 @@ j|Navigation {
   IBeadLayout: ClassReference("org.apache.royale.jewel.beads.layouts.VerticalLayout");
   IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory");
   IItemRenderer: ClassReference("org.apache.royale.jewel.itemRenderers.NavigationLinkItemRenderer");
-  IItemRendererInitializer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.JewelListItemRendererInitializer");
+  IItemRendererInitializer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.NavigationItemRendererInitializer");
   ISelectableItemRenderer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.ClassSelectorListHoverOnlySelectableItemRendererBead");
   IViewport: ClassReference("org.apache.royale.jewel.supportClasses.scrollbar.ScrollingViewport");
   IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel");
   IBeadModel: ClassReference("org.apache.royale.jewel.beads.models.ArrayListSelectionModel");
-  IDataProviderItemRendererMapper: ClassReference("org.apache.royale.jewel.beads.itemRenderers.DataItemRendererFactoryForCollectionView");
+  IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView");
 }
 
 .jewel.navigationlink {
diff --git a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
index f834c2c..aff5062 100644
--- a/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
+++ b/frameworks/projects/Jewel/src/main/royale/JewelClasses.as
@@ -137,6 +137,7 @@ package
         import org.apache.royale.jewel.beads.itemRenderers.JewelListItemRendererInitializer; JewelListItemRendererInitializer;
         import org.apache.royale.jewel.beads.itemRenderers.ButtonBarItemRendererInitializer; ButtonBarItemRendererInitializer;
         import org.apache.royale.jewel.beads.itemRenderers.TabBarItemRendererInitializer; TabBarItemRendererInitializer;
+        import org.apache.royale.jewel.beads.itemRenderers.NavigationItemRendererInitializer; NavigationItemRendererInitializer;
 
     }
 }
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
index 8f37782..f89172c 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
@@ -52,6 +52,9 @@ package org.apache.royale.jewel
 
             typeNames = "jewel navigation";
 
+			// rowHeight is not set by default, so set it to NaN
+			rowHeight = NaN;
+
 			addEventListener(MouseEvent.CLICK, internalMouseHandler);
 		}
 
diff --git a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/NavigationItemRendererInitializer.as
similarity index 50%
copy from frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
copy to frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/NavigationItemRendererInitializer.as
index 8f37782..3e19c9d 100644
--- a/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/Navigation.as
+++ b/frameworks/projects/Jewel/src/main/royale/org/apache/royale/jewel/beads/itemRenderers/NavigationItemRendererInitializer.as
@@ -16,27 +16,21 @@
 //  limitations under the License.
 //
 ////////////////////////////////////////////////////////////////////////////////
-package org.apache.royale.jewel
-{
-    COMPILE::JS
-    {
-	import org.apache.royale.core.WrappedHTMLElement;
-	import org.apache.royale.html.util.addElementToWrapper;
-    }
-	import org.apache.royale.events.MouseEvent;
-
+package org.apache.royale.jewel.beads.itemRenderers
+{	
 	/**
-	 *  The Navigation class is a List used for navigate other organized content
-	 *  in a Royale Application. In HTML is represented by a <nav> tag in HTML and
-	 *  It parents a list of links.
-	 *  By default it uses NavigationLinkItemRenderer class to define each item.
-	 *
+	 *  The NavigationItemRendererInitializer class initializes item renderers
+     *  in Navigation component.
+	 *  
+	 *  By Default this works the same as ListItemRendererInitializer, but create a placeholder
+	 *  for it.
+	 *  
 	 *  @langversion 3.0
 	 *  @playerversion Flash 10.2
 	 *  @playerversion AIR 2.6
-	 *  @productversion Royale 0.9.4
+	 *  @productversion Royale 0.9.7
 	 */
-	public class Navigation extends List
+	public class NavigationItemRendererInitializer extends ListItemRendererInitializer
 	{
 		/**
 		 *  constructor.
@@ -44,33 +38,15 @@ package org.apache.royale.jewel
 		 *  @langversion 3.0
 		 *  @playerversion Flash 10.2
 		 *  @playerversion AIR 2.6
-		 *  @productversion Royale 0.9.4
+		 *  @productversion Royale 0.9.7
 		 */
-		public function Navigation()
+		public function NavigationItemRendererInitializer()
 		{
-			super();
-
-            typeNames = "jewel navigation";
-
-			addEventListener(MouseEvent.CLICK, internalMouseHandler);
 		}
-
-		private function internalMouseHandler(event:MouseEvent):void
-		{
-			COMPILE::JS
-			{
-				// avoid a link tries to open a new page 
-				event.preventDefault();
-			}
-		}
-
-        /**
-         * @royaleignorecoercion org.apache.royale.core.WrappedHTMLElement
-         */
-        COMPILE::JS
-        override protected function createElement():WrappedHTMLElement
-        {
-			return addElementToWrapper(this,'nav');
-        }
+		
+        // override protected function setupVisualsForItemRenderer(ir:IIndexedItemRenderer):void
+        // {
+		// 	super.setupVisualsForItemRenderer(ir);
+		// }
 	}
 }
diff --git a/frameworks/projects/Jewel/src/main/sass/components/_navigation.sass b/frameworks/projects/Jewel/src/main/sass/components/_navigation.sass
index 84400a2..7183c0b 100644
--- a/frameworks/projects/Jewel/src/main/sass/components/_navigation.sass
+++ b/frameworks/projects/Jewel/src/main/sass/components/_navigation.sass
@@ -31,12 +31,12 @@ j|Navigation
     IBeadLayout: ClassReference("org.apache.royale.jewel.beads.layouts.VerticalLayout")
     IItemRendererClassFactory: ClassReference("org.apache.royale.core.SelectableItemRendererClassFactory")
     IItemRenderer: ClassReference("org.apache.royale.jewel.itemRenderers.NavigationLinkItemRenderer")
-    IItemRendererInitializer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.JewelListItemRendererInitializer")
+    IItemRendererInitializer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.NavigationItemRendererInitializer")
     ISelectableItemRenderer: ClassReference("org.apache.royale.jewel.beads.itemRenderers.ClassSelectorListHoverOnlySelectableItemRendererBead")
     IViewport: ClassReference("org.apache.royale.jewel.supportClasses.scrollbar.ScrollingViewport")
     IViewportModel: ClassReference("org.apache.royale.html.beads.models.ViewportModel")
     IBeadModel: ClassReference("org.apache.royale.jewel.beads.models.ArrayListSelectionModel")
-    IDataProviderItemRendererMapper: ClassReference("org.apache.royale.jewel.beads.itemRenderers.DataItemRendererFactoryForCollectionView")
+    IDataProviderItemRendererMapper: ClassReference("org.apache.royale.html.beads.DataItemRendererFactoryForCollectionView")
 
 
 // Jewel NavigationLinkItemRenderer