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)

Reply via email to