You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2016/07/06 12:20:51 UTC
svn commit: r1751669 - in /myfaces/tobago/trunk:
tobago-core/src/main/java/org/apache/myfaces/tobago/component/
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/
tobago-example/tobago-example-demo/src/main/webapp/content/30-concep...
Author: lofwyr
Date: Wed Jul 6 12:20:51 2016
New Revision: 1751669
URL: http://svn.apache.org/viewvc?rev=1751669&view=rev
Log:
TOBAGO 1565: Specification for "collapsible" for Popup, Box, Section, ...
- if case of a ValueExpression for the collapsible attribute: write the state with a setter.
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/internal/component/AbstractUICollapsiblePanel.java
myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/collapsible-popup.xhtml
myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRendererBase.java
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=1751669&r1=1751668&r2=1751669&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 Wed Jul 6 12:20:51 2016
@@ -55,6 +55,8 @@ public enum Attributes {
borderTop,
charset,
clientProperties,
+ collapsed,
+ collapsedMode,
columnSpan,
columnSpacing,
columns,
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICollapsiblePanel.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICollapsiblePanel.java?rev=1751669&r1=1751668&r2=1751669&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICollapsiblePanel.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/component/AbstractUICollapsiblePanel.java Wed Jul 6 12:20:51 2016
@@ -19,11 +19,13 @@
package org.apache.myfaces.tobago.internal.component;
+import org.apache.myfaces.tobago.component.Attributes;
import org.apache.myfaces.tobago.component.Facets;
import org.apache.myfaces.tobago.model.CollapseMode;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import javax.el.ValueExpression;
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -31,7 +33,7 @@ public abstract class AbstractUICollapsi
private static final Logger LOG = LoggerFactory.getLogger(AbstractUICollapsiblePanel.class);
- private transient Boolean nextState;
+ private transient Boolean submittedCollapsed;
@Override
public void processDecodes(final FacesContext facesContext) {
@@ -80,14 +82,19 @@ public abstract class AbstractUICollapsi
public abstract CollapseMode getCollapsedMode();
- public void setNextState(Boolean nextState) {
- this.nextState = nextState;
+ public void setSubmittedCollapsed(Boolean submittedCollapsed) {
+ this.submittedCollapsed = submittedCollapsed;
}
public void processState() {
- if (nextState != null) {
- setCollapsed(nextState);
- nextState = null;
+ if (submittedCollapsed != null) {
+ final ValueExpression valueExpression = getValueExpression(Attributes.collapsed.name());
+ if (valueExpression != null) {
+ valueExpression.setValue(FacesContext.getCurrentInstance().getELContext(), submittedCollapsed);
+ } else {
+ setCollapsed(submittedCollapsed);
+ }
+ submittedCollapsed = null;
}
}
}
Modified: myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/collapsible-popup.xhtml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/collapsible-popup.xhtml?rev=1751669&r1=1751668&r2=1751669&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/collapsible-popup.xhtml (original)
+++ myfaces/tobago/trunk/tobago-example/tobago-example-demo/src/main/webapp/content/30-concept/53-collapsible/10-collapsible-popup/collapsible-popup.xhtml Wed Jul 6 12:20:51 2016
@@ -34,7 +34,6 @@
</tc:button>
</tc:buttons>
- <!--<tc:popup id="popup" collapsed="hidden">-->
<tc:popup id="popup" collapsed="#{collapsibleController.collapsed}">
<tc:box label="Test for Popup">
Hallo, collapsible popup.
@@ -50,6 +49,7 @@
<tc:button label="Submit and Close" action="#{collapsibleController.action}">
<tc:operation name="hide" for="popup"/>
</tc:button>
+ <tc:button label="Submit and Keep Open" action="#{collapsibleController.action}"/>
</tc:buttons>
</tc:box>
</tc:popup>
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRendererBase.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRendererBase.java?rev=1751669&r1=1751668&r2=1751669&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRendererBase.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/PanelRendererBase.java Wed Jul 6 12:20:51 2016
@@ -35,26 +35,28 @@ import java.util.Map;
public class PanelRendererBase extends RendererBase {
+ private static final String SUFFIX_COLLAPSE = "collapse";
+
@Override
public void decode(final FacesContext facesContext, final UIComponent component) {
super.decode(facesContext, component);
final AbstractUICollapsiblePanel collapsible = (AbstractUICollapsiblePanel) component;
final String clientId = collapsible.getClientId(facesContext);
- final String hiddenId = clientId + ComponentUtils.SUB_SEPARATOR + "collapse";
+ final String hiddenId = clientId + ComponentUtils.SUB_SEPARATOR + SUFFIX_COLLAPSE;
final Map<String, String> requestParameterMap = facesContext.getExternalContext().getRequestParameterMap();
if (requestParameterMap.containsKey(hiddenId)) {
final String newValue = requestParameterMap.get(hiddenId);
if (StringUtils.isNotBlank(newValue)) {
- collapsible.setNextState(Boolean.valueOf(newValue));
+ collapsible.setSubmittedCollapsed(Boolean.valueOf(newValue));
}
}
}
protected void encodeHidden(final TobagoResponseWriter writer, final String clientId, final boolean collapsed)
throws IOException {
- final String hiddenId = clientId + ComponentUtils.SUB_SEPARATOR + "collapse";
+ final String hiddenId = clientId + ComponentUtils.SUB_SEPARATOR + SUFFIX_COLLAPSE;
writer.startElement(HtmlElements.INPUT);
writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.HIDDEN);
writer.writeNameAttribute(hiddenId);