Author: abelevich
Date: 2008-02-15 10:34:56 -0500 (Fri, 15 Feb 2008)
New Revision: 6118
Modified:
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
Log:
RF-2265, fix summary detail tooltip behavior according to the standart message behavior
Modified:
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
---
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2008-02-15
14:46:20 UTC (rev 6117)
+++
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2008-02-15
15:34:56 UTC (rev 6118)
@@ -18,6 +18,7 @@
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
+import org.richfaces.component.UIRichMessages;
import org.richfaces.renderkit.html.HtmlRichMessageRenderer;
/**
@@ -260,6 +261,17 @@
}
+ protected boolean isAcceptableMessagesPresent(Iterator messagesIter) {
+ while(messagesIter.hasNext()){
+ FacesMessage message = (FacesMessage)(messagesIter.next());
+ boolean exist = isAcceptableMessage(message);
+ if (exist) {
+ return true;
+ }
+ }
+ return false;
+ }
+
protected boolean isAcceptableMessage(FacesMessage message){
boolean accept = false;
Modified:
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java
===================================================================
---
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java 2008-02-15
14:46:20 UTC (rev 6117)
+++
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessageRenderer.java 2008-02-15
15:34:56 UTC (rev 6118)
@@ -150,34 +150,30 @@
getUtils().writeAttribute(writer, HTML.class_ATTRIBUTE,classes);
getUtils().writeAttribute(writer, HTML.style_ATTRIBUTE, labelStyle);
+ title = (String) component.getAttributes().get("title");
+ if(title != null) {
+ writer.writeAttribute("title", title, "title");
+ }
+
if(facesMsg != null){
- if(isTooltip){
- title = (String) uiMsg.getAttributes().get("title");
- if(title != null){
- getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, title);
- }else{
- getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, summary);
+ boolean wroteTooltip = false;
+ if (showSummary && showDetail && isTooltip) {
+ if (title == null || title.length() == 0) {
+ writer.writeAttribute("title", summary, "title");
}
+ wroteTooltip = true;
+ }
+
+ if (!wroteTooltip && showSummary) {
+ writer.writeText(summary, component, null);
}
-
- if(showSummary && !isTooltip){
- writer.writeText(summary, null);
- writer.writeText("\t", null);
- }
- if(showDetail){
- writer.writeText(detail, null);
- writer.writeText("\t", null);
- }
-
-
- }else {
-
- if(passLabel != null){
+ if (showDetail) {
+ writer.writeText(detail, component, null);
+ }
+ } else if(passLabel != null){
writer.writeText(passLabel, null);
writer.writeText("\t", null);
- }
-
}
writer.endElement(HTML.SPAN_ELEM);
Modified:
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java
===================================================================
---
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java 2008-02-15
14:46:20 UTC (rev 6117)
+++
trunk/ui/message/src/main/java/org/richfaces/renderkit/html/HtmlRichMessagesRenderer.java 2008-02-15
15:34:56 UTC (rev 6118)
@@ -25,36 +25,27 @@
private boolean isWroteTable = false;
protected void doEncodeEnd(ResponseWriter writer, FacesContext context, UIComponent
component) throws IOException {
+ UIRichMessages uiMessages = (UIRichMessages)component;
+ String layout = null;
String forIds = null;
- Iterator messagesIter = null;
-
- UIRichMessages uiMessages = (UIRichMessages)component;
-
if(uiMessages.isGlobalOnly()){
forIds = "";
}
-
- messagesIter = getMessageIterator(context, forIds, component);
-
- renderComponentUI(writer, context, component, messagesIter);
- }
-
- public void renderComponentUI(ResponseWriter writer, FacesContext context, UIComponent
component, Iterator messagesIter) throws IOException{
-
- String layout = null;
-
- UIRichMessages uiMessages = (UIRichMessages)component;
-
- boolean isDisplayNone = !messagesIter.hasNext();
-
+ Iterator messagesIter = getMessageIterator(context, forIds, component);
+ boolean isDisplayNone = !messagesIter.hasNext();
+
if(!isDisplayNone){
String [] levels = uiMessages.getLevel().split(",");
acceptLevels = creatAcceptLevels(levels);
- }
-
+
+ if (!isAcceptableMessagesPresent(messagesIter)) {
+ isDisplayNone = true;
+ }
+ }
+
layout = (String)uiMessages.getAttributes().get("layout");
if((layout != null) && (layout.equals("table"))){
@@ -74,7 +65,9 @@
renderComponentOuterStyles(uiMessages, context, writer, isDisplayNone);
}
-
+
+ messagesIter = getMessageIterator(context, forIds, component);
+
if(!messagesIter.hasNext()){
renderBody(uiMessages, context, writer, null);
}else{
@@ -93,11 +86,8 @@
}else{
writer.endElement("dl");
}
-
}
-
-
public void renderLabelHtml(UIComponent component, FacesContext context, ResponseWriter
writer,
FacesMessage facesMsg, String labelClass, String labelStyle, String passLabel)
throws IOException {
@@ -129,37 +119,31 @@
writer.startElement(HTML.SPAN_ELEM, uiMessages);
getUtils().writeAttribute(writer, HTML.class_ATTRIBUTE,labelClass);
getUtils().writeAttribute(writer, HTML.style_ATTRIBUTE, labelStyle);
-
+
+ title = (String) component.getAttributes().get("title");
+ if(title != null) {
+ writer.writeAttribute("title", title, "title");
+ }
+
if(facesMsg != null){
-
- if(isTooltip){
-
- title = (String) uiMessages.getAttributes().get("title");
- if(title != null){
- getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, title);
- }else{
- getUtils().writeAttribute(writer, HTML.title_ATTRIBUTE, summary);
+ boolean wroteTooltip = false;
+ if (showSummary && showDetail && isTooltip) {
+ if (title == null || title.length() == 0) {
+ writer.writeAttribute("title", summary, "title");
}
-
+ wroteTooltip = true;
+ }
+
+ if (!wroteTooltip && showSummary) {
+ writer.writeText(summary, component, null);
}
-
- if(showDetail){
- writer.writeText(detail, null);
- writer.writeText("\t", null);
- }
-
- if(showSummary){
- writer.writeText(summary, null);
- writer.writeText("\t", null);
- }
- }else {
-
- if(passLabel != null){
+ if (showDetail) {
+ writer.writeText(detail, component, null);
+ }
+ } else if(passLabel != null){
writer.writeText(passLabel, null);
writer.writeText("\t", null);
- }
-
}
writer.endElement(HTML.SPAN_ELEM);