[richfaces-svn-commits] JBoss Rich Faces SVN: r2231 - in trunk/ui/tooltip/src/main: resources/org/richfaces/renderkit/html/scripts and 1 other directory.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Mon Aug 13 15:30:10 EDT 2007
Author: dbiatenia
Date: 2007-08-13 15:30:09 -0400 (Mon, 13 Aug 2007)
New Revision: 2231
Modified:
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js
Log:
tooltip improvements
Modified: trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
===================================================================
--- trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-08-13 17:29:39 UTC (rev 2230)
+++ trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-08-13 19:30:09 UTC (rev 2231)
@@ -1,6 +1,7 @@
package org.richfaces.renderkit.html;
import java.io.IOException;
+import java.util.HashMap;
import java.util.Map;
import javax.faces.FacesException;
@@ -26,10 +27,12 @@
import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.resource.InternetResource;
+import org.ajax4jsf.xml.serializer.utils.Utils;
import org.richfaces.component.UIToolTip;
import org.richfaces.skin.Skin;
-import com.sun.el.lang.FunctionMapperImpl.Function;
+//import com.gargoylesoftware.htmlunit.protocol.javascript.JavaScriptURLConnection;
+//import com.sun.el.lang.FunctionMapperImpl.Function;
public class ToolTipRenderer extends AjaxComponentRendererBase{
@@ -124,26 +127,7 @@
return scriptsAll;
}
- //
- //
- //
-
-
- private String convertToString(Object obj ) {
- return ( obj == null ? "" : obj.toString() );
- }
- private String convertToString(boolean b ) {
- return String.valueOf(b);
- }
- private String convertToString(int b ) {
- return b!=Integer.MIN_VALUE?String.valueOf(b):"";
- }
- private String convertToString(long b ) {
- return b!=Long.MIN_VALUE?String.valueOf(b):"";
- }
-
-
protected Class getComponentClass() {
return org.richfaces.component.UIToolTip.class;
}
@@ -161,15 +145,6 @@
}
-
- public void insertValue(FacesContext context, UIComponent component) throws IOException {
- Object value = component.getAttributes().get("value");
- if (value!=null){
- context.getResponseWriter().write(value.toString());
- }
- }
-
-
public Map buildEventOptions(FacesContext context, UIComponent component){
Map eventOptions = AjaxRendererUtils.buildEventOptions(context, component);
@@ -202,17 +177,7 @@
return eventOptions;
}
- /*
- public JSFunction insertAjaxFunction(FacesContext context, UIComponent component){
- JSFunction function = AjaxRendererUtils.buildAjaxFunction(component, context);
- component.getClientId(context);
-
-// function.addParameter(eventOptions);
- //function.
- return function.toScript();
- }
- */
-
+
public void insertScript(FacesContext context, UIComponent component) throws IOException{
UIToolTip toolTip = (UIToolTip)component;
@@ -228,9 +193,6 @@
script.append(jsVar).append(";\n");
ret.append(script.toString());
- //ret.append("Richfaces.tooltips[\"" + toolTip.getClientId(context) + "\"] = ").append(jsVar).append(";\n");
- //
- //ret.append("function toolTipAttach(){tooltip1.attachParentEvents() }\n");
ret.append("\n</script>");
ResponseWriter writer = context.getResponseWriter();
@@ -248,11 +210,13 @@
if(event.startsWith("on")){
event = event.substring(2);
}
- String events = "{event:\"" + event + "\",onshow:\"" + toolTip.getOnshow() +
- "\",oncomplete:\"" + toolTip.getOncomplete() + "\",onhide:\"" + toolTip.getOnhide() +
- //"\",delay:" + toolTip.getDelay() + ",jsVarName:\"" + getJsVarName(context, component) + "\"}";
- "\",delay:" + toolTip.getDelay() + "}";
+ Map eventsMap = new HashMap();
+ eventsMap.put(new JSReference("event"), event);
+ eventsMap.put(new JSReference("onshow"), toolTip.getOnshow());
+ eventsMap.put(new JSReference("oncomplete"), toolTip.getOncomplete());
+ eventsMap.put(new JSReference("onhide"), toolTip.getOnhide());
+ eventsMap.put(new JSReference("delay"), new Integer(toolTip.getDelay()));
JSFunction function = AjaxRendererUtils.buildAjaxFunction(component, context);
JSReference ref = new JSReference("ajaxOptions");
@@ -261,7 +225,7 @@
Map ajaxOptions = buildEventOptions(context, toolTip);
- ret.append("new ToolTip(" + events).append(comma).append(quot).append( toolTip.getClientId(context)).append(quot).append(comma).
+ ret.append("new ToolTip(" + ScriptUtils.toScript(eventsMap)).append(comma).append(quot).append( toolTip.getClientId(context)).append(quot).append(comma).
append(quot).append(parentClientId).append(quot).append(comma).
append(quot).append(toolTip.getMode()).append(quot).append(comma).
append(toolTip.isDisabled()).append(comma).
Modified: trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js
===================================================================
--- trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js 2007-08-13 17:29:39 UTC (rev 2230)
+++ trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js 2007-08-13 19:30:09 UTC (rev 2231)
@@ -7,9 +7,9 @@
ToolTip.prototype = {
initialize:function(events, id, parentId, mode, disabled, direction, followMouse, horizontalOffset, verticalOffset, ajaxFunction, ajaxOptions){
this.event = events.event;
- this.onshow = events.onshow;
- this.oncomplete = events.oncomplete;
- this.onhide = events.onhide;
+ this.onshow = new Function('event', events.onshow + ';return true;');
+ this.oncomplete = new Function('event', events.oncomplete + ';return true;');
+ this.onhide = new Function('event', events.onhide + ';return true;');
this.delay = events.delay;
this.id = id;
@@ -131,9 +131,7 @@
if(!needToShow) return;
- if(this.onshow){
- eval(this.onshow);
- }
+ this.onshow(e);
this.isMouseOvered = true;
if (e.target)
@@ -198,9 +196,7 @@
}
this.hintParentElement = null;
this.isMouseOvered = false;
- if(this.onhide){
- eval(this.onhide);
- }
+ this.onhide(e);
}
},
@@ -317,8 +313,8 @@
this.iframe.style.left = parseInt(this.toolTip.style.left) - this.toolTipBorderWidth;
this.iframe.style.display = "block";
}
- if(this.mode != 'ajax' && this.oncomplete){
- eval(this.oncomplete);
+ if(this.mode != 'ajax'){
+ this.oncomplete(window.event);
}
}
}
More information about the richfaces-svn-commits
mailing list