Author: sergeyhalipov
Date: 2007-09-17 11:57:29 -0400 (Mon, 17 Sep 2007)
New Revision: 2961
Modified:
trunk/ui/panelmenu/src/main/config/component/panelMenu.xml
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuGroup.java
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuItem.java
Log:
http://jira.jboss.com/jira/browse/RF-901
Modified: trunk/ui/panelmenu/src/main/config/component/panelMenu.xml
===================================================================
--- trunk/ui/panelmenu/src/main/config/component/panelMenu.xml 2007-09-17 15:23:49 UTC
(rev 2960)
+++ trunk/ui/panelmenu/src/main/config/component/panelMenu.xml 2007-09-17 15:57:29 UTC
(rev 2961)
@@ -440,9 +440,15 @@
<description>A flag indicating that this component value must be converted and
validated
immediately (that is, during Apply Request Values phase), rather than waiting until
a Process Validations phase. </description>
- </property> &ui_component_attributes; &html_input_attributes;
- &html_input_events; &ui_input_attributes;
- &ui_output_attributes; &html_events; <property>
+ </property>
+ &ui_component_attributes;
+ &html_input_attributes;
+ &html_input_events;
+ &ui_input_attributes;
+ &ui_output_attributes;
+ &html_events;
+ &ajax_component_attributes;
+ <property>
<name>oncollapse</name>
<classname>java.lang.String</classname>
<description>HTML: script expression; group was closed</description>
@@ -641,8 +647,13 @@
<classname>java.lang.String</classname>
<description>CSS style rules to be applied</description>
<defaultvalue><![CDATA[""]]></defaultvalue>
- </property> &ui_component_attributes; &ui_command_attributes;
- &html_style_attributes; &html_events; <property>
+ </property>
+ &ui_component_attributes;
+ &ui_command_attributes;
+ &html_style_attributes;
+ &html_events;
+ &ajax_component_attributes;
+ <property>
<name>target</name>
<classname>java.lang.String</classname>
<description>Target frame for action to execute.</description>
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuGroup.java
===================================================================
---
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuGroup.java 2007-09-17
15:23:49 UTC (rev 2960)
+++
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuGroup.java 2007-09-17
15:57:29 UTC (rev 2961)
@@ -32,6 +32,9 @@
import javax.faces.event.FacesEvent;
import javax.faces.event.PhaseId;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+
public abstract class UIPanelMenuGroup extends UIInput implements ActionSource{
public static final String COMPONENT_TYPE = "org.richfaces.panelMenuGroup";
@@ -161,6 +164,9 @@
if (listener != null) {
listener.processAction((ActionEvent) event);
}
+ } else if (event instanceof AjaxEvent) {
+ FacesContext context = getFacesContext();
+ AjaxContext.getCurrentInstance(context).addRegionsFromComponent(this);
}
}
}
Modified: trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuItem.java
===================================================================
---
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuItem.java 2007-09-17
15:23:49 UTC (rev 2960)
+++
trunk/ui/panelmenu/src/main/java/org/richfaces/component/UIPanelMenuItem.java 2007-09-17
15:57:29 UTC (rev 2961)
@@ -23,7 +23,13 @@
import javax.faces.component.UICommand;
import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.event.AbortProcessingException;
+import javax.faces.event.FacesEvent;
+import org.ajax4jsf.context.AjaxContext;
+import org.ajax4jsf.event.AjaxEvent;
+
public abstract class UIPanelMenuItem extends UICommand {
public static final String COMPONENT_TYPE = "org.richfaces.panelMenuItem";
@@ -60,4 +66,15 @@
public abstract void setName(String string);
public abstract String getName();
+ /* (non-Javadoc)
+ * @see javax.faces.component.UIComponentBase#broadcast(javax.faces.event.FacesEvent)
+ */
+ public void broadcast(FacesEvent event) throws AbortProcessingException {
+ super.broadcast(event);
+ if (event instanceof AjaxEvent) {
+ FacesContext context = getFacesContext();
+ AjaxContext.getCurrentInstance(context).addRegionsFromComponent(this);
+ }
+ }
+
}