JBoss Rich Faces SVN: r3896 - trunk/ui/drag-drop/src/main/java/org/richfaces/component.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 21:56:22 -0500 (Sun, 11 Nov 2007)
New Revision: 3896
Modified:
trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDragSupport.java
trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDropSupport.java
Log:
http://jira.jboss.com/jira/browse/RF-1331
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDragSupport.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDragSupport.java 2007-11-12 00:45:24 UTC (rev 3895)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDragSupport.java 2007-11-12 02:56:22 UTC (rev 3896)
@@ -69,7 +69,6 @@
}
public void queueEvent(FacesEvent event) {
- super.queueEvent(event);
if (event instanceof DragEvent) {
if (isImmediate()) {
event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
@@ -77,6 +76,7 @@
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
}
}
+ super.queueEvent(event);
}
public String getResolvedDragIndicator(FacesContext facesContext) {
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDropSupport.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDropSupport.java 2007-11-12 00:45:24 UTC (rev 3895)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/component/UIDropSupport.java 2007-11-12 02:56:22 UTC (rev 3896)
@@ -69,7 +69,6 @@
}
public void queueEvent(FacesEvent event) {
- super.queueEvent(event);
if (event instanceof DropEvent) {
if (isImmediate()) {
event.setPhaseId(PhaseId.APPLY_REQUEST_VALUES);
@@ -77,5 +76,6 @@
event.setPhaseId(PhaseId.INVOKE_APPLICATION);
}
}
+ super.queueEvent(event);
}
}
18 years, 6 months
JBoss Rich Faces SVN: r3895 - in trunk: framework/impl/src/main/java/org/ajax4jsf/context and 14 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 19:45:24 -0500 (Sun, 11 Nov 2007)
New Revision: 3895
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
trunk/ui/effect/src/main/templates/effect.jspx
trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
Log:
http://jira.jboss.com/jira/browse/RF-1325
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/component/AjaxActionComponent.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -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: trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/context/AjaxContextImpl.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -59,6 +59,7 @@
import org.ajax4jsf.renderkit.AjaxContainerRenderer;
import org.ajax4jsf.renderkit.AjaxRendererUtils;
import org.ajax4jsf.renderkit.HeaderResourceProducer;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.ajax4jsf.webapp.BaseFilter;
import org.ajax4jsf.webapp.FilterServletResponseWrapper;
@@ -575,7 +576,7 @@
/**
* Test for relative id of target components. Attempt convert to absolute.
* For use as argument for
- * {@link UIComponent#findComponent(java.lang.String)}
+ * {@link RendererUtils#findComponentFor(UIComponent, String)}
*
* @param component
* @param id
@@ -589,7 +590,8 @@
throw new NullPointerException(
"Base component for search re-rendered compnnent is null");
}
- UIComponent target = findComponentFor(component, id);
+ UIComponent target = RendererUtils.getInstance().
+ findComponentFor(component, id);
if (null != target) {
return AjaxRendererUtils.getAbsoluteId(target);
}
@@ -598,52 +600,6 @@
}
/**
- * @param component
- * @param id
- * @return
- */
- private UIComponent findComponentFor(UIComponent component, String id) {
- UIComponent target = null;
- UIComponent parent = component;
- UIComponent root = component;
- while (null == target && null != parent) {
- target = parent.findComponent(id);
- root = parent;
- parent = parent.getParent();
- }
- if (null == target) {
- target = findUIComponentBelow(root, id);
- }
- return target;
- }
-
- private UIComponent findUIComponentBelow(UIComponent root, String id) {
-
- UIComponent target = null;
- for (Iterator iter = root.getFacetsAndChildren(); iter.hasNext();) {
- UIComponent child = (UIComponent) iter.next();
- if (child instanceof NamingContainer) {
- try {
- target = child.findComponent(id);
- } catch (IllegalArgumentException iae) {
- continue;
- }
- }
- if (target == null) {
- if (child.getChildCount() > 0) {
- target = findUIComponentBelow(child, id);
- }
- }
-
- if (target != null) {
- break;
- }
-
- }
- return target;
- }
-
- /**
* @return Returns the ajaxRenderedAreas.
*/
public Set getAjaxRenderedAreas() {
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/AjaxRendererUtils.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -285,7 +285,8 @@
if (null != ajaxAreas) {
for (Iterator iter = ajaxAreas.iterator(); iter.hasNext();) {
String id = (String) iter.next();
- UIComponent comp = uiComponent.findComponent(id);
+ UIComponent comp = RendererUtils.getInstance().
+ findComponentFor(uiComponent, id);
if (null != comp) {
areasIds.add(comp.getClientId(facesContext));
} else {
@@ -541,24 +542,9 @@
statusId = (String) component.getAttributes().get(STATUS_ATTR_NAME);
}
if (null != statusId) {
- UIComponent status = null;
- UIComponent currentParent = component;
- try {
- // Check the naming container of the current
- // component for component identified by
- // 'forComponent'
- while (currentParent != null) {
- // If the current component is a NamingContainer,
- // see if it contains what we're looking for.
- status = currentParent.findComponent(statusId);
- if (status != null)
- break;
- // if not, start checking further up in the view
- currentParent = currentParent.getParent();
- }
- } catch (Exception e) {
- // ignore - log the warning
- }
+ UIComponent status = RendererUtils.getInstance().
+ findComponentFor(component, statusId);
+
if (null != status) {
statusId = status
.getClientId(FacesContext.getCurrentInstance());
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -825,8 +825,8 @@
* @param id
* @return
*/
- public UIComponent findComponentFor(FacesContext context,
- UIComponent component, String id) {
+ public UIComponent findComponentFor(UIComponent component,
+ String id) {
UIComponent target = null;
UIComponent parent = component;
UIComponent root = component;
Modified: trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -65,7 +65,7 @@
while (matcher.find()) {
// make new id selector here using matcher.group(1)
- UIComponent target = RendererUtils.getInstance().findComponentFor(context, component, matcher.group(1));
+ UIComponent target = RendererUtils.getInstance().findComponentFor(component, matcher.group(1));
if (target != null) {
matcher.appendReplacement(sb, "#"
Modified: trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java
===================================================================
--- trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/core/src/main/java/org/ajax4jsf/component/UIAjaxStatus.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -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: trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
===================================================================
--- trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -140,7 +140,7 @@
// DataScroller may be a child of uiData
forComp = getParent();
} else {
- forComp = RendererUtils.getInstance().findComponentFor(getFacesContext(), this, forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
--- trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -202,7 +202,7 @@
throw new FacesException(
"could not find dataTable for datascroller " + this.getId());
} else {
- forComp = RendererUtils.getInstance().findComponentFor(getFacesContext(), this, forAttribute);
+ forComp = RendererUtils.getInstance().findComponentFor(this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -144,7 +144,7 @@
if (indicatorId == null) {
String simpleId = draggable.getDragIndicator();
if (simpleId != null) {
- UIComponent indicator = RendererUtils.getInstance().findComponentFor(context, component, simpleId);
+ UIComponent indicator = RendererUtils.getInstance().findComponentFor(component, simpleId);
if (indicator != null) {
indicatorId = indicator.getClientId(context);
}
Modified: trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -59,7 +59,7 @@
UIComponent targetComponent=null;
if (!"".equals(targetId)) {
- targetComponent=RendererUtils.getInstance().findComponentFor(FacesContext.getCurrentInstance(),this,targetId);
+ targetComponent=RendererUtils.getInstance().findComponentFor(this,targetId);
}
if (targetComponent!=null) {
targetPart = "{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";
Modified: trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
--- trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -99,7 +99,7 @@
if ("id".equals(key)) {
Object value = x.nextValue();
- UIComponent component = RendererUtils.getInstance().findComponentFor(context, effect, value.toString());
+ UIComponent component = RendererUtils.getInstance().findComponentFor(effect, value.toString());
if (component != null) {
value = component.getClientId(context);
}
Modified: trunk/ui/effect/src/main/templates/effect.jspx
===================================================================
--- trunk/ui/effect/src/main/templates/effect.jspx 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/effect/src/main/templates/effect.jspx 2007-11-12 00:45:24 UTC (rev 3895)
@@ -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: trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java
===================================================================
--- trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/message/src/main/java/org/richfaces/renderkit/RichMessageBaseRenderer.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -8,14 +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.component.UIMessage;
-import javax.faces.component.UIMessages;
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;
@@ -99,7 +97,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 {
@@ -263,67 +262,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: trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java
===================================================================
--- trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/suggestionbox/src/main/java/org/richfaces/renderkit/html/SuggestionBoxRenderer.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -21,37 +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 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.
*/
@@ -269,8 +271,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: trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
--- trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -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 = RendererUtils.getInstance().findComponentFor(FacesContext.getCurrentInstance(), control, target);
+ UIComponent targetComponent = RendererUtils.getInstance().findComponentFor(control, target);
if (null != targetComponent) {
return (UITogglePanel)targetComponent;
} else {
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-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -211,7 +211,7 @@
String forValue = toolTip.getFor();
if (forValue != null && forValue.length() != 0) {
- UIComponent targetComponent = getUtils().findComponentFor(context, component, forValue);
+ UIComponent targetComponent = getUtils().findComponentFor(component, forValue);
if (targetComponent != null) {
return targetComponent.getClientId(context);
} else {
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -44,6 +44,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;
@@ -818,9 +819,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: trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-11-12 00:36:36 UTC (rev 3894)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITreeNode.java 2007-11-12 00:45:24 UTC (rev 3895)
@@ -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);
18 years, 6 months
JBoss Rich Faces SVN: r3894 - trunk/framework/api/src/main/java/org/richfaces/model.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 19:36:36 -0500 (Sun, 11 Nov 2007)
New Revision: 3894
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/SwingCacheableTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/SwingTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java
Log:
http://jira.jboss.com/jira/browse/RF-864 final refactoring
Modified: trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -87,9 +87,9 @@
return false;
}
- public CacheableTreeDataModel(TreeDataModel<T> model) {
- super(model.getClazz(), model.getNodeAdaptor());
- setWrappedData(createDefaultNode());
+ public CacheableTreeDataModel(TreeDataModel<T> model, MissingNodeHandler<T> missingNodeHandler) {
+ super(model.getClazz(), model.getNodeAdaptor(), missingNodeHandler);
+ setWrappedData(missingNodeHandler.handleMissingNode(null, null));
setTreeDataModel(model);
}
@@ -134,5 +134,5 @@
}
protected abstract void setDefaultNodeData(T node, Object data);
-
+
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -32,23 +32,29 @@
public class ClassicCacheableTreeDataModel extends CacheableTreeDataModel<TreeNode> {
+ private static final MissingNodeHandler<TreeNode> missingNodeHandler = new MissingNodeHandler<TreeNode>() {
+
+ public TreeNode handleMissingNode(TreeNode parentNode,
+ Object pathSegment) {
+
+ TreeNode childNode = new TreeNodeImpl();
+
+ if (parentNode != null) {
+ parentNode.addChild(pathSegment, childNode);
+ }
+
+ return childNode;
+ }
+
+ };
+
public ClassicCacheableTreeDataModel(TreeDataModel<TreeNode> model) {
- super(model);
+ super(model, missingNodeHandler);
}
@Override
- protected TreeNode createDefaultNode() {
- return new TreeNodeImpl();
- }
-
- @Override
protected void setDefaultNodeData(TreeNode node, Object data) {
((TreeNodeImpl) node).setData(data);
}
- @Override
- protected void addChild(TreeNode parent, Object key, TreeNode node) {
- parent.addChild(key, node);
- }
-
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -33,7 +33,7 @@
public class ClassicTreeDataModel extends TreeDataModel<TreeNode> {
public ClassicTreeDataModel() {
- super(TreeNode.class, TreeDataModelNodeAdaptor.classicTreeNodeAdaptor);
+ super(TreeNode.class, TreeDataModelNodeAdaptor.classicTreeNodeAdaptor, null);
}
public TreeNode getTreeNode() {
@@ -44,15 +44,4 @@
throw new IllegalStateException(
"No tree element available or row key not set!");
}
-
- @Override
- protected void addChild(TreeNode parent, Object key, TreeNode node) {
- parent.addChild(key, node);
- }
-
- @Override
- protected TreeNode createDefaultNode() {
- throw new UnsupportedOperationException();
- }
-
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/SwingCacheableTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/SwingCacheableTreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/SwingCacheableTreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -34,27 +34,32 @@
public class SwingCacheableTreeDataModel extends CacheableTreeDataModel<TreeNode> {
+ private static final MissingNodeHandler<TreeNode> missingNodeHandler = new MissingNodeHandler<TreeNode>() {
+
+ public TreeNode handleMissingNode(TreeNode parent,
+ Object pathSegment) {
+
+ SwingTreeNodeImpl childNode = new SwingTreeNodeImpl();
+
+ if (parent != null) {
+ SwingTreeNodeImpl parentNode = (SwingTreeNodeImpl) parent;
+
+ parentNode.addChild(pathSegment, childNode);
+ childNode.setParent(parentNode);
+ }
+
+ return childNode;
+ }
+
+ };
+
public SwingCacheableTreeDataModel(TreeDataModel<TreeNode> model) {
- super(model);
+ super(model, missingNodeHandler);
}
@Override
- protected TreeNode createDefaultNode() {
- return new SwingTreeNodeImpl();
- }
-
- @Override
protected void setDefaultNodeData(TreeNode node, Object data) {
((SwingTreeNodeImpl) node).setData(data);
}
- @Override
- protected void addChild(TreeNode parent, Object key, TreeNode node) {
- SwingTreeNodeImpl parentNode = (SwingTreeNodeImpl) parent;
- SwingTreeNodeImpl childNode = (SwingTreeNodeImpl) node;
-
- parentNode.addChild(key, node);
- childNode.setParent(parentNode);
- }
-
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/SwingTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/SwingTreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/SwingTreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -40,7 +40,7 @@
private TreeNode treeNode;
public SwingTreeDataModel() {
- super(TreeNode.class, TreeDataModelNodeAdaptor.swingTreeNodeAdaptor);
+ super(TreeNode.class, TreeDataModelNodeAdaptor.swingTreeNodeAdaptor, null);
}
@Override
@@ -77,15 +77,4 @@
super.setWrappedData(data);
}
-
- @Override
- protected void addChild(TreeNode parent, Object key, TreeNode node) {
- throw new UnsupportedOperationException();
- }
-
- @Override
- protected TreeNode createDefaultNode() {
- throw new UnsupportedOperationException();
- }
-
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java 2007-11-11 22:43:50 UTC (rev 3893)
+++ trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java 2007-11-12 00:36:36 UTC (rev 3894)
@@ -36,7 +36,7 @@
* @author Nick Belaevski - nbelaevski(a)exadel.com created 16.11.2006
*
*/
-public abstract class TreeDataModel<T> extends AbstractTreeDataModel {
+public class TreeDataModel<T> extends AbstractTreeDataModel {
private Object wrappedData;
private Class<T> clazz;
@@ -50,9 +50,26 @@
protected final TreeDataModelNodeAdaptor<T> nodeAdaptor;
- public TreeDataModel(Class<T> clazz, TreeDataModelNodeAdaptor<T> nodeAdaptor) {
+ private MissingNodeHandler<T> missingNodeHandler;
+
+ /**
+ * Interface aimed to handle missing nodes for externally-generated keys.
+ * Typical usage for the interface is filling model cache
+ * @param <T> generic tree node type
+ *
+ * @author Nick Belaevski
+ * @since 3.2
+ */
+ public static interface MissingNodeHandler<T> {
+ T handleMissingNode(T parentNode, Object pathSegment);
+ };
+
+ public TreeDataModel(Class<T> clazz, TreeDataModelNodeAdaptor<T> nodeAdaptor,
+ MissingNodeHandler<T> missingNodeHandler) {
+
this.clazz = clazz;
this.nodeAdaptor = nodeAdaptor;
+ this.missingNodeHandler = missingNodeHandler;
}
public final Class<T> getClazz() {
@@ -207,8 +224,16 @@
//TODO nick - reset rowTreeData
return null;
} else {
- childRowTreeData = createDefaultNode();
- addChild(rowTreeData, pathSegment, childRowTreeData);
+ if (missingNodeHandler != null) {
+ childRowTreeData = missingNodeHandler.
+ handleMissingNode(rowTreeData, pathSegment);
+
+ if (childRowTreeData == null) {
+ return null;
+ }
+ } else {
+ return null;
+ }
}
}
@@ -287,8 +312,4 @@
return null;
}
- protected abstract T createDefaultNode();
-
- protected abstract void addChild(T parent, Object key, T node);
-
}
18 years, 6 months
JBoss Rich Faces SVN: r3893 - in trunk/sandbox/ui/orderingList/src/main: java/org/richfaces/component and 3 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 17:43:50 -0500 (Sun, 11 Nov 2007)
New Revision: 3893
Modified:
trunk/sandbox/ui/orderingList/src/main/config/component/orderinglist.xml
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
Log:
more features for orderingList implemented
Modified: trunk/sandbox/ui/orderingList/src/main/config/component/orderinglist.xml
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/config/component/orderinglist.xml 2007-11-11 22:43:38 UTC (rev 3892)
+++ trunk/sandbox/ui/orderingList/src/main/config/component/orderinglist.xml 2007-11-11 22:43:50 UTC (rev 3893)
@@ -162,9 +162,17 @@
<defaultvalue>true</defaultvalue>
</property>
+ <property>
+ <name>selection</name>
+ <description>Collection which stores a set of selected items</description>
+ </property>
+
<property hidden="true" el="false">
<name>submittedValue</name>
</property>
+ <property hidden="true" el="false" exist="true">
+ <name>submittedString</name>
+ </property>
<property hidden="true" el="false">
<name>localValueSet</name>
</property>
Modified: trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java 2007-11-11 22:43:38 UTC (rev 3892)
+++ trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/component/UIOrderingList.java 2007-11-11 22:43:50 UTC (rev 3893)
@@ -2,6 +2,7 @@
import java.lang.reflect.Array;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.Iterator;
@@ -11,7 +12,6 @@
import java.util.regex.Pattern;
import javax.faces.FacesException;
-import javax.faces.application.Application;
import javax.faces.application.FacesMessage;
import javax.faces.component.EditableValueHolder;
import javax.faces.component.UIColumn;
@@ -52,6 +52,16 @@
private boolean translatedRendering = false;
}
+ public static final class ValueHolder {
+ private Object value;
+
+ private Collection selection;
+ private boolean selectionSet;
+
+ private Object activeItem;
+ private boolean activeItemSet;
+ }
+
public static final class SubmittedValue {
private int[] permutationOrder;
private Set selectedItems = new HashSet();
@@ -75,9 +85,9 @@
for (int j = 0; j < group.length(); j++) {
char c = group.charAt(j);
if ('s' == c) {
- selectedItems.add(new Integer(i));
+ selectedItems.add(new Integer(permutationOrder[i]));
} else if ('a' == c) {
- activeItem = i;
+ activeItem = permutationOrder[i];
} else {
break ;
}
@@ -115,13 +125,11 @@
}
- public static final Predicate isColumn = new ColumnPredicate();
-
- private static final class ColumnPredicate implements Predicate {
+ public static final Predicate isColumn = new Predicate() {
public boolean evaluate(Object input) {
return (input instanceof UIColumn || input instanceof Column);
}
- }
+ };
protected DataComponentState createComponentState() {
return new RepeatState();
@@ -174,6 +182,12 @@
private Object value;
private boolean localValueSet;
+ private Collection selection;
+ private boolean localSelectionSet;
+
+ private Object activeItem;
+ private boolean localActiveItemSet;
+
private transient SubmittedValue submittedValueHolder = null;
private transient EditableState editableState = new EditableState();
@@ -182,18 +196,32 @@
super.restoreState(faces, state[0]);
validators = (List) restoreAttachedState(faces, state[1]);
validator = (MethodBinding) restoreAttachedState(faces, state[2]);
+
value = state[3];
localValueSet = ((Boolean) state[4]).booleanValue();
+
+ selection = (Collection) state[5];
+ localSelectionSet = ((Boolean) state[6]).booleanValue();
+
+ activeItem = state[7];
+ localActiveItemSet = ((Boolean) state[8]).booleanValue();
}
public Object saveState(FacesContext faces) {
- Object[] state = new Object[5];
+ Object[] state = new Object[9];
state[0] = super.saveState(faces);
state[1] = saveAttachedState(faces, validators);
state[2] = saveAttachedState(faces, validator);
+
state[3] = value;
state[4] = localValueSet ? Boolean.TRUE : Boolean.FALSE;
+ state[5] = selection;
+ state[6] = localSelectionSet ? Boolean.TRUE : Boolean.FALSE;
+
+ state[7] = activeItem;
+ state[8] = localActiveItemSet ? Boolean.TRUE : Boolean.FALSE;
+
return state;
}
@@ -256,18 +284,18 @@
}
- public Object getSubmittedValueAsString() {
- return submittedValueHolder;
+ public String getSubmittedString() {
+ return submittedValueHolder != null ? submittedValueHolder.toString() : "";
}
+ public void setSubmittedString(String submittedString) {
+ this.submittedValueHolder = new SubmittedValue(submittedString);
+ }
+
public Object getSubmittedValue() {
return new Object[] { submittedValueHolder, editableState };
}
- public void setSubmittedString(String submittedString) {
- this.submittedValueHolder = new SubmittedValue(submittedString);
- }
-
public void setSubmittedValue(Object submittedValue) {
if (submittedValue != null) {
Object[] values = (Object[]) submittedValue;
@@ -297,13 +325,33 @@
public Object getLocalValue() {
- return value;
+ ValueHolder holder = new ValueHolder();
+ holder.value = value;
+
+ holder.selection = selection;
+ holder.selectionSet = localSelectionSet;
+
+ holder.activeItem = activeItem;
+ holder.activeItemSet = localActiveItemSet;
+ return holder;
}
public void setValue(Object value) {
- super.setValue(value);
- this.value = value;
- setLocalValueSet(true);
+ if (value instanceof ValueHolder) {
+ ValueHolder holder = (ValueHolder) value;
+
+ setValue(holder.value);
+
+ this.selection = holder.selection;
+ this.localSelectionSet = holder.selectionSet;
+
+ this.activeItem = holder.activeItem;
+ this.localActiveItemSet = holder.activeItemSet;
+ } else {
+ super.setValue(value);
+ this.value = value;
+ setLocalValueSet(true);
+ }
}
public Object getValue() {
@@ -457,8 +505,97 @@
}
}
+
+ private interface UpdateModelCommand {
+ public void execute(FacesContext context);
+ }
+ private final UpdateModelCommand updateValueCommand = new UpdateModelCommand() {
+ public void execute(FacesContext context) {
+ if (isLocalValueSet()) {
+ ValueBinding vb = getValueBinding("value");
+ if (vb != null) {
+ ValueHolder localValue = (ValueHolder) getLocalValue();
+ vb.setValue(context, localValue.value);
+ setValue(null);
+ setLocalValueSet(false);
+ }
+ }
+ }
+
+ };
+
+ private final UpdateModelCommand updateSelectionCommand = new UpdateModelCommand() {
+
+ public void execute(FacesContext context) {
+ ValueHolder localValue = (ValueHolder) getLocalValue();
+ if (localValue.selectionSet) {
+ ValueBinding vb = getValueBinding("selection");
+ if (vb != null) {
+ vb.setValue(context, localValue.selection);
+ localValue.selection = null;
+ localValue.selectionSet = false;
+ }
+ }
+ }
+
+ };
+
+ private final UpdateModelCommand updateActiveItemCommand = new UpdateModelCommand() {
+
+ public void execute(FacesContext context) {
+ ValueHolder localValue = (ValueHolder) getLocalValue();
+ if (localValue.activeItemSet) {
+ ValueBinding vb = getValueBinding("activeItem");
+ if (vb != null) {
+ vb.setValue(context, localValue.activeItem);
+ localValue.activeItem = null;
+ localValue.activeItemSet = false;
+ }
+ }
+ }
+
+ };
+
+ private void updateModel(FacesContext context, UpdateModelCommand command) {
+ try {
+ command.execute(context);
+ } catch (EvaluationException e) {
+ String messageStr = e.getMessage();
+ FacesMessage message = null;
+ if (null == messageStr) {
+ message =
+ MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ }
+ else {
+ message = new FacesMessage(messageStr);
+ }
+ message.setSeverity(FacesMessage.SEVERITY_ERROR);
+ context.addMessage(getClientId(context), message);
+ setValid(false);
+ }
+ catch (FacesException e) {
+ FacesMessage message =
+ MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ message.setSeverity(FacesMessage.SEVERITY_ERROR);
+ context.addMessage(getClientId(context), message);
+ setValid(false);
+ } catch (IllegalArgumentException e) {
+ FacesMessage message =
+ MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ message.setSeverity(FacesMessage.SEVERITY_ERROR);
+ context.addMessage(getClientId(context), message);
+ setValid(false);
+ } catch (Exception e) {
+ FacesMessage message =
+ MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
+ message.setSeverity(FacesMessage.SEVERITY_ERROR);
+ context.addMessage(getClientId(context), message);
+ setValid(false);
+ }
+ }
+
/**
* <p>Perform the following algorithm to update the model data
* associated with this {@link UIInput}, if any, as appropriate.</p>
@@ -497,51 +634,13 @@
throw new NullPointerException();
}
- if (!isValid() || !isLocalValueSet()) {
+ if (!isValid()) {
return;
}
- ValueBinding vb = getValueBinding("value");
- if (vb != null) {
- try {
- vb.setValue(context, getLocalValue());
- setValue(null);
- setLocalValueSet(false);
- return;
- } catch (EvaluationException e) {
- String messageStr = e.getMessage();
- FacesMessage message = null;
- if (null == messageStr) {
- message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
- }
- else {
- message = new FacesMessage(messageStr);
- }
- message.setSeverity(FacesMessage.SEVERITY_ERROR);
- context.addMessage(getClientId(context), message);
- setValid(false);
- }
- catch (FacesException e) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
- message.setSeverity(FacesMessage.SEVERITY_ERROR);
- context.addMessage(getClientId(context), message);
- setValid(false);
- } catch (IllegalArgumentException e) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
- message.setSeverity(FacesMessage.SEVERITY_ERROR);
- context.addMessage(getClientId(context), message);
- setValid(false);
- } catch (Exception e) {
- FacesMessage message =
- MessageFactory.getMessage(context, UIInput.CONVERSION_MESSAGE_ID);
- message.setSeverity(FacesMessage.SEVERITY_ERROR);
- context.addMessage(getClientId(context), message);
- setValid(false);
- }
- }
+ updateModel(context, updateValueCommand);
+ updateModel(context, updateSelectionCommand);
+ updateModel(context, updateActiveItemCommand);
}
@@ -590,8 +689,7 @@
// Submitted value == null means "the component was not submitted
// at all"; validation should not continue
- Object submittedValue = getSubmittedValue();
- if (submittedValue == null) {
+ if (submittedValueHolder == null) {
return;
}
@@ -601,6 +699,7 @@
newValue = getConvertedValue();
}
catch (ConverterException ce) {
+ Object submittedValue = submittedValueHolder;
addConversionErrorMessage(context, ce, submittedValue);
setValid(false);
}
@@ -610,16 +709,36 @@
// If our value is valid, store the new value, erase the
// "submitted" value, and emit a ValueChangeEvent if appropriate
if (isValid()) {
+ Set selectionSet = new HashSet();
+ ExtendedDataModel dataModel = getExtendedDataModel();
+ Set selectedItems = submittedValueHolder.selectedItems;
+ for (Iterator iterator = selectedItems.iterator(); iterator
+ .hasNext();) {
+ dataModel.setRowKey(iterator.next());
+ Object selectionItem = dataModel.getRowData();
+
+ selectionSet.add(selectionItem);
+ }
+
+ this.selection = selectionSet;
+ this.localSelectionSet = true;
+
+ dataModel.setRowIndex(new Integer(submittedValueHolder.activeItem));
+ Object activeItem = dataModel.getRowData();
+
+ this.activeItem = activeItem;
+ this.localActiveItemSet = true;
+
Object previous = getValue();
setValue(newValue);
- this.submittedValueHolder = null;
this.editableState.isTranslated = true;
//setSubmittedValue(null);
if (compareValues(previous, newValue)) {
queueEvent(new ValueChangeEvent(this, previous, newValue));
}
+
+ this.submittedValueHolder = null;
}
-
}
protected Object getConvertedValue() throws ConverterException {
@@ -812,36 +931,6 @@
}
- private Converter getConverterWithType(FacesContext context) {
- Converter converter = getConverter();
- if (converter != null) {
- return converter;
- }
-
- ValueBinding valueBinding = getValueBinding("value");
- if (valueBinding == null) {
- return null;
- }
-
- Class converterType = valueBinding.getType(context);
- // if converterType is null, String, or Object, assume
- // no conversion is needed
- if (converterType == null ||
- converterType == String.class ||
- converterType == Object.class) {
- return null;
- }
-
- // if getType returns a type for which we support a default
- // conversion, acquire an appropriate converter instance.
- try {
- Application application = context.getApplication();
- return application.createConverter(converterType);
- } catch (Exception e) {
- return (null);
- }
- }
-
private void addConversionErrorMessage(FacesContext context,
ConverterException ce, Object value) {
FacesMessage message = ce.getFacesMessage();
@@ -869,6 +958,17 @@
return ScriptUtils.toScript(order);
}
+ public boolean isActiveItem() {
+ return activeItem != null && activeItem.equals(getRowData());
+ }
+
+ public boolean isSelected() {
+ return selection != null && selection.contains(getRowData());
+ }
+
+ public abstract Collection getSelection();
+ public abstract void setSelection(Collection collection);
+
public abstract boolean isOrderControlsVisible();
public abstract void setOrderControlsVisible(boolean visible);
Modified: trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-11 22:43:38 UTC (rev 3892)
+++ trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-11 22:43:50 UTC (rev 3893)
@@ -12,7 +12,6 @@
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
-import org.ajax4jsf.component.UIDataAdaptor;
import org.ajax4jsf.renderkit.RendererUtils.HTML;
import org.apache.commons.collections.Predicate;
import org.apache.commons.collections.iterators.FilterIterator;
@@ -142,7 +141,7 @@
}
},
- new ControlsHelper("down", "↡", OrderingListIconDown.class.getName(), FACET_DOWN,
+ new ControlsHelper("down", "↓", OrderingListIconDown.class.getName(), FACET_DOWN,
"rich-ordering-control-down", CONTROL_ID_DOWN, ATTRIBUTE_CE_ONDOWNCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
@@ -150,7 +149,7 @@
}
},
- new ControlsHelper("botton", "↓", OrderingListIconBottom.class.getName(), FACET_BOTTOM,
+ new ControlsHelper("botton", "↡", OrderingListIconBottom.class.getName(), FACET_BOTTOM,
"rich-ordering-control-bottom", CONTROL_ID_BOTTOM, ATTRIBUTE_CE_ONBOTTOMCLICK) {
public boolean isRendered(FacesContext context, UIOrderingList list) {
@@ -333,10 +332,22 @@
public void encodeOneRow(FacesContext context, TableHolder holder)
throws IOException {
ResponseWriter writer = context.getResponseWriter();
- UIDataAdaptor table = holder.getTable();
+ UIOrderingList table = (UIOrderingList) holder.getTable();
String clientId = holder.getTable().getClientId(context);
writer.startElement(HTML.TR_ELEMENT, table);
writer.writeAttribute("id", clientId, null);
+
+ String className = null;
+ if (table.isActiveItem()) {
+ className = "ol_active rich-ordering-list-row-active";
+ } else if (table.isSelected()) {
+ className = "ol_select rich-ordering-list-row-selected";
+ } else {
+ className = "ol_normal rich-ordering-list-row";
+ }
+
+ writer.writeAttribute("class", className, null);
+
List<UIComponent> children = table.getChildren();
for (UIComponent component : children) {
if (component instanceof UIColumn && component.isRendered()) {
Modified: trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-11 22:43:38 UTC (rev 3892)
+++ trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-11 22:43:50 UTC (rev 3893)
@@ -68,6 +68,13 @@
Shuttle.SELECTION_MARKER = "s";
Shuttle.ITEM_SEPARATOR = ",";
+Shuttle.HANDLERS = {
+ first: function (e) { this.moveSelectedItems("first", e);return false; },
+ last: function (e) { this.moveSelectedItems("last", e);return false; },
+ up: function (e) { this.moveSelectedItems("up", e);return false; },
+ down: function (e) { this.moveSelectedItems("down", e);return false; }
+};
+
Shuttle.prototype.init = function(containerId, contentTableId, headerTableId, ids, onclickControlId, focusKeeperId) {
var obj = this;
Shuttle.setFocus(focusKeeperId);
@@ -76,7 +83,7 @@
var node = document.getElementById(containerId + id[0]);
var disNode = document.getElementById(containerId + id[1]);
if (node && disNode) {
- Shuttle.addClickListener(node, function(e) {obj.moveSelectedItems(id[0], e);return false;});
+ Shuttle.addClickListener(node, Shuttle.HANDLERS[id[0]].bindAsEventListener(this));
this.controlList[i] = new Control(node, disNode, false, false, id[0]);
}
}
Modified: trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-11 22:43:38 UTC (rev 3892)
+++ trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-11 22:43:50 UTC (rev 3893)
@@ -12,6 +12,7 @@
<h:styles>css/orderingList.xcss</h:styles>
<h:scripts>
+ new org.ajax4jsf.javascript.PrototypeScript(),
scripts/SelectItem.js,
scripts/LayoutManager.js
scripts/Control.js,
@@ -22,7 +23,7 @@
<div id="#{clientId}" x:passThruWithExclusions="id">
<input id="#{clientId}focusKeeper" type="button" value="" style="width: 1px; position: absolute; left: -32767px;" name="focusKeeper"/>
- <input id="#{clientId}valueKeeper" type="hidden" name="#{clientId}" value="#{component.submittedValueAsString}"/>
+ <input id="#{clientId}valueKeeper" type="hidden" name="#{clientId}" value="#{component.submittedString}"/>
<table id="#{clientId}table" cellpadding="0" cellspacing="0" class="ol_body">
<tbody>
18 years, 6 months
JBoss Rich Faces SVN: r3892 - in trunk/sandbox/samples/orderingListDemo/src/main: webapp/pages and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 17:43:38 -0500 (Sun, 11 Nov 2007)
New Revision: 3892
Modified:
trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java
trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/OrderingListDemoBean.java
trunk/sandbox/samples/orderingListDemo/src/main/webapp/pages/index.jsp
Log:
more features for orderingList implemented
Modified: trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java
===================================================================
--- trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java 2007-11-11 16:52:54 UTC (rev 3891)
+++ trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/Bean.java 2007-11-11 22:43:38 UTC (rev 3892)
@@ -24,6 +24,16 @@
import java.util.ArrayList;
import java.util.List;
+import javax.faces.component.UIComponent;
+import javax.faces.component.UIOutput;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.FacesListener;
+import javax.faces.event.PhaseId;
+
+import org.richfaces.component.UIOrderingList;
+
/**
* @author $Autor$
*
@@ -34,6 +44,97 @@
"First", "Second", "Third", "Fourth"
};
+ public static final class UIEventsOutput extends UIOutput {
+ final class Event extends FacesEvent {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -1390611902280951049L;
+
+ private Object value;
+
+ private String clientId;
+
+ public Event(UIComponent component, Object value, String clientId, PhaseId phaseId) {
+ super(component);
+
+ this.value = value;
+ this.clientId = clientId;
+
+ setPhaseId(phaseId);
+ }
+
+ public boolean isAppropriateListener(FacesListener listener) {
+ return false;
+ }
+
+ public void processListener(FacesListener listener) {
+ throw new UnsupportedOperationException();
+ }
+
+ public Object getValue() {
+ return value;
+ }
+
+ public String getClientId() {
+ return clientId;
+ }
+ }
+
+ private UIOrderingList getList() {
+ UIComponent component = getParent();
+ while (component != null && !(component instanceof UIOrderingList)) {
+ component = component.getParent();
+ }
+
+ return (UIOrderingList) component;
+ }
+
+ private void queueEvent(PhaseId phaseId) {
+ new Event(this, getList().getRowData(),
+ getList().getClientId(FacesContext.getCurrentInstance()), phaseId).queue();
+ }
+
+ public void processDecodes(FacesContext context) {
+ super.processDecodes(context);
+
+ queueEvent(PhaseId.PROCESS_VALIDATIONS);
+ queueEvent(PhaseId.UPDATE_MODEL_VALUES);
+ queueEvent(PhaseId.INVOKE_APPLICATION);
+ }
+
+ public void processUpdates(FacesContext context) {
+ super.processUpdates(context);
+
+ queueEvent(PhaseId.INVOKE_APPLICATION);
+ }
+
+ public void processValidators(FacesContext context) {
+ super.processValidators(context);
+
+ queueEvent(PhaseId.UPDATE_MODEL_VALUES);
+ queueEvent(PhaseId.INVOKE_APPLICATION);
+ }
+
+ public void broadcast(FacesEvent event)
+ throws AbortProcessingException {
+ if (event instanceof Event) {
+ String cid = getList().getClientId(FacesContext.getCurrentInstance());
+ if (!cid.equals(((Event) event).getClientId())) {
+ System.out.println(cid + " !!! " + ((Event) event).getClientId());
+ }
+
+ Object rd = getList().getRowData();
+ if (!rd.equals(((Event) event).getValue())) {
+ System.out.println(rd + " !!! " + ((Event) event).getValue());
+ }
+ } else {
+ super.broadcast(event);
+ }
+ }
+ }
+
public Bean() {
for (int i = 0; i < 3; i++) {
lists.add(new OrderingListDemoBean());
@@ -55,4 +156,26 @@
public void setSimpleItems(String[] simpleItems) {
this.simpleItems = simpleItems;
}
+
+ private UIComponent eventsBouncer;
+
+ public UIComponent getEventsBouncer() {
+ if (eventsBouncer == null) {
+ FacesContext facesContext = FacesContext.getCurrentInstance();
+ UIComponent output = facesContext.getApplication().createComponent(UIOutput.COMPONENT_TYPE);
+ UIOutput o = new UIEventsOutput();
+
+ o.getAttributes().put("escape", Boolean.FALSE);
+ output.getChildren().add(o);
+
+ eventsBouncer = output;
+ }
+
+ return eventsBouncer;
+ }
+
+ public void setEventsBouncer(UIComponent component) {
+ this.eventsBouncer = component;
+ }
+
}
\ No newline at end of file
Modified: trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/OrderingListDemoBean.java
===================================================================
--- trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/OrderingListDemoBean.java 2007-11-11 16:52:54 UTC (rev 3891)
+++ trunk/sandbox/samples/orderingListDemo/src/main/java/org/richfaces/OrderingListDemoBean.java 2007-11-11 22:43:38 UTC (rev 3892)
@@ -103,4 +103,5 @@
this.onbottomclick = onbottomclick;
}
+
}
Modified: trunk/sandbox/samples/orderingListDemo/src/main/webapp/pages/index.jsp
===================================================================
--- trunk/sandbox/samples/orderingListDemo/src/main/webapp/pages/index.jsp 2007-11-11 16:52:54 UTC (rev 3891)
+++ trunk/sandbox/samples/orderingListDemo/src/main/webapp/pages/index.jsp 2007-11-11 22:43:38 UTC (rev 3892)
@@ -35,12 +35,7 @@
orderControlsVisible="#{demoBean.orderControlsVisible}"
fastOrderControlsVisible="#{demoBean.fastOrderControlsVisible}"
- ontopclick="#{demoBean.ontopclick}"
- onbottomclick="#{demoBean.onbottomclick}"
- onorderchanged="alert('onorderchanged');"
- ondownclick="alert('ondownclick');"
- onheaderclick="alert('onheaderclick');"
- onupclick="alert('onupclick');" >
+ >
<h:column>
<f:facet name="header">
@@ -66,6 +61,9 @@
<h:outputText value="Server Action" />
</f:facet>
<h:commandLink value="Server Action" action="#{item.action}" />
+ </h:column>
+ <h:column>
+ <h:outputText binding="#{bean.eventsBouncer}"></h:outputText>
</h:column>
</ol:orderingList>
18 years, 6 months
JBoss Rich Faces SVN: r3891 - trunk.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-11 11:52:54 -0500 (Sun, 11 Nov 2007)
New Revision: 3891
Removed:
trunk/third/
Log:
garbage directory removed
18 years, 6 months
JBoss Rich Faces SVN: r3890 - in trunk/ui: datascroller/src/main/java/org/richfaces/component and 6 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-09 21:10:07 -0500 (Fri, 09 Nov 2007)
New Revision: 3890
Modified:
trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java
Log:
http://jira.jboss.com/jira/browse/RF-1325
Modified: trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java
===================================================================
--- trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/dataFilterSlider/src/main/java/org/richfaces/component/UIDataFltrSlider.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -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(getFacesContext(), this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java
===================================================================
--- trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/datascroller/src/main/java/org/richfaces/component/UIDatascroller.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -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.el.MethodExpression;
import javax.faces.FacesException;
import javax.faces.component.ActionSource;
@@ -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(getFacesContext(), this, forAttribute);
}
if (forComp == null) {
throw new IllegalArgumentException("could not find dataTable with id '"
Modified: trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java
===================================================================
--- trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/drag-drop/src/main/java/org/richfaces/renderkit/DraggableRendererContributor.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -31,6 +31,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.DragEvent;
@@ -143,7 +144,7 @@
if (indicatorId == null) {
String simpleId = draggable.getDragIndicator();
if (simpleId != null) {
- UIComponent indicator = component.findComponent(simpleId);
+ UIComponent indicator = RendererUtils.getInstance().findComponentFor(context, component, simpleId);
if (indicator != null) {
indicatorId = indicator.getClientId(context);
}
Modified: trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java
===================================================================
--- trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/effect/src/main/java/org/richfaces/component/UIEffect.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -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(FacesContext.getCurrentInstance(),this,targetId);
}
if (targetComponent!=null) {
targetPart = "{targetId:'"+targetComponent.getClientId(FacesContext.getCurrentInstance())+"'}";
Modified: trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java
===================================================================
--- trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/effect/src/main/java/org/richfaces/renderkit/EffectRendererBase.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -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(context, effect, value.toString());
if (component != null) {
value = component.getClientId(context);
}
Modified: trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java
===================================================================
--- trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/togglePanel/src/main/java/org/richfaces/component/UIToggleControl.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -82,7 +82,7 @@
if (null != target) {
- UIComponent targetComponent = control.findComponent(target);
+ UIComponent targetComponent = RendererUtils.getInstance().findComponentFor(FacesContext.getCurrentInstance(), control, target);
if (null != targetComponent) {
return (UITogglePanel)targetComponent;
} else {
@@ -145,7 +145,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: trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java
===================================================================
--- trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2007-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/togglePanel/src/main/java/org/richfaces/renderkit/html/ToggleControlRenderer.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -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: 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-11-10 02:07:29 UTC (rev 3889)
+++ trunk/ui/tooltip/src/main/java/org/richfaces/renderkit/html/ToolTipRenderer.java 2007-11-10 02:10:07 UTC (rev 3890)
@@ -211,7 +211,7 @@
String forValue = toolTip.getFor();
if (forValue != null && forValue.length() != 0) {
- UIComponent targetComponent = component.findComponent(forValue);
+ UIComponent targetComponent = getUtils().findComponentFor(context, component, forValue);
if (targetComponent != null) {
return targetComponent.getClientId(context);
} else {
18 years, 6 months
JBoss Rich Faces SVN: r3889 - in trunk/framework/impl/src/main/java/org: richfaces/component/util and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: nbelaevski
Date: 2007-11-09 21:07:29 -0500 (Fri, 09 Nov 2007)
New Revision: 3889
Modified:
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
trunk/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
Log:
http://jira.jboss.com/jira/browse/RF-1325
Modified: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java 2007-11-09 22:16:36 UTC (rev 3888)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererBase.java 2007-11-10 02:07:29 UTC (rev 3889)
@@ -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: trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java
===================================================================
--- trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-09 22:16:36 UTC (rev 3888)
+++ trunk/framework/impl/src/main/java/org/ajax4jsf/renderkit/RendererUtils.java 2007-11-10 02:07:29 UTC (rev 3889)
@@ -55,7 +55,10 @@
*
*/
public class 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.
@@ -69,7 +72,21 @@
Arrays.sort(HTML.PASS_THRU_URI);
}
+ //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.
*
* @author asmirnov(a)exadel.com (latest modification by $Author: alexsmirnov $)
@@ -848,5 +865,4 @@
}
return target;
}
-
}
\ No newline at end of file
Modified: trunk/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java 2007-11-09 22:16:36 UTC (rev 3888)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/util/FormUtil.java 2007-11-10 02:07:29 UTC (rev 3889)
@@ -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: trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java
===================================================================
--- trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-09 22:16:36 UTC (rev 3888)
+++ trunk/framework/impl/src/main/java/org/richfaces/component/util/HtmlUtil.java 2007-11-10 02:07:29 UTC (rev 3889)
@@ -27,6 +27,7 @@
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
+import org.ajax4jsf.renderkit.RendererUtils;
import org.ajax4jsf.util.HtmlDimensions;
/**
@@ -64,7 +65,7 @@
while (matcher.find()) {
// make new id selector here using matcher.group(1)
- UIComponent target = component.findComponent(matcher.group(1));
+ UIComponent target = RendererUtils.getInstance().findComponentFor(context, component, matcher.group(1));
if (target != null) {
matcher.appendReplacement(sb, "#"
18 years, 6 months
JBoss Rich Faces SVN: r3888 - in trunk/sandbox/ui/orderingList/src/main: resources/org/richfaces/renderkit/html/css and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: vmolotkov
Date: 2007-11-09 17:16:36 -0500 (Fri, 09 Nov 2007)
New Revision: 3888
Added:
trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/Control.js
Modified:
trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/css/orderingList.xcss
trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
Log:
control list manager was added
Modified: trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-09 20:59:54 UTC (rev 3887)
+++ trunk/sandbox/ui/orderingList/src/main/java/org/richfaces/renderkit/OrderingListRendererBase.java 2007-11-09 22:16:36 UTC (rev 3888)
@@ -63,13 +63,13 @@
private final static String ATTRIBUTE_CAPTION_LABEL = "captionLabel";
- private final static String CONTROL_ID_UP = "_up";
+ private final static String CONTROL_ID_UP = "up";
- private final static String CONTROL_ID_DOWN = "_down";
+ private final static String CONTROL_ID_DOWN = "down";
- private final static String CONTROL_ID_TOP = "_top";
+ private final static String CONTROL_ID_TOP = "first";
- private final static String CONTROL_ID_BOTTOM = "_bottom";
+ private final static String CONTROL_ID_BOTTOM = "last";
protected static abstract class ControlsHelper {
private String name;
Modified: trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/css/orderingList.xcss
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/css/orderingList.xcss 2007-11-09 20:59:54 UTC (rev 3887)
+++ trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/css/orderingList.xcss 2007-11-09 22:16:36 UTC (rev 3888)
@@ -120,6 +120,13 @@
.ol_internal_tab tr.ol_normal {
}
+.ol_control_shown {
+ visibility: hidden;
+}
+.ol_control_shown {
+ visibity: visible;
+}
+
.body {
-moz-user-select: none;
}
Added: trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/Control.js
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/Control.js (rev 0)
+++ trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/Control.js 2007-11-09 22:16:36 UTC (rev 3888)
@@ -0,0 +1,55 @@
+Control = function(eNode, dNode, isShown, isEnabled, action) {
+ this.disabledNode = dNode;
+ this.enabledNode = eNode
+ this.isShown = isShown;
+ this.isEnabled = isEnabled;
+ this.action = action;
+ this.isEnabled ? this.doEnable() : this.doDisable();
+ this.isShown ? this.doShow() : this.doHide();
+}
+
+Control.CLASSES = {
+ first : {hidden : "ol_control_hidden", shown : "ol_control_shown", disabled : "", enabled : ""},
+ down : {hidden : "ol_control_hidden", shown : "ol_control_shown", disabled : "", enabled : ""},
+ up : {hidden : "ol_control_hidden", shown : "ol_control_shown", disabled : "", enabled : ""},
+ last : {hidden : "ol_control_hidden", shown : "ol_control_shown", disabled : "", enabled : ""}
+};
+
+Control.prototype.doShow = function() {
+ this.isShown = true;
+ if (this.isEnabled) {
+ this.doHideNode(this.disabledNode);
+ this.doShowNode(this.enabledNode);
+ } else {
+ this.doHideNode(this.enabledNode);
+ this.doShowNode(this.disabledNode);
+ }
+}
+
+Control.prototype.doHide = function() {
+ this.isShown = false;
+ this.doHideNode(this.disabledNode);
+ this.doHideNode(this.enabledNode);
+}
+
+Control.prototype.doEnable = function() {
+ this.isEnabled = true;
+ this.doHideNode(this.disabledNode);
+ this.doShowNode(this.enabledNode);
+}
+
+Control.prototype.doDisable = function() {
+ this.isEnabled = false;
+ this.doHideNode(this.enabledNode);
+ this.doShowNode(this.disabledNode);
+}
+
+Control.prototype.doHideNode = function(node) {
+ node.className = Control.CLASSES[this.action].hidden;
+}
+
+Control.prototype.doShowNode = function(node) {
+ node.className = Control.CLASSES[this.action].shown;
+}
+
+
Modified: trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-09 20:59:54 UTC (rev 3887)
+++ trunk/sandbox/ui/orderingList/src/main/resources/org/richfaces/renderkit/html/scripts/OrderingList.js 2007-11-09 22:16:36 UTC (rev 3888)
@@ -19,7 +19,7 @@
}
Shuttle = function(containerId, contentTableId, headerTableId, focusKeeperId, valueKeeperId,
- upControlIdPr, downControlIdPr, firstControlIdPr, lastControlIdPr, onclickControlId) {
+ controlsId, onclickControlId) {
this.container = document.getElementById(containerId);
this.shuttleTable = document.getElementById(contentTableId);
this.shuttleTbody = this.shuttleTable.tBodies[0];
@@ -37,11 +37,15 @@
this.valueKeeper = document.getElementById(valueKeeperId);
this.shuttleTop = null;
+
+ this.isShuttleEnabled = true;
+ this.controlList = new Array();
+
var obj = this;
this.focusKeeper.onkeydown = function(e) {
obj.onkeydownHandler(window.event || e);
}
- this.init(contentTableId, headerTableId, containerId + upControlIdPr, containerId + downControlIdPr, containerId + firstControlIdPr, containerId + lastControlIdPr, onclickControlId, focusKeeperId);
+ this.init(containerId, contentTableId, headerTableId, controlsId, onclickControlId, focusKeeperId);
}
Shuttle.ASC = "acs";
@@ -64,29 +68,60 @@
Shuttle.SELECTION_MARKER = "s";
Shuttle.ITEM_SEPARATOR = ",";
-Shuttle.prototype.init = function(contentTableId, headerTableId, upControlId, downControlId, firstControlId, lastControlId, onclickControlId, focusKeeperId) {
+Shuttle.prototype.init = function(containerId, contentTableId, headerTableId, ids, onclickControlId, focusKeeperId) {
var obj = this;
Shuttle.setFocus(focusKeeperId);
- var upControl = document.getElementById(upControlId);
- var downControl = document.getElementById(downControlId);
- var topControl = document.getElementById(firstControlId);
- var bottomControl = document.getElementById(lastControlId);
- if (upControl) {
- Shuttle.addClickListener(upControl, function(e) {obj.moveSelectedItems('up', e);return false;});
+ for (var i = 0; i < ids.length; i++) {
+ var id = ids[i];
+ var node = document.getElementById(containerId + id[0]);
+ var disNode = document.getElementById(containerId + id[1]);
+ if (node && disNode) {
+ Shuttle.addClickListener(node, function(e) {obj.moveSelectedItems(id[0], e);return false;});
+ this.controlList[i] = new Control(node, disNode, false, false, id[0]);
+ }
}
- if (downControl) {
- Shuttle.addClickListener(downControl, function(e) {obj.moveSelectedItems('down', e);return false;});
- }
- if (topControl) {
- Shuttle.addClickListener(topControl, function(e) {obj.moveSelectedItems('first', e);return false;});
- }
- if (bottomControl) {
- Shuttle.addClickListener(bottomControl, function(e) {obj.moveSelectedItems('last', e);return false;});
- }
+ this.controlListManager();
document.getElementById(contentTableId).onclick = function(e) {obj.onclickHandler(window.event || e);};
this.shuttleTop = LayoutManager.getElemXY(this.shuttleTable).top;
}
+Shuttle.prototype.controlListManager = function() {
+ this.selectedItems.sort(this.compareByRowIndex);
+ var control;
+ //FIXME
+ if (this.selectedItems.length <= 1) {
+ for (var i = 0; i < this.controlList; i++) {
+ control = this.controlList[i];
+ this.controlList[i].doDisable();
+ }
+ } else if (this.selectedItems[0].rowIndex == 0) {
+ this.getControlByAction("first").doDisable();
+ this.getControlByAction("up").doDisable();
+ this.getControlByAction("down").doEnable();
+ this.getControlByAction("last").doEnable();
+ } else if (this.selectedItems[this.selectedItems.length - 1].rowIndex == (this.shuttleItems.length - 1)) {
+ this.getControlByAction("down").doDisable();
+ this.getControlByAction("last").doDisable();
+ this.getControlByAction("first").doEnable();
+ this.getControlByAction("up").doEnable();
+ } else {
+ for (var i = 0; i < this.controlList; i++) {
+ control = this.controlList[i];
+ this.controlList[i].doEnable();
+ }
+ }
+}
+
+Shuttle.prototype.getControlByAction = function(action) {
+ for (var i = 0; i < this.controlList.length; i++) {
+ var control = this.controlList[i];
+ if (control.action == action) {
+ return control;
+ }
+ }
+ return null;
+}
+
Shuttle.prototype.retrieveShuttleItems = function(containerId) {
var rows = this.shuttleTbody.rows;
this.shuttleItems = new Array();
@@ -98,7 +133,9 @@
this.shuttleItems[i] = new SelectItem(null, (id || i),
((row.className == Shuttle.SELECTED_ITEM_CLASS) ? true : false),
row);
- this.selectedItems.push(row);
+ if (row.className == Shuttle.SELECTED_ITEM_CLASS) {
+ this.selectedItems.push(row);
+ }
if (row.className == Shuttle.ACTIVE_ITEM_CLASS) {
this.activeItem = row;
}
@@ -176,6 +213,7 @@
}
if (action != null)
this.autoScrolling(action, event);
+ this.controlListManager();
this.saveState();
}
}
@@ -313,6 +351,7 @@
this.saveState();
this.autoScrolling(action, event);
+ this.controlListManager();
}
Shuttle.prototype.changeActiveItems = function(newItem, item) {
@@ -487,6 +526,10 @@
selectItem._node = tr;
}*/
+Shuttle.prototype.isTopControlEnabled = function() {
+
+}
+
Shuttle.prototype.toString = function() {
var result = new Array();
for (var i = 0; i < this.shuttleItems.length; i++) {
Modified: trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx
===================================================================
--- trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-09 20:59:54 UTC (rev 3887)
+++ trunk/sandbox/ui/orderingList/src/main/templates/org/richfaces/htmlOrderingList.jspx 2007-11-09 22:16:36 UTC (rev 3888)
@@ -13,7 +13,8 @@
<h:scripts>
scripts/SelectItem.js,
- scripts/LayoutManager.js
+ scripts/LayoutManager.js
+ scripts/Control.js,
scripts/OrderingList.js,
</h:scripts>
@@ -51,11 +52,15 @@
</td>
<td class="ol_button_layout">
<f:call name="encodeControlsFacets"/>
+ <f:clientId var="clientId"/>
+ <a id="#{clientId}disFirst" href="#">disabledTop</a><br/>
+ <a id="#{clientId}disUp" href="#">disUp</a><br/>
+ <a id="#{clientId}disDown" href="#">disDown</a><br/>
+ <a id="#{clientId}disLast" href="#">disBottom</a>
</td>
</tr>
</tbody>
</table>
- <f:clientId var="clientId"/>
<a id="#{clientId}sortLabel" href="#">Header</a>
</div>
@@ -70,7 +75,8 @@
document.body.onselectstart = function() {return false;};
document.body.className = "body";
function init() {
- var shuttle = new Shuttle('#{cId}', '#{cId}internal_tab', '#{cId}internal_header_tab', '#{cId}focusKeeper', '#{cId}valueKeeper','_up', '_down', '_top', '_bottom', '#{cId}sortLabel');
+ var cotrolsIdPrefix = [['up', 'disUp'], ['down', 'disDown'], ['last', 'disLast'], ['first','disFirst']];
+ var shuttle = new Shuttle('#{cId}', '#{cId}internal_tab', '#{cId}internal_header_tab', '#{cId}focusKeeper', '#{cId}valueKeeper', cotrolsIdPrefix, '#{cId}sortLabel');
var layoutManager = new LayoutManager('#{clientId}internal_header_tab', '#{clientId}internal_tab');
layoutManager.widthSynchronization();
}
18 years, 6 months
JBoss Rich Faces SVN: r3887 - in trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces: button and 1 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: SergeySmirnov
Date: 2007-11-09 15:59:54 -0500 (Fri, 09 Nov 2007)
New Revision: 3887
Added:
trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/
trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/examples/
trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/examples/simple.xhtml
trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/usage.xhtml
Log:
rex-button demo is resent
Added: trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/examples/simple.xhtml
===================================================================
--- trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/examples/simple.xhtml (rev 0)
+++ trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/examples/simple.xhtml 2007-11-09 20:59:54 UTC (rev 3887)
@@ -0,0 +1,78 @@
+<ui:composition xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:rex="http://labs.jboss.com/jbossrichfaces/ui/ui/rex-button"
+ xmlns:mb="http://labs.jboss.com/jbossrichfaces/ui/ui/rex-messageBox"
+ xmlns:cc="http://labs.jboss.com/jbossrichfaces/ui/ui/componentControl"
+ xmlns:rich="http://richfaces.org/rich">
+
+<f:view contentType="text/html">
+
+
+ <h:form id="f">
+
+ <rex:button id="a" style="color:red" value="The real button Name">
+ <a4j:commandButton />
+ </rex:button>
+
+ <rich:panel id="mb3" style="width:100px;border:1px solid red">Start</rich:panel>
+
+ <cc:componentControl event="onclick" attachTo="mb3" for="mb4" operation="show"/>
+
+
+ <rex:button id="mb4" onclick="aaa()" value="Show Box" />
+
+
+ </h:form>
+
+
+
+
+ <rich:modalPanel id="dd">
+ <h:outputText value="hello" />
+ </rich:modalPanel>
+
+ <script>
+ jQuery('#f\\:mb4')[0].component = {};
+ jQuery('#f\\:mb4')[0].component.show = function(event, params) {
+ jQuery('#f\\:mb4').click();
+ }
+ </script>
+
+ <button onclick="upup()">UpUp</button>
+
+
+
+
+ <div id="ddd" style="position:absolute;top:400px;right:200px; border:1px solid green;width:100px">x</div>
+ <div id="ddd2" style="position:absolute;top:800px;right:700px; border:1px solid green;width:100px">x</div>
+
+ <div id="d:e">
+ <script type="text/javascript">
+ window.$pardiv = Ext.get('d:e').dom;
+ $pardiv.messageBox = new Object();
+ $pardiv.messageBox.show = function(anim) {
+ Ext.MessageBox.show({
+ title: 'Address',
+ msg: 'Please enter your address:',
+ width:300,
+ modal:true,
+ multiline:16,
+ buttons: {ok:'foo', cancel:'bar'},
+ animEl: anim || 'ddd2'
+ });
+ };
+ function aaa(par) {
+ Ext.get('d:e').dom.messageBox.show(par);
+ }
+ </script>
+
+ </div>
+
+
+
+
+</f:view>
+</ui:composition>
\ No newline at end of file
Added: trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/usage.xhtml
===================================================================
--- trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/usage.xhtml (rev 0)
+++ trunk/sandbox/samples/rex-demo/src/main/webapp/richfaces/button/usage.xhtml 2007-11-09 20:59:54 UTC (rev 3887)
@@ -0,0 +1,27 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://java.sun.com/jsf/facelets"
+ xmlns:h="http://java.sun.com/jsf/html"
+ xmlns:f="http://java.sun.com/jsf/core"
+ xmlns:a4j="http://richfaces.org/a4j"
+ xmlns:rich="http://richfaces.org/rich">
+ <ui:composition template="/templates/component-sample.xhtml">
+ <ui:define name="sample">
+
+ <p>Description
+ </p>
+
+
+ <div class="sample-container" >
+
+ <ui:include src="/richfaces/button/examples/simple.xhtml"/>
+ <ui:include src="/templates/include/sourceview.xhtml">
+ <ui:param name="sourcepath" value="/richfaces/button/examples/simple.xhtml"/>
+ </ui:include>
+ </div>
+
+
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
18 years, 6 months