Author: sergeyhalipov
Date: 2007-11-12 09:33:36 -0500 (Mon, 12 Nov 2007)
New Revision: 3916
Modified:
trunk/ui/dropdown-menu/src/main/config/component/dropdownmenu.xml
trunk/ui/dropdown-menu/src/main/java/org/richfaces/component/UIDropDownMenu.java
trunk/ui/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java
trunk/ui/dropdown-menu/src/main/templates/org/richfaces/htmlDropDownMenu.jspx
Log:
http://jira.jboss.com/jira/browse/RF-1290
Modified: trunk/ui/dropdown-menu/src/main/config/component/dropdownmenu.xml
===================================================================
--- trunk/ui/dropdown-menu/src/main/config/component/dropdownmenu.xml 2007-11-12 14:23:10
UTC (rev 3915)
+++ trunk/ui/dropdown-menu/src/main/config/component/dropdownmenu.xml 2007-11-12 14:33:36
UTC (rev 3916)
@@ -30,7 +30,15 @@
</taghandler>
&ui_component_attributes;
-
+
+ <property>
+ <name>disabled</name>
+ <classname>boolean</classname>
+ <description>
+ Attribute 'disabled' provides possibility to make the whole menu
disabled if its value equals to "true".
+ </description>
+ <defaultvalue>false</defaultvalue>
+ </property>
<property>
<name>event</name>
<classname>java.lang.String</classname>
Modified:
trunk/ui/dropdown-menu/src/main/java/org/richfaces/component/UIDropDownMenu.java
===================================================================
---
trunk/ui/dropdown-menu/src/main/java/org/richfaces/component/UIDropDownMenu.java 2007-11-12
14:23:10 UTC (rev 3915)
+++
trunk/ui/dropdown-menu/src/main/java/org/richfaces/component/UIDropDownMenu.java 2007-11-12
14:33:36 UTC (rev 3916)
@@ -38,5 +38,9 @@
public abstract void setSubmitMode(String submitMode);
public abstract String getSubmitMode();
+
+ public abstract boolean isDisabled();
+
+ public abstract void setDisabled(boolean disabled);
}
Modified:
trunk/ui/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java
===================================================================
---
trunk/ui/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java 2007-11-12
14:23:10 UTC (rev 3915)
+++
trunk/ui/dropdown-menu/src/main/java/org/richfaces/renderkit/html/DropDownMenuRendererBase.java 2007-11-12
14:33:36 UTC (rev 3916)
@@ -21,6 +21,8 @@
package org.richfaces.renderkit.html;
+import java.io.IOException;
+
import javax.faces.component.UIComponent;
import javax.faces.context.FacesContext;
@@ -98,5 +100,10 @@
return buffer.toString();
}
+ public void encodeChildren(FacesContext context, UIComponent component)
+ throws IOException {
+ if (!((org.richfaces.component.UIDropDownMenu)component).isDisabled())
+ super.encodeChildren(context, component);
+ }
}
Modified: trunk/ui/dropdown-menu/src/main/templates/org/richfaces/htmlDropDownMenu.jspx
===================================================================
---
trunk/ui/dropdown-menu/src/main/templates/org/richfaces/htmlDropDownMenu.jspx 2007-11-12
14:23:10 UTC (rev 3915)
+++
trunk/ui/dropdown-menu/src/main/templates/org/richfaces/htmlDropDownMenu.jspx 2007-11-12
14:33:36 UTC (rev 3916)
@@ -20,16 +20,37 @@
<f:clientid var="clientId"/>
<jsp:scriptlet>
<![CDATA[if
(!((org.richfaces.component.UIDropDownMenu)component).getSubmitMode().equalsIgnoreCase("none"))
org.richfaces.component.util.FormUtil.throwEnclFormReqExceptionIfNeed(context,component);]]>
- </jsp:scriptlet>
+ </jsp:scriptlet>
+ <jsp:scriptlet>
+ <![CDATA[if (!((org.richfaces.component.UIDropDownMenu)component).isDisabled())
{]]>
+ </jsp:scriptlet>
<div id="#{clientId}"
style="#{component.attributes['style']};"
class="#{component.attributes['styleClass']} dr-menu-label
dr-menu-label-unselect rich-ddmenu-label rich-ddmenu-label-unselect"
onmouseover="this.className='dr-menu-label dr-menu-label-select
rich-ddmenu-label rich-ddmenu-label-select' ;
#{component.attributes['onmouseover']}"
onmouseout="this.className='dr-menu-label dr-menu-label-unselect
rich-ddmenu-label rich-ddmenu-label-unselect';
#{component.attributes['onmouseout']}"
onmousemove="#{component.attributes['onmousemove']}">
-
+ <jsp:scriptlet>
+ <![CDATA[} else {]]>
+ </jsp:scriptlet>
+ <div id="#{clientId}"
+ style="#{component.attributes['style']};"
+ class="#{component.attributes['styleClass']} dr-menu-label
dr-menu-label-unselect rich-ddmenu-label-disabled rich-ddmenu-label-unselect"
+ onmouseover="#{component.attributes['onmouseover']}"
+ onmouseout="#{component.attributes['onmouseout']}"
+ onmousemove="#{component.attributes['onmousemove']}">
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
<jsp:scriptlet>
- <![CDATA[if(component.getFacet("label")!=null &&
component.getFacet("label").isRendered()) {]]>
+ <![CDATA[if (((org.richfaces.component.UIDropDownMenu)component).isDisabled()
&&
+ (component.getFacet("labelDisabled")!=null &&
component.getFacet("labelDisabled").isRendered())) {]]>
+ </jsp:scriptlet>
+ <span class="dr-label-text-decor rich-label-text-decor">
+ <u:insertFacet name="labelDisabled" />
+ </span>
+ <jsp:scriptlet>
+ <![CDATA[} else if(component.getFacet("label")!=null &&
component.getFacet("label").isRendered()) {]]>
</jsp:scriptlet>
<span class="dr-label-text-decor rich-label-text-decor">
<u:insertFacet name="label" />
@@ -48,6 +69,15 @@
</vcp:body>
</div>
- </div>
-
+ <jsp:scriptlet>
+ <![CDATA[if (!((org.richfaces.component.UIDropDownMenu)component).isDisabled())
{]]>
+ </jsp:scriptlet>
+ </div>
+ <jsp:scriptlet>
+ <![CDATA[} else {]]>
+ </jsp:scriptlet>
+ </div>
+ <jsp:scriptlet>
+ <![CDATA[}]]>
+ </jsp:scriptlet>
</f:root>
\ No newline at end of file