You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by ice96 <ic...@gmail.com> on 2008/04/07 12:34:33 UTC
[T5:] extend input components for tooltips
Hello,
I have greate idea to create nice toolTips (hints) for input which get
"hint-"+ _resources.getId().
This part is working, now I want to find way how to extend components like
textfield and add onBlur method call to toolTip. Anyone could help me?
Source of my tooltip component:
package org.stml.stmljms.components;
import org.apache.tapestry.ComponentResources;
import org.apache.tapestry.MarkupWriter;
import org.apache.tapestry.PageRenderSupport;
import org.apache.tapestry.TapestryConstants;
import org.apache.tapestry.annotations.AfterRender;
import org.apache.tapestry.annotations.BeginRender;
import org.apache.tapestry.annotations.Environmental;
import org.apache.tapestry.annotations.IncludeJavaScriptLibrary;
import org.apache.tapestry.annotations.IncludeStylesheet;
import org.apache.tapestry.annotations.Parameter;
import org.apache.tapestry.ioc.annotations.Inject;
import org.apache.tapestry.services.Environment;
import org.apache.tapestry.dom.Element;
@IncludeJavaScriptLibrary(value = {
"${tapestry.scriptaculous}/prototype.js",
"${tapestry.scriptaculous}/scriptaculous.js",
"${commons.scripts}/Tooltip.js" })
@IncludeStylesheet(value = { "${commons.stylesheets}/Tooltip.css" })
public class MyToolTip {
@Parameter(value = "", required = false, defaultPrefix = "literal")
private String _value;
@Inject
private ComponentResources _resources;
@Parameter(value = "prop:componentResources.id", defaultPrefix =
TapestryConstants.LITERAL_BINDING_PREFIX)
private String _clientId;
@Environmental
private PageRenderSupport _pageRenderSupport;
@Inject
private Environment _environment;
private String _assignedClientId;
void setupRender() {
if (_resources.getContainerResources().getMessages().contains(
"hint-" + _resources.getId())) {
_assignedClientId = _pageRenderSupport.allocateClientId(_clientId);
}
}
@BeginRender
void render(MarkupWriter writer) {
String hint = "";
if (_resources.getContainerResources().getMessages().contains(
"hint-" + _resources.getId())) {
Element element = writer.element("div");
element.attribute("id", _assignedClientId);
// writer.write("Component " + _resources.getId() + " hint: " + hint);
}
}
@AfterRender
void doAfterRender(MarkupWriter writer) {
if (_resources.getContainerResources().getMessages().contains(
"hint-" + _resources.getId())) {
writer.end();
String jsCommand = "new Tip('%s', '%s'";
jsCommand += ", {className: 'tap5c_tooltip'";
jsCommand += ", title: '" + "no title" + "'";
jsCommand += ", effect: '" + "blind" + "'";
jsCommand += "});";
String hint = _resources.getContainerResources().getMessages().get(
"hint-" + _resources.getId());
_pageRenderSupport.addScript(jsCommand, _assignedClientId, hint);
}
}
}
--
View this message in context: http://www.nabble.com/-T5%3A--extend-input-components-for-tooltips-tp16537225p16537225.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org