[richfaces-svn-commits] JBoss Rich Faces SVN: r867 - in trunk/richfaces/panelmenu/src/main: resources/org/richfaces/renderkit/html/css and 1 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Thu May 24 09:56:15 EDT 2007
Author: dbiatenia
Date: 2007-05-24 09:56:15 -0400 (Thu, 24 May 2007)
New Revision: 867
Modified:
trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuGroupRenderer.java
trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRenderer.java
trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java
trunk/richfaces/panelmenu/src/main/resources/org/richfaces/renderkit/html/css/panelMenu.xcss
trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx
trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx
Log:
Modified: trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuGroupRenderer.java
===================================================================
--- trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuGroupRenderer.java 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuGroupRenderer.java 2007-05-24 13:56:15 UTC (rev 867)
@@ -158,4 +158,27 @@
.append(group.getDisabledStyle());
return styleBuffer.toString();
}
+
+ public String getHideStyle(FacesContext context, UIComponent component) {
+ // TODO Auto-generated method stub
+ if (!(component.getParent() instanceof UIPanelMenu)) {
+ CSSFormat format = new CSSFormat();
+ format.add("display", "none");
+ if(component.getParent() instanceof UIPanelMenuGroup) {
+ UIPanelMenuGroup parent = (UIPanelMenuGroup)component.getParent();
+ PanelMenuGroupRenderer renderer = (PanelMenuGroupRenderer) context.getRenderKit().getRenderer(parent.getFamily(), parent.getRendererType());
+ try {
+ if ( renderer.isOpened(context, parent).equals("opened") ){
+ return "";
+ } else
+ return format.toString();
+ } catch (IOException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ } else return format.toString();
+ }
+ return "";
+
+ }
}
Modified: trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRenderer.java
===================================================================
--- trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRenderer.java 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRenderer.java 2007-05-24 13:56:15 UTC (rev 867)
@@ -95,9 +95,9 @@
else if (event.startsWith("on"))
event = event.substring(2);
- String onopen = child instanceof UIPanelMenuGroup ?
+ String onopen = (child instanceof UIPanelMenuGroup) && !((UIPanelMenuGroup)child).isDisabled() && !isParentDisabled(child) ?
parentMenu.getOngroupexpand() + ";" + ((UIPanelMenuGroup)child).getOnexpand() : "";
- String onclose = child instanceof UIPanelMenuGroup ?
+ String onclose = (child instanceof UIPanelMenuGroup) && !((UIPanelMenuGroup)child).isDisabled() && !isParentDisabled(child) ?
parentMenu.getOngroupcollapse() + ";" + ((UIPanelMenuGroup)child).getOncollapse() : "";
String hoveredStyle = (child instanceof UIPanelMenuGroup ?
parentMenu.getHoveredGroupStyle() : parentMenu.getHoveredItemStyle())
@@ -118,8 +118,11 @@
else
targetString = target.toString();
+
+
if (childRendered && parentRendered){
- if (childDisabled==null || !childDisabled.toString().equals("true")){
+ if ( ( childDisabled==null || !childDisabled.toString().equals("true") ) &&
+ !isParentDisabled(child)){
buffer
.append("new PanelMenuItem({myId:'")
.append((String) child.getClientId(context))
Modified: trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java
===================================================================
--- trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/java/org/richfaces/renderkit/PanelMenuRendererBase.java 2007-05-24 13:56:15 UTC (rev 867)
@@ -164,19 +164,21 @@
return "opened";
}
} else {
+ boolean isParentDisabled = isParentDisabled(component);
if(component instanceof UIPanelMenuGroup){
- if( ((UIPanelMenuGroup)component).isExpanded() ){
+ if( ((UIPanelMenuGroup)component).isExpanded() && !((UIPanelMenuGroup)component).isDisabled() && !isParentDisabled ){
return "opened";
} else {
//check expanded attributes in children groups, if exists
- return isChildrenExpanded(component) ? "opened" : "closed";
+ boolean isChildrenExpanded = isChildrenExpanded(component);
+ return isChildrenExpanded && !isParentDisabled && !((UIPanelMenuGroup)component).isDisabled() ? "opened" : "closed";
}
}
}
return "closed";
}
- public boolean isChildrenExpanded(UIComponent component){
+ protected boolean isChildrenExpanded(UIComponent component){
if (component.getChildren() != null){
Iterator itr = component.getChildren().iterator();
while(itr.hasNext()){
@@ -193,6 +195,20 @@
return false;
}
+ protected boolean isParentDisabled(UIComponent component){
+ boolean returnValue = false;
+ UIComponent parent = component.getParent();
+ if(parent instanceof UIPanelMenuGroup){
+ UIPanelMenuGroup parentGroup = (UIPanelMenuGroup)parent;
+ if(parentGroup.isDisabled()){
+ returnValue = true;
+ } else {
+ returnValue = isParentDisabled(parentGroup);
+ }
+ }
+ return returnValue;
+ }
+
protected boolean isSubmitted(FacesContext context, UIComponent component){
boolean submitted = false;
String clientId = component.getClientId(context);
Modified: trunk/richfaces/panelmenu/src/main/resources/org/richfaces/renderkit/html/css/panelMenu.xcss
===================================================================
--- trunk/richfaces/panelmenu/src/main/resources/org/richfaces/renderkit/html/css/panelMenu.xcss 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/resources/org/richfaces/renderkit/html/css/panelMenu.xcss 2007-05-24 13:56:15 UTC (rev 867)
@@ -37,6 +37,26 @@
<f:resource f:key="org.richfaces.renderkit.gradientImages.PanelMenuGroupGradient" />
</u:style>
</u:selector>
+ <u:selector name=".dr-pmenu-disabled-group">
+ <u:style name="width" value="100%"/>
+ <u:style name="padding" value="0px"/>
+ <u:style name="vertical-align" value="middle"/>
+ <u:style name="cursor" value="default"/>
+ <u:style name="text-align" value="left"/>
+ <u:style name="font-weight" skin="headerWeightFont"/>
+ <u:style name="font-family" skin="headerFamilyFont"/>
+ <u:style name="font-size" skin="headerSizeFont"/>
+ <u:style name="color" skin="headerBackgroundColor"/>
+ <u:style name="border-style" value="none"/>
+ <u:style name="border-top-style" value="solid"/>
+ <u:style name="border-color" skin="panelBorderColor"/>
+ <u:style name="background-color" skin="headerBackgroundColor"/>
+ <u:style name="background-image" >
+ <f:resource f:key="org.richfaces.renderkit.gradientImages.PanelMenuGroupGradient" />
+ </u:style>
+ </u:selector>
+
+
<u:selector name=".dr-pmenu-item">
<u:style name="width" value="100%"/>
Modified: trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx
===================================================================
--- trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuGroup.jspx 2007-05-24 13:56:15 UTC (rev 867)
@@ -13,10 +13,25 @@
<f:clientid var="clientId"/>
<tr id="tdhide#{clientId}" style="#{this:getHideStyle(context, component)}" >
- <td>
+ <td>
+ <jsp:scriptlet>
+ <![CDATA[
+ String itemClass;
+ String onClick;
+ if (component.isDisabled()) {
+ itemClass="rich-pmenu-item dr-pmenu-disabled-group ";
+ //onClick="";
+ } else {
+ itemClass="rich-pmenu-group dr-pmenu-group ";
+ //onClick = component.getAttributes().get("onclick") + ";" + getOnClick(context, component);
+ }
+ variables.setVariable("itemClass", itemClass);
+ //variables.setVariable("onClick", onClick);
+ ]]>
+ </jsp:scriptlet>
<table cellpadding="0" cellspacing="0" border="0" width="100%"
id="tablehide#{clientId}"
- class="rich-pmenu-group dr-pmenu-group #{this:getFullStyleClass( context, component )}"
+ class="#{itemClass} #{this:getFullStyleClass( context, component )}"
style="#{this:getFullStyle( context, component )}" >
<f:call name="utils.encodeAttributes">
Modified: trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx
===================================================================
--- trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx 2007-05-24 13:38:05 UTC (rev 866)
+++ trunk/richfaces/panelmenu/src/main/templates/org/richfaces/htmlPanelMenuItem.jspx 2007-05-24 13:56:15 UTC (rev 867)
@@ -17,21 +17,21 @@
<jsp:scriptlet>
<![CDATA[
String itemClass;
- String onOnClick;
+ String onClick;
if (component.isDisabled()) {
itemClass="rich-pmenu-item dr-pmenu-disabled-item ";
- onOnClick="";
+ onClick="";
} else {
itemClass="rich-pmenu-item dr-pmenu-item ";
- onOnClick = component.getAttributes().get("onclick") + ";" + getOnClick(context, component);
+ onClick = component.getAttributes().get("onclick") + ";" + getOnClick(context, component);
}
variables.setVariable("itemClass", itemClass);
- variables.setVariable("onOnClick", onOnClick);
+ variables.setVariable("onClick", onClick);
]]>
</jsp:scriptlet>
<table cellpadding="0" cellspacing="0" border="0" width="100%"
class="#{itemClass} #{this:getFullStyleClass( context, component )}"
- style="#{this:getFullStyle( context, component )}"
+ style="#{this:getFullStyle( context, component )}"
id="tablehide#{clientId}" >
<f:call name="utils.encodeAttributes">
<f:parameter value="onmousedown,onmouseup,onmousemove" />
More information about the richfaces-svn-commits
mailing list