You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by hn...@apache.org on 2018/12/13 12:32:15 UTC
[myfaces-tobago] branch tobago-4.x updated: TOBAGO-1940 Show
summary and details for tc:messages
This is an automated email from the ASF dual-hosted git repository.
hnoeth pushed a commit to branch tobago-4.x
in repository https://gitbox.apache.org/repos/asf/myfaces-tobago.git
The following commit(s) were added to refs/heads/tobago-4.x by this push:
new 73a0953 TOBAGO-1940 Show summary and details for tc:messages
73a0953 is described below
commit 73a09537825cebc17d860bcef1430ffd18f760be
Author: Henning Noeth <hn...@apache.org>
AuthorDate: Thu Sep 27 17:46:16 2018 +0200
TOBAGO-1940 Show summary and details for tc:messages
* Summary and details are now shown in the same message. If both are
shown, the summary has highlighted text.
* improve demo
* If no message text is available the severity is shown. So at least the
message doesn't look broken.
(cherry picked from commit 750d16db0904b7292cb3ed5437e3a202440d9179)
---
.../renderkit/renderer/MessagesRenderer.java | 24 +++++++--------
.../tobago/example/demo/MessagesController.java | 34 +++++++++++++++-------
.../020-output/30-messages/messages.xhtml | 1 +
3 files changed, 36 insertions(+), 23 deletions(-)
diff --git a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessagesRenderer.java b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessagesRenderer.java
index 690429e..4d177f0 100644
--- a/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessagesRenderer.java
+++ b/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/renderkit/renderer/MessagesRenderer.java
@@ -153,25 +153,25 @@ public class MessagesRenderer extends RendererBase {
final String summary = message.getSummary();
final String detail = message.getDetail();
+ final boolean showSummary = summary != null && messages.isShowSummary() && summary.length() > 0;
+ final boolean showDetails = detail != null && messages.isShowDetail() && detail.length() > 0;
writer.startElement(HtmlElements.LABEL);
if (clientId != null) {
writer.writeAttribute(HtmlAttributes.FOR, clientId, false);
}
writer.writeAttribute(HtmlAttributes.TITLE, detail, true);
- boolean writeEmptyText = true;
- if (summary != null && messages.isShowSummary()) {
+
+ if (showSummary && showDetails && !summary.equals(detail)) {
+ writer.startElement(HtmlElements.STRONG);
writer.writeText(summary);
- writeEmptyText = false;
- if (detail != null && messages.isShowDetail()) {
- writer.writeText(" ");
- }
- }
- if (detail != null && messages.isShowDetail()) {
- writeEmptyText = false;
+ writer.endElement(HtmlElements.STRONG);
writer.writeText(detail);
- }
- if (writeEmptyText) {
- writer.writeText("");
+ } else if (showSummary) {
+ writer.writeText(summary);
+ } else if (showDetails) {
+ writer.writeText(detail);
+ } else {
+ writer.writeText(message.getSeverity().toString());
}
writer.endElement(HtmlElements.LABEL);
diff --git a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java
index e61c514..2e618fa 100644
--- a/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java
+++ b/tobago-example/tobago-example-demo/src/main/java/org/apache/myfaces/tobago/example/demo/MessagesController.java
@@ -47,38 +47,50 @@ public class MessagesController implements Serializable {
public void createFatalMessage() {
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fatal Message", "Details of fatal message."));
+ new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fatal Message", "Details of fatal message."));
}
public void createErrorMessage() {
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Details of error message."));
+ new FacesMessage(FacesMessage.SEVERITY_ERROR, "Error Message", "Details of error message."));
}
public void createWarnMessage() {
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_WARN, "Warn Message", "Details of warn message."));
+ new FacesMessage(FacesMessage.SEVERITY_WARN, "Warn Message", "Details of warn message."));
}
public void createInfoMessage() {
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_INFO, "Info Message", "Details of info message."));
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "Info Message", "Details of info message."));
}
public void createSevenMessages() {
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_INFO, "First Message - Info", null));
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "First Message - Info", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_FATAL, "Second Message - Fatal", null));
+ new FacesMessage(FacesMessage.SEVERITY_FATAL, "Second Message - Fatal", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_WARN, "Third Message - Warn", null));
+ new FacesMessage(FacesMessage.SEVERITY_WARN, "Third Message - Warn", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fourth Message - Fatal", null));
+ new FacesMessage(FacesMessage.SEVERITY_FATAL, "Fourth Message - Fatal", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_ERROR, "Fifth Message - Error", null));
+ new FacesMessage(FacesMessage.SEVERITY_ERROR, "Fifth Message - Error", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_INFO, "Sixth Message - Info", null));
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "Sixth Message - Info", null));
FacesContext.getCurrentInstance().addMessage(null,
- new FacesMessage(FacesMessage.SEVERITY_WARN, "Seventh Message - Warn", null));
+ new FacesMessage(FacesMessage.SEVERITY_WARN, "Seventh Message - Warn", null));
+ }
+
+ public void createSummaryDetailMessages() {
+ FacesContext.getCurrentInstance().addMessage(null,
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "Summary only", null));
+ FacesContext.getCurrentInstance().addMessage(null,
+ new FacesMessage(FacesMessage.SEVERITY_INFO, null, "Details only"));
+ FacesContext.getCurrentInstance().addMessage(null,
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "Summary", "Details"));
+ FacesContext.getCurrentInstance().addMessage(null,
+ new FacesMessage(FacesMessage.SEVERITY_INFO, "Summary and details are equal strings",
+ "Summary and details are equal strings"));
}
}
diff --git a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml
index 9b2e6f2..82fac5d 100644
--- a/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml
+++ b/tobago-example/tobago-example-demo/src/main/webapp/content/20-component/020-output/30-messages/messages.xhtml
@@ -40,6 +40,7 @@
<tc:button label="7 Messages (Ajax)" action="#{messagesController.createSevenMessages}">
<f:ajax render="tabGroup"/>
</tc:button>
+ <tc:button label="Summary/Details" action="#{messagesController.createSummaryDetailMessages}"/>
</tc:section>
<tc:tabGroup id="tabGroup" switchType="reloadPage">