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