[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