[richfaces-svn-commits] JBoss Rich Faces SVN: r5097 - in branches/3.1.x: framework/impl/src/main/java/org/ajax4jsf/renderkit and 14 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Fri Dec 28 15:57:43 EST 2007
Author: nbelaevski
Date: 2007-12-28 15:57:43 -0500 (Fri, 28 Dec 2007)
New Revision: 5097
Modified:
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
branches/3.1.x/ui/effect/src/main/templates/effect.jspx
branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java
branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
Log:
http://jira.jboss.com/jira/browse/RF-1325
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -35,6 +35,7 @@
import org.ajax4jsf.event.AjaxListener;
import org.ajax4jsf.event.AjaxSingleEvent;
import org.ajax4jsf.event.AjaxSource;
+import org.ajax4jsf.renderkit.RendererUtils;
/**
* @author shura (latest modification by $Author: alexsmirnov $)
@@ -73,9 +74,10 @@
String focus = getFocus();
if (null != focus) {
// search for component in tree.
- // TODO - use more pourful search, as in h:outputLabel
+ // XXX - use more pourful search, as in h:outputLabel
// component.
- UIComponent focusComponent = findComponent(focus);
+ UIComponent focusComponent = RendererUtils.getInstance().
+ findComponentFor(this, focus);
if (null != focusComponent) {
focus = focusComponent.getClientId(context);
}
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -55,7 +55,7 @@
*/
protected static final String JAVASCRIPT_NAMESPACE = "Exadel";
private static final Log log = LogFactory.getLog(RendererBase.class);
- private static final RendererUtils utils = new RendererUtils();
+ private static final RendererUtils utils = RendererUtils.getInstance();
private SkinFactory skinFactory = null;
private InternetResourceBuilder resourceBuilder = null;
Modified: branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -55,11 +55,10 @@
*
*/
public class RendererUtils {
-
- //we'd better use this instance multithreadly quickly
- private static final RendererUtils instance = new RendererUtils();
-
-
+
+ //we'd better use this instance multithreadly quickly
+ private static final RendererUtils instance = new RendererUtils();
+
public static final String DUMMY_FORM_ID = ":_form";
/**
* Substitutions for components properies names and HTML attributes names.
@@ -73,13 +72,19 @@
Arrays.sort(HTML.PASS_THRU_URI);
}
- /**
- * Use this method to get singleton instance of RendererUtils
- * @return singleton instance
- */
- public static RendererUtils getInstance() {
- return instance;
- }
+ //can be created by subclasses;
+ //administratively restricted to be created by package members ;)
+ protected RendererUtils() {
+ super();
+ }
+
+ /**
+ * Use this method to get singleton instance of RendererUtils
+ * @return singleton instance
+ */
+ public static RendererUtils getInstance() {
+ return instance;
+ }
/**
* Common HTML elements and attributes names.
Modified: branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
===================================================================
--- branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -36,12 +36,8 @@
*/
public class FormUtil {
- //TODO nick -> nick - howto get rid of this static instance?
- private static RendererUtils rendererUtils = new RendererUtils();
-
public static void throwEnclFormReqExceptionIfNeed(FacesContext context, UIComponent component) throws EnclosingFormRequiredException {
- //RendererUtils rendererUtils = new RendererUtils();
- UIForm form= rendererUtils.getNestingForm(context, component);
+ UIForm form= RendererUtils.getInstance().getNestingForm(context, component);
//TODO nick -> nick - switchType checking can be harmful here
String switchType = (String) component.getAttributes().get("switchType");
boolean isSwitchTypeClient = switchType == null ? false : switchType.equalsIgnoreCase("client") ;
Modified: branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
===================================================================
--- branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -31,6 +31,7 @@
import org.ajax4jsf.Messages;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
/**
@@ -242,7 +243,7 @@
String forValue = getFor();
UIComponent container;
if (null != forValue) {
- container = findComponent(forValue);
+ container = RendererUtils.getInstance().findComponentFor(this, forValue);
// 'for' attribute must be pointed to real container in view tree
if (null == container || !(container instanceof AjaxContainer)) {
throw new FacesException(
Modified: branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
===================================================================
--- branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -35,6 +35,7 @@
import javax.faces.event.FacesEvent;
import javax.faces.model.ListDataModel;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.richfaces.event.DataFilterSliderAdapter;
import org.richfaces.event.DataFilterSliderEvent;
import org.richfaces.event.DataFilterSliderListener;
@@ -139,7 +140,7 @@
// DataScroller may be a child of uiData
forComp = getParent();
} else {
- forComp = findComponent(forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
--- branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -21,12 +21,6 @@
package org.richfaces.component;
-import org.ajax4jsf.component.AjaxActionComponent;
-import org.ajax4jsf.renderkit.AjaxRendererUtils;
-import org.richfaces.event.DataScrollerEvent;
-import org.richfaces.event.DataScrollerListener;
-import org.richfaces.event.DataScrollerSource;
-
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
import javax.faces.component.UIComponent;
@@ -36,7 +30,14 @@
import javax.faces.event.AbortProcessingException;
import javax.faces.event.FacesEvent;
+import org.ajax4jsf.component.AjaxActionComponent;
+import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
+import org.richfaces.event.DataScrollerEvent;
+import org.richfaces.event.DataScrollerListener;
+import org.richfaces.event.DataScrollerSource;
+
/** JSF component class */
//xxxx nick -> alex - extend UIComponentBase and
//create event listener & event classes to define PageSwitchEvent
@@ -201,7 +202,7 @@
throw new FacesException(
"could not find dataTable for datascroller " + this.getId());
} else {
- forComp = findComponent(forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
===================================================================
--- branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -30,6 +30,7 @@
import org.ajax4jsf.javascript.DnDScript;
import org.ajax4jsf.javascript.PrototypeScript;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.richfaces.component.Draggable;
import org.richfaces.component.Dropzone;
import org.richfaces.event.DnDEvent;
@@ -143,7 +144,7 @@
if (indicatorId == null) {
String simpleId = draggable.getDragIndicator();
if (simpleId != null) {
- UIComponent indicator = component.findComponent(simpleId);
+ UIComponent indicator = RendererUtils.getInstance().findComponentFor(component, simpleId);
if (indicator != null) {
indicatorId = indicator.getClientId(context);
}
Modified: branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -46,8 +46,6 @@
private static final Log log = LogFactory.getLog(UIEffect.class);
- private static RendererUtils rendererUtils = new RendererUtils();
-
/**
* @return JavaScript eventString. Rebuild on every call, since
* can be in loop ( as in dataTable ) with different parameters.
@@ -61,7 +59,7 @@
UIComponent targetComponent=null;
if (!"".equals(targetId)) {
- targetComponent=rendererUtils.findComponentFor(FacesContext.getCurrentInstance(),this,targetId);
+ targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
}
if (targetComponent!=null) {
targetPart = "{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";
Modified: branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
--- branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -11,6 +11,7 @@
import org.ajax4jsf.javascript.JSEncoder;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.richfaces.component.UIEffect;
import org.richfaces.json.JSONTokener;
@@ -98,7 +99,7 @@
if ("id".equals(key)) {
Object value = x.nextValue();
- UIComponent component = effect.findComponent(value.toString());
+ UIComponent component = RendererUtils.getInstance().findComponentFor(effect, value.toString());
if (component != null) {
value = component.getClientId(context);
}
Modified: branches/3.1.x/ui/effect/src/main/templates/effect.jspx
===================================================================
--- branches/3.1.x/ui/effect/src/main/templates/effect.jspx 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/effect/src/main/templates/effect.jspx 2007-12-28 20:57:43 UTC (rev 5097)
@@ -25,7 +25,7 @@
String sid = (String) variables.getVariable("for");
variables.setVariable("attachObj","''");
if (! "".equals(sid)) {
- UIComponent forcomp = getUtils().findComponentFor(context, (UIComponent)component,sid);
+ UIComponent forcomp = getUtils().findComponentFor((UIComponent)component,sid);
if (forcomp != null) {
String cid= forcomp.getClientId(context);
variables.setVariable("forPart",
@@ -43,7 +43,7 @@
String tid = (String) variables.getVariable("targetId");
variables.setVariable("targetObj","''");
if (! "".equals(tid)) {
- UIComponent targetcomp = getUtils().findComponentFor(context, (UIComponent)component,tid);
+ UIComponent targetcomp = getUtils().findComponentFor(component,tid);
if (targetcomp != null) {
variables.setVariable("targetPart","{targetId:'"+targetcomp.getClientId(context)+"'}");
} else {
Modified: branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
--- branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -8,12 +8,12 @@
import javax.faces.application.FacesMessage;
import javax.faces.application.FacesMessage.Severity;
-import javax.faces.component.NamingContainer;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import org.ajax4jsf.renderkit.HeaderResourcesRendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.resource.InternetResource;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.logging.Log;
@@ -95,7 +95,8 @@
if(forClientId.length() != 0){
- UIComponent result = findForComponent(context, forClientId,component);
+ UIComponent result = RendererUtils.getInstance().
+ findComponentFor(component, forClientId);
if (result == null) {
msgIter = CollectionUtils.EMPTY_COLLECTION.iterator();
} else {
@@ -259,67 +260,6 @@
}
- protected UIComponent findForComponent(FacesContext context, String forClientId, UIComponent component) throws IOException{
-
- if(null == forClientId || forClientId.length() == 0){
- return null;
- }
-
- UIComponent result = null;
- UIComponent parent = component;
-
- while(parent != null){
- result = parent.findComponent(forClientId);
-
- if(result != null){
- break;
- }
- parent = parent.getParent();
- }
-
- if(result == null){
- result = findComponentBelow(context.getViewRoot(), forClientId);
- }
-
- if(result == null){
- if(log.isWarnEnabled()){
- log.warn(COMPONENT_NOT_FOUND_IN_VIEW_WARN_MESSAGE + ":"+ forClientId);
- }
- }
-
- return result;
- }
-
- protected UIComponent findComponentBelow(UIComponent startComponent, String forClientId){
-
- UIComponent retComp = null;
-
- if(startComponent.getChildCount() == 0){
- return null;
- }
-
- List children = startComponent.getChildren();
-
- for(int i = 0, size = children.size(); i < size; i++){
- UIComponent comp = (UIComponent) children.get(i);
-
- if(comp instanceof NamingContainer){
- retComp = comp.findComponent(forClientId);
- }
-
- if(retComp == null){
- if(comp.getChildCount() > 0){
- retComp = findComponentBelow(comp, forClientId);
- }
- }
-
- if(retComp != null)
- break;
- }
-
- return retComp;
- };
-
protected boolean isAcceptableMessage(FacesMessage message){
boolean accept = false;
Modified: branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
===================================================================
--- branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -21,39 +21,39 @@
package org.richfaces.renderkit.html;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Pattern;
+
+import javax.faces.FacesException;
+import javax.faces.component.NamingContainer;
+import javax.faces.component.UIColumn;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIData;
+import javax.faces.context.FacesContext;
+import javax.faces.context.ResponseWriter;
+
import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.javascript.JSFunction;
+import org.ajax4jsf.javascript.JSFunctionDefinition;
import org.ajax4jsf.renderkit.AjaxComponentRendererBase;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.RendererBase;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.ajax4jsf.renderkit.compiler.HtmlCompiler;
import org.ajax4jsf.renderkit.compiler.PreparedTemplate;
import org.ajax4jsf.renderkit.compiler.TemplateContext;
import org.ajax4jsf.resource.InternetResource;
import org.ajax4jsf.resource.TemplateCSSResource;
+import org.richfaces.component.AjaxSuggestionEvent;
+import org.richfaces.component.UISuggestionBox;
import org.richfaces.skin.Skin;
import org.richfaces.skin.SkinFactory;
-import org.ajax4jsf.javascript.JSFunction;
-import org.ajax4jsf.javascript.JSFunctionDefinition;
-import org.richfaces.component.AjaxSuggestionEvent;
-import org.richfaces.component.UISuggestionBox;
-import javax.faces.FacesException;
-import javax.faces.component.NamingContainer;
-import javax.faces.component.UIColumn;
-import javax.faces.component.UIComponent;
-import javax.faces.component.UIData;
-import javax.faces.context.FacesContext;
-import javax.faces.context.ResponseWriter;
-import javax.faces.el.MethodBinding;
-import javax.faces.event.FacesEvent;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Pattern;
-
/**
* Renderer for SuggestionBox component.
*/
@@ -272,8 +272,8 @@
String target = ((UISuggestionBox) component).getFor();
if (null != target) {
// Use parent since UIData - naming container
- UIComponent targetComponent = component.getParent().findComponent(
- target);
+ UIComponent targetComponent = RendererUtils.getInstance().
+ findComponentFor(component, target);
if (null != targetComponent) {
return targetComponent;
} else {
Modified: branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
--- branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -27,7 +27,6 @@
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
import javax.faces.component.UIComponent;
-import javax.faces.context.FacesContext;
import javax.faces.el.MethodBinding;
import javax.faces.el.ValueBinding;
@@ -82,7 +81,7 @@
if (null != target) {
- UIComponent targetComponent = control.findComponent(target);
+ UIComponent targetComponent = RendererUtils.getInstance().findComponentFor(control, target);
if (null != targetComponent) {
return (UITogglePanel)targetComponent;
} else {
@@ -145,7 +144,7 @@
} else {
//xxxx by nick - nick - potential compatibility break?
- panel = this.findComponent(panelId);
+ panel = RendererUtils.getInstance().findComponentFor(context, this, panelId);
if(panel == null) {
//xxx by nick - denis - please replace all RuntimeException with more concrete FacesException
throw new FacesException("Panel with id=" + panelId + " has not been found.");
Modified: branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
===================================================================
--- branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -131,8 +131,7 @@
} else {
// Server
//xxx by nick - denis - use org.ajax4jsf.renderkit.RendererUtils#getNestingForm(FacesContext, UIComponent)
- RendererUtils rendererUtils = new RendererUtils();
- UIForm Form= rendererUtils.getNestingForm(context, component);
+ UIForm Form= getUtils().getNestingForm(context, component);
String formId=null;
if (Form!=null){
formId = Form.getClientId(context);
Modified: branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
===================================================================
--- branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -135,18 +135,19 @@
}
- public Map buildEventOptions(FacesContext context, UIComponent component){
+ public Map buildEventOptions(FacesContext context, UIComponent component, String targetId){
Map eventOptions = AjaxRendererUtils.buildEventOptions(context, component);
+ String jsVarName = "Richfaces.tooltips[\'" + targetId + "\']";
//after element is subsituted in DOM tree, we have to re-create
//it's JS-reference, cause old one is already invalid
- String refreshTooltipInDOM = ";" + getJsVarName(context, component) + ".toolTip = $('" + component.getClientId(context) + "');" +
- ";" + getJsVarName(context, component) + ".toolTipContent = $('" + component.getClientId(context) + "content');";
+ String refreshTooltipInDOM = ";" + jsVarName + ".toolTip = $('" + component.getClientId(context) + "');" +
+ ";" + jsVarName + ".toolTipContent = $('" + component.getClientId(context) + "content');";
- String showNewToolTip = ";" + getJsVarName(context, component) + ".displayDiv();";
+ String showNewToolTip = ";" + jsVarName + ".displayDiv();";
// before element will be substituted in DOM tree, we need to hide toolTipe to avoid blinking
- String fireBeforeUpdateDOM = ";" + getJsVarName(context, component) + ".toolTip.style.display = 'none';";
+ String fireBeforeUpdateDOM = ";" + jsVarName + ".toolTip.style.display = 'none';";
//enable ajaxSingle mode, i.e. we do not need to submit all form controls to get tooltip content
@@ -204,10 +205,14 @@
writer.write(ret.toString());
}
+
+ private String getTargetId(FacesContext context, UIComponent component) {
+ return component.getParent().getClientId(context);
+ }
public String constructJSVariable(FacesContext context, UIComponent component) {
UIToolTip toolTip = (UIToolTip)component;
- String parentClientId = toolTip.getParent().getClientId(context);
+ String targetClientId = getTargetId(context, component);
StringBuffer ret = new StringBuffer();
String comma = ",";
String quot = "\"";
@@ -229,10 +234,10 @@
function.addParameter(ref);
String ajaxFunc = function.toScript();
- Map ajaxOptions = buildEventOptions(context, toolTip);
+ Map ajaxOptions = buildEventOptions(context, toolTip, targetClientId);
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(targetClientId).append(quot).append(comma).
append(quot).append(toolTip.getMode()).append(quot).append(comma).
append(toolTip.isDisabled()).append(comma).
append(quot).append(toolTip.getDirection()).append(quot).append(comma).
@@ -245,10 +250,6 @@
}
- private String getJsVarName(FacesContext context, UIComponent component){
- return "Richfaces.tooltips[\'" + component.getParent().getClientId(context) + "\']";
- }
-
protected void doDecode(FacesContext context, UIComponent component) {
UIToolTip tooltip = (UIToolTip)component;
Modified: branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -46,6 +46,7 @@
import org.ajax4jsf.model.ExtendedDataModel;
import org.ajax4jsf.model.Range;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.apache.commons.collections.iterators.SingletonIterator;
import org.richfaces.component.events.TreeEvents;
import org.richfaces.component.state.TreeState;
@@ -805,9 +806,9 @@
public String getResolvedDragIndicator(FacesContext facesContext) {
String dragIndicator = getDragIndicator();
- UIComponent parent = getParent();
- if (dragIndicator != null && parent != null) {
- UIComponent indicator = parent.findComponent(dragIndicator);
+ if (dragIndicator != null) {
+ UIComponent indicator = RendererUtils.getInstance().
+ findComponentFor(this, dragIndicator);
if (indicator != null) {
return indicator.getClientId(facesContext);
}
Modified: branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
===================================================================
--- branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-12-28 20:13:58 UTC (rev 5096)
+++ branches/3.1.x/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-12-28 20:57:43 UTC (rev 5097)
@@ -15,6 +15,7 @@
import org.ajax4jsf.component.AjaxComponent;
import org.ajax4jsf.event.AjaxEvent;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.richfaces.component.events.TreeEvents;
import org.richfaces.event.DragEvent;
import org.richfaces.event.DragListener;
@@ -356,13 +357,10 @@
UITree tree = getUITree();
if (tree != null) {
if (indicatorId != null) {
- //tree is naming container
- UIComponent parent = tree.getParent();
- if (parent != null) {
- UIComponent indicator = parent.findComponent(indicatorId);
- if (indicator != null) {
- return indicator.getClientId(facesContext);
- }
+ UIComponent indicator = RendererUtils.getInstance().
+ findComponentFor(this, indicatorId);
+ if (indicator != null) {
+ return indicator.getClientId(facesContext);
}
} else {
return tree.getResolvedDragIndicator(facesContext);
More information about the richfaces-svn-commits
mailing list