This is an automated email from the ASF dual-hosted git repository.
doebele pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/empire-db.git
The following commit(s) were added to refs/heads/master by this push:
new 8787e52a EMPIREDB-431 MenuItemTag: Alllow custom facet for
linkComponent
8787e52a is described below
commit 8787e52a0fb83b3e19d52221a43a0321f28f4766
Author: Rainer Döbele <[email protected]>
AuthorDate: Fri Oct 11 18:54:08 2024 +0200
EMPIREDB-431
MenuItemTag: Alllow custom facet for linkComponent
---
.../org/apache/empire/jsf2/components/LinkTag.java | 35 ++++++++--------------
.../apache/empire/jsf2/components/MenuItemTag.java | 18 +++++++++++
2 files changed, 31 insertions(+), 22 deletions(-)
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java
index 1c1eb74f..6f29912e 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/LinkTag.java
@@ -211,7 +211,7 @@ public class LinkTag extends UIOutput // implements
NamingContainer
else
{ // default rendering (no children)
linkComponent.setRendered(true);
- linkComponent.encodeAll(context);
+ encodeLinkComponent(context, linkComponent);
linkComponent.setRendered(false); // Don't render twice!
}
}
@@ -391,35 +391,26 @@ public class LinkTag extends UIOutput // implements
NamingContainer
return link;
}
- protected HtmlGraphicImage encodeImage(FacesContext context,
HtmlOutcomeTargetLink parent, String imagePath)
+ protected HtmlOutcomeTargetLink getLinkComponent()
{
- HtmlGraphicImage img = InputControlManager.createComponent(context,
HtmlGraphicImage.class);
- img.setValue(imagePath);
- return img;
+ return (getChildCount()>0 ?
(HtmlOutcomeTargetLink)getChildren().get(0) : null);
}
- /*
- * public String getLabelValue()
- * {
- * return StringUtils.toString(getValue());
- * }
- * public String getPageValue()
- * {
- * return (String) getAttributes().get("page");
- * }
- * public String getActionValue()
- * {
- * return (String) getAttributes().get("action");
- * }
- */
-
protected boolean isEncodeLinkChildren(Object linkValue)
{
return ObjectUtils.isEmpty(linkValue);
}
- protected HtmlOutcomeTargetLink getLinkComponent()
+ protected void encodeLinkComponent(FacesContext context,
HtmlOutcomeTargetLink linkComponent)
+ throws IOException
{
- return (getChildCount()>0 ?
(HtmlOutcomeTargetLink)getChildren().get(0) : null);
+ linkComponent.encodeAll(context);
+ }
+
+ protected HtmlGraphicImage encodeImage(FacesContext context,
HtmlOutcomeTargetLink parent, String imagePath)
+ {
+ HtmlGraphicImage img = InputControlManager.createComponent(context,
HtmlGraphicImage.class);
+ img.setValue(imagePath);
+ return img;
}
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java
index b87722fe..dab39f6c 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/MenuItemTag.java
@@ -313,4 +313,22 @@ public class MenuItemTag extends LinkTag
{
return false;
}
+
+ @Override
+ protected void encodeLinkComponent(FacesContext context,
HtmlOutcomeTargetLink linkComponent)
+ throws IOException
+ {
+ UIComponent linkFacet = this.getFacet("link");
+ if (linkFacet!=null)
+ { // custom rendering
+ linkComponent.encodeBegin(context);
+ linkFacet.encodeAll(context);
+ linkComponent.encodeEnd(context);
+ }
+ else
+ { // default
+ linkComponent.encodeAll(context);
+ }
+ }
+
}