You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mb...@apache.org on 2005/09/14 18:40:47 UTC
svn commit: r280882 - in
/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2:
HtmlTreeRenderer.java ToggleExpandedEvent.java UITreeData.java
Author: mbr
Date: Wed Sep 14 09:40:37 2005
New Revision: 280882
URL: http://svn.apache.org/viewcvs?rev=280882&view=rev
Log:
fix for MYFACES-564.
if server side toggle is used the toggle event is executed in process application phase now.
nodes where not processed if parent node is not expanded.
Added:
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/ToggleExpandedEvent.java
Modified:
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/HtmlTreeRenderer.java
myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/UITreeData.java
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/HtmlTreeRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/HtmlTreeRenderer.java?rev=280882&r1=280881&r2=280882&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/HtmlTreeRenderer.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/HtmlTreeRenderer.java Wed Sep 14 09:40:37 2005
@@ -142,10 +142,8 @@
{
return;
}
-
- tree.setNodeId(nodeId);
- tree.toggleExpanded();
- tree.setNodeId(originalNodeId);
+
+ component.queueEvent(new ToggleExpandedEvent(component, nodeId));
}
}
Added: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/ToggleExpandedEvent.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/ToggleExpandedEvent.java?rev=280882&view=auto
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/ToggleExpandedEvent.java (added)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/ToggleExpandedEvent.java Wed Sep 14 09:40:37 2005
@@ -0,0 +1,65 @@
+/*
+ * Copyright 2005 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.myfaces.custom.tree2;
+
+import javax.faces.component.UIComponent;
+import javax.faces.event.FacesEvent;
+import javax.faces.event.FacesListener;
+import javax.faces.event.PhaseId;
+
+/**
+ * @author Mathias Broekelmann
+ *
+ */
+public class ToggleExpandedEvent extends FacesEvent
+{
+ private final String mNodeId;
+
+ /**
+ * @param uiComponent
+ * @param nodeId
+ */
+ public ToggleExpandedEvent(UIComponent uiComponent, String nodeId)
+ {
+ super(uiComponent);
+ mNodeId = nodeId;
+ setPhaseId(PhaseId.INVOKE_APPLICATION);
+ }
+
+ /**
+ * @return Returns the nodeId.
+ */
+ public String getNodeId()
+ {
+ return mNodeId;
+ }
+
+ /**
+ * @see javax.faces.event.FacesEvent#isAppropriateListener(javax.faces.event.FacesListener)
+ */
+ public boolean isAppropriateListener(FacesListener faceslistener)
+ {
+ return false;
+ }
+
+ /**
+ * @see javax.faces.event.FacesEvent#processListener(javax.faces.event.FacesListener)
+ */
+ public void processListener(FacesListener faceslistener)
+ {
+ throw new UnsupportedOperationException();
+ }
+}
Modified: myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/UITreeData.java
URL: http://svn.apache.org/viewcvs/myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/UITreeData.java?rev=280882&r1=280881&r2=280882&view=diff
==============================================================================
--- myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/UITreeData.java (original)
+++ myfaces/tomahawk/trunk/src/java/org/apache/myfaces/custom/tree2/UITreeData.java Wed Sep 14 09:40:37 2005
@@ -130,6 +130,14 @@
setNodeId(currNodeId);
return;
}
+ else if(event instanceof ToggleExpandedEvent)
+ {
+ ToggleExpandedEvent toggleEvent = (ToggleExpandedEvent) event;
+ String currentNodeId = getNodeId();
+ setNodeId(toggleEvent.getNodeId());
+ toggleExpanded();
+ setNodeId(currentNodeId);
+ }
else
{
super.broadcast(event);
@@ -492,8 +500,10 @@
facet.processUpdates(context);
break;
}
-
- processChildNodes(context, node, processAction);
+ if(isNodeExpanded())
+ {
+ processChildNodes(context, node, processAction);
+ }
}
/**