You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2016/07/17 10:49:35 UTC
svn commit: r1753055 - in /myfaces/tobago/trunk:
tobago-core/src/main/java/org/apache/myfaces/tobago/component/
tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/
tobago...
Author: weber
Date: Sun Jul 17 10:49:34 2016
New Revision: 1753055
URL: http://svn.apache.org/viewvc?rev=1753055&view=rev
Log:
TOBAGO-1577 - AJAX not working from renderedPartial attribute
Added:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsAjaxBehaviorHolder.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsAjaxBehaviorHolderRule.java
- copied, changed from r1753025, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsRenderedPartiallyRule.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAjaxBehavior.java
Removed:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsRenderedPartiallyRule.java
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsRenderedPartially.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/50-partial/partial.xhtml
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/Attributes.java Sun Jul 17 10:49:34 2016
@@ -71,6 +71,7 @@ public enum Attributes {
disabled,
enctype,
escape,
+ executePartially,
expanded,
execute,
event,
@@ -190,9 +191,14 @@ public enum Attributes {
reference,
relative,
rendered,
+ /**
+ * @deprecated since Tobago 3.0.0
+ */
+ @Deprecated
renderedPartially,
rendererType,
renderAs,
+ renderPartially,
renderRange,
renderRangeExtern,
required,
Added: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsAjaxBehaviorHolder.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsAjaxBehaviorHolder.java?rev=1753055&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsAjaxBehaviorHolder.java (added)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsAjaxBehaviorHolder.java Sun Jul 17 10:49:34 2016
@@ -0,0 +1,15 @@
+package org.apache.myfaces.tobago.component;
+
+import javax.faces.component.behavior.ClientBehaviorHolder;
+
+public interface SupportsAjaxBehaviorHolder extends ClientBehaviorHolder {
+
+ String[] getRenderPartially();
+
+ void setRenderPartially(String[] renderedPartially);
+
+ String[] getExecutePartially();
+
+ void setExecutePartially(String[] renderedPartially);
+
+}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsRenderedPartially.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsRenderedPartially.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsRenderedPartially.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/component/SupportsRenderedPartially.java Sun Jul 17 10:49:34 2016
@@ -19,7 +19,7 @@
package org.apache.myfaces.tobago.component;
-
+@Deprecated
public interface SupportsRenderedPartially {
String[] getRenderedPartially();
Copied: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsAjaxBehaviorHolderRule.java (from r1753025, myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsRenderedPartiallyRule.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsAjaxBehaviorHolderRule.java?p2=myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsAjaxBehaviorHolderRule.java&p1=myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsRenderedPartiallyRule.java&r1=1753025&r2=1753055&rev=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsRenderedPartiallyRule.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/SupportsAjaxBehaviorHolderRule.java Sun Jul 17 10:49:34 2016
@@ -20,49 +20,91 @@
package org.apache.myfaces.tobago.facelets;
import org.apache.myfaces.tobago.component.Attributes;
-import org.apache.myfaces.tobago.component.SupportsRenderedPartially;
+import org.apache.myfaces.tobago.component.SupportsAjaxBehaviorHolder;
import org.apache.myfaces.tobago.util.ComponentUtils;
import javax.el.ValueExpression;
import javax.faces.component.UIComponent;
+import javax.faces.component.behavior.AjaxBehavior;
+import javax.faces.component.behavior.ClientBehavior;
import javax.faces.view.facelets.FaceletContext;
import javax.faces.view.facelets.MetaRule;
import javax.faces.view.facelets.Metadata;
import javax.faces.view.facelets.MetadataTarget;
import javax.faces.view.facelets.TagAttribute;
+import java.util.List;
+import java.util.Map;
-public class SupportsRenderedPartiallyRule extends MetaRule {
+public class SupportsAjaxBehaviorHolderRule extends MetaRule {
- public static final SupportsRenderedPartiallyRule INSTANCE = new SupportsRenderedPartiallyRule();
+ public static final SupportsAjaxBehaviorHolderRule INSTANCE = new SupportsAjaxBehaviorHolderRule();
@Override
public Metadata applyRule(final String name, final TagAttribute attribute, final MetadataTarget metadataTarget) {
- if (metadataTarget.isTargetInstanceOf(SupportsRenderedPartially.class)) {
+ if (metadataTarget.isTargetInstanceOf(SupportsAjaxBehaviorHolder.class)) {
Attributes a = Attributes.valueOfFailsafe(name);
- if (Attributes.renderedPartially == a) {
- return new SupportsRenderedPartiallyMapper(attribute);
+ if (a != null) {
+ switch (a) {
+ case renderPartially:
+ case renderedPartially:
+ case executePartially:
+ return new SupportsAjaxBehaviorHolderMapper(attribute, a);
+ }
}
}
return null;
}
- static final class SupportsRenderedPartiallyMapper extends Metadata {
+ static final class SupportsAjaxBehaviorHolderMapper extends Metadata {
- private final TagAttribute attribute;
+ private final TagAttribute tagAttribute;
+ private final Attributes tobagoAttribute;
- public SupportsRenderedPartiallyMapper(final TagAttribute attribute) {
- this.attribute = attribute;
+ public SupportsAjaxBehaviorHolderMapper(final TagAttribute tagAttribute, Attributes tobagoAttribute) {
+ this.tagAttribute = tagAttribute;
+ this.tobagoAttribute = tobagoAttribute;
}
@Override
- public void applyMetadata(final FaceletContext ctx, final Object instance) {
- if (attribute.isLiteral()) {
- final String[] components = ComponentUtils.splitList(attribute.getValue());
- ((SupportsRenderedPartially) instance).setRenderedPartially(components);
- } else {
- final ValueExpression expression = attribute.getValueExpression(ctx, Object.class);
- ((UIComponent) instance).setValueExpression(Attributes.renderedPartially.getName(), expression);
+ public void applyMetadata(final FaceletContext faceletContext, final Object instance) {
+
+ final SupportsAjaxBehaviorHolder ajaxBehaviorHolder = (SupportsAjaxBehaviorHolder) instance;
+
+ AjaxBehavior ajaxBehavior = findAjaxBehavior(ajaxBehaviorHolder, faceletContext);
+
+
+ switch (tobagoAttribute) {
+ case renderedPartially:
+// if (tagAttribute.isLiteral()) {
+// final String[] components = ComponentUtils.splitList(tagAttribute.getValue());
+// } else {
+// }
+// break;
+ case renderPartially:
+ ajaxBehavior.setValueExpression("render", tagAttribute.getValueExpression(faceletContext, Object.class));
+ break;
+ case executePartially:
+ ajaxBehavior.setValueExpression("execute", tagAttribute.getValueExpression(faceletContext, Object.class));
+ break;
+ }
+ }
+
+ private AjaxBehavior findAjaxBehavior(SupportsAjaxBehaviorHolder ajaxBehaviorHolder, FaceletContext faceletContext) {
+ Map<String, List<ClientBehavior>> clientBehaviors = ajaxBehaviorHolder.getClientBehaviors();
+
+ for (List<ClientBehavior> behaviors : clientBehaviors.values()) {
+ if (behaviors != null && !behaviors.isEmpty()) {
+ for (ClientBehavior cb : behaviors) {
+ if (cb instanceof AjaxBehavior) {
+ return (AjaxBehavior) cb;
+ }
+ }
+ }
}
+ final AjaxBehavior ajaxBehavior
+ = (AjaxBehavior) faceletContext.getFacesContext().getApplication().createBehavior(AjaxBehavior.BEHAVIOR_ID);
+ ajaxBehaviorHolder.addClientBehavior(ajaxBehaviorHolder.getDefaultEventName(), ajaxBehavior);
+ return ajaxBehavior;
}
}
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/facelets/TobagoComponentHandler.java Sun Jul 17 10:49:34 2016
@@ -22,8 +22,8 @@ package org.apache.myfaces.tobago.facele
import org.apache.myfaces.tobago.component.InputSuggest;
import org.apache.myfaces.tobago.component.OnComponentCreated;
import org.apache.myfaces.tobago.component.OnComponentPopulated;
+import org.apache.myfaces.tobago.component.SupportsAjaxBehaviorHolder;
import org.apache.myfaces.tobago.component.Visual;
-import org.apache.myfaces.tobago.component.SupportsRenderedPartially;
import org.apache.myfaces.tobago.config.TobagoConfig;
import org.apache.myfaces.tobago.event.SheetStateChangeSource;
import org.apache.myfaces.tobago.event.SortActionSource;
@@ -71,8 +71,8 @@ public class TobagoComponentHandler exte
if (InputSuggest.class.isAssignableFrom(aClass)) {
metaRuleset.addRule(SuggestMethodRule.INSTANCE);
}
- if (SupportsRenderedPartially.class.isAssignableFrom(aClass)) {
- metaRuleset.addRule(SupportsRenderedPartiallyRule.INSTANCE);
+ if (SupportsAjaxBehaviorHolder.class.isAssignableFrom(aClass)) {
+ metaRuleset.addRule(SupportsAjaxBehaviorHolderRule.INSTANCE);
}
return metaRuleset;
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICommand.java Sun Jul 17 10:49:34 2016
@@ -21,6 +21,7 @@ package org.apache.myfaces.tobago.intern
import org.apache.myfaces.tobago.component.OnComponentPopulated;
import org.apache.myfaces.tobago.component.SupportsAccessKey;
+import org.apache.myfaces.tobago.component.SupportsAjaxBehaviorHolder;
import org.apache.myfaces.tobago.component.SupportsRenderedPartially;
import org.apache.myfaces.tobago.component.Visual;
import org.apache.myfaces.tobago.event.CollapsibleActionListener;
@@ -44,7 +45,8 @@ import java.util.List;
public abstract class AbstractUICommand
extends UICommand
- implements SupportsRenderedPartially, SupportsAccessKey, OnComponentPopulated, Visual, ClientBehaviorHolder {
+ implements SupportsRenderedPartially, SupportsAjaxBehaviorHolder, SupportsAccessKey, OnComponentPopulated, Visual,
+ ClientBehaviorHolder {
private static final Logger LOG = LoggerFactory.getLogger(AbstractUICommand.class);
@@ -178,6 +180,12 @@ public abstract class AbstractUICommand
@Override
public abstract String[] getRenderedPartially();
+ @Override
+ public abstract String[] getRenderPartially();
+
+ @Override
+ public abstract String[] getExecutePartially();
+
public abstract boolean isOmit();
public abstract String getTip();
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/ButtonTagDeclaration.java Sun Jul 17 10:49:34 2016
@@ -27,6 +27,7 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAction;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasActionListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAjaxBehavior;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasImage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelAndAccessKey;
@@ -66,7 +67,7 @@ import javax.faces.component.UICommand;
})
public interface ButtonTagDeclaration
extends HasIdBindingAndRendered, HasAction, HasActionListener, IsImmediateCommand,
- HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, IsDisabledBySecurity,
+ HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, HasAjaxBehavior, IsDisabledBySecurity,
IsOmit, IsVisual, HasLabelAndAccessKey, HasTip, HasImage,
IsDefaultCommand, HasTabIndex {
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/CommandTagDeclaration.java Sun Jul 17 10:49:34 2016
@@ -24,6 +24,7 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAction;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasActionListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAjaxBehavior;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasImage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelAndAccessKey;
@@ -54,7 +55,7 @@ import javax.faces.component.UICommand;
allowedChildComponenents = "NONE")
public interface CommandTagDeclaration
extends HasIdBindingAndRendered, HasAction, HasActionListener, IsImmediateCommand,
- HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, IsDisabledBySecurity,
+ HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, HasAjaxBehavior, IsDisabledBySecurity,
IsOmit, HasValue, IsVisual, HasLabelAndAccessKey, HasTip, HasImage,
IsDefaultCommand {
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/LinkTagDeclaration.java Sun Jul 17 10:49:34 2016
@@ -27,6 +27,7 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAction;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasActionListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAjaxBehavior;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasImage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelAndAccessKey;
@@ -64,6 +65,6 @@ import javax.faces.component.UICommand;
allowedChildComponenents = "org.apache.myfaces.tobago.Out")})
public interface LinkTagDeclaration
extends HasIdBindingAndRendered, HasAction, HasActionListener, IsImmediateCommand,
- HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, IsDisabledBySecurity,
- IsOmit, HasImage, HasTabIndex, IsVisual, HasLabelAndAccessKey, HasTip {
+ HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, HasAjaxBehavior, IsDisabledBySecurity,
+ IsOmit, HasImage, HasTabIndex, IsVisual, HasLabelAndAccessKey, HasTip {
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/MenuCommandTagDeclaration.java Sun Jul 17 10:49:34 2016
@@ -24,6 +24,7 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAction;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasActionListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAjaxBehavior;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasImage;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelAndAccessKey;
@@ -56,6 +57,6 @@ import javax.faces.component.UICommand;
allowedChildComponenents = "NONE")
public interface MenuCommandTagDeclaration
extends HasAction, HasActionListener, IsImmediateCommand,
- HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, IsDisabledBySecurity, IsOmit, IsVisual,
- HasIdBindingAndRendered, HasLabelAndAccessKey, HasTip, HasImage {
+ HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, HasAjaxBehavior, IsDisabledBySecurity, IsOmit, IsVisual,
+ HasIdBindingAndRendered, HasLabelAndAccessKey, HasTip, HasImage {
}
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeCommandTagDeclaration.java Sun Jul 17 10:49:34 2016
@@ -27,6 +27,7 @@ import org.apache.myfaces.tobago.compone
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasAction;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasActionListener;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasAjaxBehavior;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelAndAccessKey;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLink;
@@ -65,6 +66,6 @@ import javax.faces.component.UICommand;
rendererType = RendererTypes.TREE_COMMAND)
public interface TreeCommandTagDeclaration
extends HasIdBindingAndRendered, HasAction, HasActionListener, IsImmediateCommand,
- HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, IsDisabledBySecurity, IsOmit,
- HasLabelAndAccessKey, HasTip, HasTabIndex, IsVisual {
+ HasLink, HasResource, IsTransition, HasTarget, HasRenderedPartially, HasAjaxBehavior, IsDisabledBySecurity, IsOmit,
+ HasLabelAndAccessKey, HasTip, HasTabIndex, IsVisual {
}
Added: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAjaxBehavior.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAjaxBehavior.java?rev=1753055&view=auto
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAjaxBehavior.java (added)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasAjaxBehavior.java Sun Jul 17 10:49:34 2016
@@ -0,0 +1,48 @@
+package org.apache.myfaces.tobago.internal.taglib.declaration;
+
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
+
+public interface HasAjaxBehavior {
+
+ /**
+ * <b>TODO: check this all</b>
+ * <p>
+ * Indicate the partially rendered components in a case of a submit.
+ * </p>
+ * <p>
+ * The search depends on the number of prefixed colons in the relativeId:
+ * </p>
+ * <dl>
+ * <dd>number of prefixed colons == 0</dd>
+ * <dt>fully relative</dt>
+ * <dd>number of prefixed colons == 1</dd>
+ * <dt>absolute (still normal findComponent syntax)</dt>
+ * <dd>number of prefixed colons == 2</dd>
+ * <dt>search in the current naming container (same as 0 colons)</dt>
+ * <dd>number of prefixed colons == 3</dd>
+ * <dt>search in the parent naming container of the current naming container</dt>
+ * <dd>number of prefixed colons > 3</dd>
+ * <dt>go to the next parent naming container for each additional colon</dt>
+ * </dl>
+ * <p>
+ * If a literal is specified: to use more than one identifier the identifiers must be space delimited.
+ * </p>
+ * <p>
+ * Using this in a UISheet or UITabGroup component this list indicates components to update when calling
+ * internal AJAX requests like sort or paging commands.
+ * Don't forget to add the sheet-id or tagGroup-id in that case, if needed.
+ * </p>
+ * <p>
+ * You can also use @this for the component itself.
+ * </p>
+ */
+ @TagAttribute
+ @UIComponentTagAttribute(type = "java.lang.String[]")
+ void setRenderPartially(String componentIds);
+
+ @TagAttribute
+ @UIComponentTagAttribute(type = "java.lang.String[]")
+ void setExecutePartially(String componentIds);
+
+}
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/50-partial/partial.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/50-partial/partial.xhtml?rev=1753055&r1=1753054&r2=1753055&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/50-partial/partial.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/50-partial/partial.xhtml Sun Jul 17 10:49:34 2016
@@ -93,7 +93,7 @@
</tc:button>
<tc:button label="Reload right" tip="Reload right side box"
- action="#{partialReloadController.reload}" renderedPartially="right :page:header:headerInfo"/>
+ action="#{partialReloadController.reload}" renderPartially="right :page:header:headerInfo"/>
<tc:button label="Reload both" tip="Reload both boxes"
action="#{partialReloadController.reload}" renderedPartially="left right :page:header:headerInfo">