-
1. Re: tooltip for a message
niox.nikospara.yahoo.com Jun 30, 2009 12:53 PM (in response to giunad)Hello,
I took a quick look at the <rich:message> and it does provide a tooltip attribute... Maybe it is what you need.
Richfaces version: 3.3.0
If your version of Richfaces doesnt have this attribute, or you cannot upgrade, you could try embedding the tooltip inside the image, like:
<rich:message id="msg-email1" for="email1" showDetail="false"> <f:facet id="facet-email1" name="errorMarker"> <h:graphicImage id="img-email1" url="../icons/cancel.gif"> <rich:toolTip id="tool-email1" for="img-email1"> ...WHAT IS THE VALUE??? </rich:toolTip> </h:graphicImage> </f:facet> </rich:message>
Determining the value of the tooltip in this case is trickier. I cannot tell if the message components (both plain and rich ones) operate correctly when enclosed in the tooltip.
Last, there is allways the hardcore way: Implementing your own javax.faces.render.Renderer for the <h:message> or <rich:message> components. Renderers are not difficult to implement. And there is also the Richfaces CDK (though I have never used it).
-
2. Re: tooltip for a message
giunad Jun 30, 2009 2:43 PM (in response to giunad)Hello,
the tooltip attribute does not work either. I really don't know why.
I'll try your second suggestion. even if I have a doubt: ..what is the value..?!?!
I used rich:message with showDetailfalse
to have just a gif. and showDetailtrue
to have the tooltip with some text.
as you suggest, I sould nest 2 rich:message.or is there another way?
as regard the
hardcore way
, I would like to spend some other time before implementing another render.did you tried to implement my example? I can send you my code.
thanks.
-
3. Re: tooltip for a message
giunad Jun 30, 2009 2:44 PM (in response to giunad)
giuseppe naddeo wrote on Jun 30, 2009 14:43:
Hello,
the tooltip attribute does not work either. I really don't know why.
I'll try your second suggestion. even if I have a doubt: ..what is the value..?!?!
I used rich:message with showDetailfalse
to have just a gif. and showDetailtrue
to have the tooltip with some text.
as you suggest, I sould nest 2 rich:message.
or is there another way?
as regard thehardcore way
, I would like to spend some other time before implementing another render.
did you try to implement my example? I can send you my code.
thanks.Click HELP for text formatting instructions. Then edit this text and check the preview.
-
4. Re: tooltip for a message
niox.nikospara.yahoo.com Jun 30, 2009 6:38 PM (in response to giunad)Hi,
I haven't tried your use case, I am only speculating. What I have tried is attaching a <rich:tooltip> to a <h:graphicImage>, outside any message tag and it did work.
I took a look at the <rich:message> renderer (org.richfaces.renderkit.html.HtmlRichMessageRenderer). It is quite simple. It renders the tooltip as the HTML title attribute. This means that the tooltip of <rich:message> can only contain plain text! The value that is displayed is the summary of the message, if the component is configured to show both summary and detail, and the tooltip flag is true. So the correct setup should be:
<rich:message id="msg-email1" for="email1" showDetail="true" showSummary="true" tooltip="true" > <f:facet id="facet-email1" name="errorMarker"> <h:graphicImage id="img-email1" url="../icons/cancel.gif"/> </f:facet> </rich:message> <!-- no rich:tooltip after this -->
Again, this is only speculation.
Finally, seeing the simplicity of the <rich:message> renderer, I bet that the
hardcore
solution is not sohardcore
after all. -
5. Re: tooltip for a message
giunad Jun 30, 2009 8:16 PM (in response to giunad)I tried your solution. it does not work. I mean it shows a gif and the detail part of error message but no tooltip.
I think you are right when you say that the renderer is simple, but as principle I don't want start re-writing a component just because I cannot understand it.
and btw why istooltip = true
not working?
also because it's just the beginning part of the project. I could loose the development control.
any other suggestion?
thanks
see you
g. -
6. Re: tooltip for a message
giunad Jun 30, 2009 10:52 PM (in response to giunad)just one note:
checking the html code produced by page, I see that the tooltip is there but with 'display:none;'
if I disable it, the tooltip appears. but then is always on.
see you
g. -
7. Re: tooltip for a message
niox.nikospara.yahoo.com Jun 30, 2009 10:59 PM (in response to giunad)Hello again,
This intrigued me, so I gave it a try. You are right, the tooltip doesn't show, when an
errorMarker
facet is configured. It is because only when theerrorMarker
facet is NOT specified, does the <rich:message> renderer render the image and the title.I did come up with a solution though:
<rich:message id="msg-email1" for="email1" showDetail="true" showSummary="true" tooltip="true" errorLabelClass="YOUR_CLASS" />
And in theme.css (or wherever your styles are) something like:
.YOUR_CLASS { background-image: url(../icons/cancel.gif); background-repeat: no-repeat; padding-left: 20px; }
Notes:
(1) The background image url is relative to the stylesheet - I keep forgetting this one :(
(2) padding-left should leave enough space for the image width+spacing from text
(3) In my dummy project, the bottom of the image was cropped; some additional CSS magic will probably do the trick hereOverall this solution is better than loading the server with yet another, irrelevant component (the <h:graphicImage>).
-
8. Re: tooltip for a message
giunad Jul 1, 2009 10:26 AM (in response to giunad)Great!
You are right. Now it does work.I wonder where did you find the indication that the facet excludes the tooltip.
You helped me and a lot of other users, I think.
How can I thank you? Is there a way of rating your posts?
g.
-
9. Re: tooltip for a message
niox.nikospara.yahoo.com Jul 1, 2009 11:05 AM (in response to giunad)
giuseppe naddeo wrote on Jul 01, 2009 10:26:
Great!
You are right. Now it does work.
I wonder where did you find the indication that the facet excludes the tooltip.
You helped me and a lot of other users, I think.
How can I thank you? Is there a way of rating your posts?
g.My pleasure (I have been helped myself many times from people in the Internet, so I consider it sort of an obligation to help whenever I can; besides I too have learned from this)
I found the indication by experimenting and looking at the source code... Standard procedure :)
Yes, posts can be rated by the thread creator.
-
10. Re: tooltip for a message
giunad Jul 2, 2009 5:53 PM (in response to giunad)just a note to close (?) this thread.
Nikos's suggestion works on richfaces 3.1.4.GA
where rich:message tag produces
<span id="user_form:msg-email1" class="rich-message"> <span class="rich-message-label YOUR_CLASS" title="Summary-test"/> </span>
on richfaces 3.2.2.SR1 and on richfaces 3.3.1.GA it does NOT work
producing the following html:
<span id="user_form:j_id17" class="rich-message YOUR_CLASS"> <span class="rich-message-label"/> </span>
(title is missing)
I know it's just a tooltip... but hey guys it's just a tooltip. it should work.
-
11. Re: tooltip for a message
chris.simons Jul 2, 2009 6:45 PM (in response to giunad)
I know it's just a tooltip... but hey guys it's just a tooltip. it should work.I wholeheartedly agree. Just to add my two cents - since I have been watching this thread and have found it somewhat humurous - I gave up on the RF ToolTip a long time ago after realizing that it never worked the way it should (and looked terrible to boot).
Instead I've been using the Prototip2 library, which can create beautiful, flexible tooltips. Look it up.
-
12. Re: tooltip for a message
giunad Jul 2, 2009 10:39 PM (in response to giunad)Hi Chris,
can you post any help to integrate prototip2 and seam?
thanks in advance.
g.
-
13. Re: tooltip for a message
giunad Jul 3, 2009 11:07 PM (in response to giunad)I did it!!!
:D
<rich:message id="msg-email1" for="email1" showDetail="false"> <f:facet id="facet-email1" name="errorMarker"> <h:graphicImage id="img-email1" url="icons/cancel.gif" onmouseover="#{rich:component('tooltipId')}.show(event);" onmouseout="#{rich:component('tooltipId')}.hide(event);" /> </f:facet> </rich:message> <a:form> <rich:toolTip id="tooltipId" attached="false"> <rich:message id="tooltext-email1" for="email1" showDetail="true" /> </rich:toolTip> </a:form>
I'm writing this last post hoping it can help you not to go crazy as I did.
I close saying that I did not understand why tooltip does not work in any other way.
see you
g. -
14. Re: tooltip for a message
empinator Aug 13, 2009 1:56 PM (in response to giunad)@giuseppe: thank you, excelent solution!
I wrapped it into a custom facelet tag, so it can be used like this:
<rs:errormessage for="inputfield" />
<ui:composition> <rich:message for="${field}" showDetail="false" showSummary="false"> <f:facet name="errorMarker"> <h:graphicImage value="/img/icon/exclamation.png" onmouseover="#{rich:component('${field}_tooltip')}.show(event);" onmouseout="#{rich:component('${field}_tooltip')}.hide(event);" /> </f:facet> </rich:message> <rich:toolTip> <rich:message id="${field}_tooltip" for="${field}" showDetail="false" showSummary="true" /> </rich:toolTip> </ui:composition>