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 ef492916 EMPIREDB-438 TabPageTag: automatically set page id
ef492916 is described below
commit ef4929166d1131d956e756eb13ce2e2c19055b90
Author: Rainer Döbele <[email protected]>
AuthorDate: Fri Nov 8 15:58:54 2024 +0100
EMPIREDB-438
TabPageTag: automatically set page id
---
.../apache/empire/jakarta/components/LinkTag.java | 2 +-
.../empire/jakarta/components/TabPageTag.java | 35 +++++++++++++++++-----
.../org/apache/empire/jsf2/components/LinkTag.java | 2 +-
.../apache/empire/jsf2/components/TabPageTag.java | 21 +++++++++++++
4 files changed, 51 insertions(+), 9 deletions(-)
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java
index 40d979f6..872bc554 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/LinkTag.java
@@ -330,7 +330,7 @@ public class LinkTag extends UIOutput // implements
NamingContainer
// title
String title = helper.getTagAttributeString("title");
if (StringUtils.isNotEmpty(title))
- link.setTitle(title);
+ link.setTitle(helper.getDisplayText(title));
// include view param
link.setIncludeViewParams(false);
}
diff --git
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java
index 53a186a6..59cb859b 100644
---
a/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java
+++
b/empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/components/TabPageTag.java
@@ -20,13 +20,7 @@ package org.apache.empire.jakarta.components;
import java.io.IOException;
-import jakarta.faces.component.NamingContainer;
-import jakarta.faces.component.UIComponent;
-import jakarta.faces.component.UINamingContainer;
-import jakarta.faces.component.UIOutput;
-import jakarta.faces.context.FacesContext;
-import jakarta.faces.context.ResponseWriter;
-
+import org.apache.empire.commons.StringUtils;
import org.apache.empire.jakarta.components.TabViewTag.TabViewMode;
import org.apache.empire.jakarta.controls.InputControl;
import org.apache.empire.jakarta.utils.TagEncodingHelper;
@@ -35,6 +29,14 @@ import org.apache.empire.jakarta.utils.TagStyleClass;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import jakarta.faces.component.NamingContainer;
+import jakarta.faces.component.UIComponent;
+import jakarta.faces.component.UINamingContainer;
+import jakarta.faces.component.UIOutput;
+import jakarta.faces.component.UIPanel;
+import jakarta.faces.context.FacesContext;
+import jakarta.faces.context.ResponseWriter;
+
public class TabPageTag extends UIOutput implements NamingContainer
{
// Logger
@@ -49,6 +51,25 @@ public class TabPageTag extends UIOutput implements
NamingContainer
{
return UINamingContainer.COMPONENT_FAMILY;
}
+
+ @Override
+ public void setParent(UIComponent parent)
+ {
+ super.setParent(parent);
+ // TabViewTag
+ UIComponent tabView = parent;
+ if (parent instanceof UIPanel)
+ tabView = parent.getParent();
+ if ((tabView instanceof TabViewTag) && !helper.hasComponentId())
+ { // We're inside a tabView
+ String tabViewId = tabView.getId();
+ if (tabViewId.startsWith(TagEncodingHelper.FACES_ID_PREFIX))
+ tabViewId="tab";
+ // Set tabId
+ String tabId = StringUtils.concat(tabViewId, "_",
String.valueOf(parent.getChildCount()-1));
+ super.setId(tabId);
+ }
+ }
@Override
public void encodeBegin(FacesContext context)
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 294247b0..82800149 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
@@ -330,7 +330,7 @@ public class LinkTag extends UIOutput // implements
NamingContainer
// title
String title = helper.getTagAttributeString("title");
if (StringUtils.isNotEmpty(title))
- link.setTitle(title);
+ link.setTitle(helper.getDisplayText(title));
// include view param
link.setIncludeViewParams(false);
}
diff --git
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
index 4b2fdb4f..cbec76cb 100644
---
a/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
+++
b/empire-db-jsf2/src/main/java/org/apache/empire/jsf2/components/TabPageTag.java
@@ -24,9 +24,11 @@ import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
import javax.faces.component.UINamingContainer;
import javax.faces.component.UIOutput;
+import javax.faces.component.UIPanel;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
+import org.apache.empire.commons.StringUtils;
import org.apache.empire.jsf2.components.TabViewTag.TabViewMode;
import org.apache.empire.jsf2.controls.InputControl;
import org.apache.empire.jsf2.utils.TagEncodingHelper;
@@ -49,6 +51,25 @@ public class TabPageTag extends UIOutput implements
NamingContainer
{
return UINamingContainer.COMPONENT_FAMILY;
}
+
+ @Override
+ public void setParent(UIComponent parent)
+ {
+ super.setParent(parent);
+ // TabViewTag
+ UIComponent tabView = parent;
+ if (parent instanceof UIPanel)
+ tabView = parent.getParent();
+ if ((tabView instanceof TabViewTag) && !helper.hasComponentId())
+ { // We're inside a tabView
+ String tabViewId = tabView.getId();
+ if (tabViewId.startsWith(TagEncodingHelper.FACES_ID_PREFIX))
+ tabViewId="tab";
+ // Set tabId
+ String tabId = StringUtils.concat(tabViewId, "_",
String.valueOf(parent.getChildCount()-1));
+ super.setId(tabId);
+ }
+ }
@Override
public void encodeBegin(FacesContext context)