From richfaces-svn-commits at lists.jboss.org Thu Nov 18 11:10:21 2010 Content-Type: multipart/mixed; boundary="===============8585363406298737189==" MIME-Version: 1.0 From: richfaces-svn-commits at lists.jboss.org To: richfaces-svn-commits at lists.jboss.org Subject: [richfaces-svn-commits] JBoss Rich Faces SVN: r20091 - in trunk: examples/iteration-demo/src/main/webapp and 4 other directories. Date: Thu, 18 Nov 2010 11:10:19 -0500 Message-ID: <201011181610.oAIGAJHB013873@svn01.web.mwc.hst.phx2.redhat.com> --===============8585363406298737189== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: nbelaevski Date: 2010-11-18 11:10:17 -0500 (Thu, 18 Nov 2010) New Revision: 20091 Modified: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean.= java trunk/examples/iteration-demo/src/main/webapp/tree.xhtml trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTree= Node.java trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeRend= ererBase.java trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeStat= e.java trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richface= s/tree.ecss trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richface= s/tree.js trunk/ui/iteration/ui/src/main/templates/treeNode.template.xml Log: https://jira.jboss.org/browse/RF-9715 Modified: trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/Tr= eeBean.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean= .java 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/examples/iteration-demo/src/main/java/org/richfaces/demo/TreeBean= .java 2010-11-18 16:10:17 UTC (rev 20091) @@ -56,6 +56,8 @@ = private Object nodeData; = + private boolean showCustomClasses =3D true; + = private Collection selection =3D new TracingSet(); = @PostConstruct @@ -113,4 +115,12 @@ FacesContext facesContext =3D FacesContext.getCurrentInstance(); facesContext.addMessage(null, new FacesMessage("Clicked node: " + = getNodeData())); } + = + public boolean isShowCustomClasses() { + return showCustomClasses; + } + = + public void setShowCustomClasses(boolean showCustomClasses) { + this.showCustomClasses =3D showCustomClasses; + } } Modified: trunk/examples/iteration-demo/src/main/webapp/tree.xhtml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/examples/iteration-demo/src/main/webapp/tree.xhtml 2010-11-18 16:= 05:30 UTC (rev 20090) +++ trunk/examples/iteration-demo/src/main/webapp/tree.xhtml 2010-11-18 16:= 10:17 UTC (rev 20091) @@ -8,6 +8,25 @@ = Richfaces Tree + = + /**/ = @@ -21,6 +40,8 @@ Selection mode: + = + Show custom classes: = @@ -53,9 +74,11 @@ = + selectionType=3D"#{treeBean.selectionType}" toggleType=3D"#{treeBean.to= ggleType}" + styleClass=3D"#{treeBean.showCustomClasses ? 'customClass' : ''}"> = - + #{node.data} Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/component/Abstr= actTreeNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eNode.java 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/component/AbstractTre= eNode.java 2010-11-18 16:10:17 UTC (rev 20091) @@ -99,7 +99,13 @@ public abstract String getIconExpanded(); = public abstract String getIconCollapsed(); + + public abstract String getHandleClass(); = + public abstract String getIconClass(); + = + public abstract String getLabelClass(); + = protected Boolean getLocalExpandedValue(FacesContext facesContext) { return (Boolean) getStateHelper().get(PropertyKeys.expanded); } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeN= odeRendererBase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeRen= dererBase.java 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeRen= dererBase.java 2010-11-18 16:10:17 UTC (rev 20091) @@ -87,19 +87,21 @@ return (TreeNodeState) context.getAttributes().get(TreeEncoderBase= .TREE_NODE_STATE_ATTRIBUTE); } = - protected void encodeDefaultHandle(FacesContext context, UIComponent c= omponent, String styleClass) throws IOException { + protected void encodeDefaultIcon(FacesContext context, UIComponent com= ponent, String styleClass) throws IOException { ResponseWriter writer =3D context.getResponseWriter(); = writer.startElement(HtmlConstants.SPAN_ELEM, component); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClass, n= ull); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, = + concatClasses(styleClass, component.getAttributes().get("iconC= lass")), null); writer.endElement(HtmlConstants.SPAN_ELEM); } = - protected void encodeCustomHandle(FacesContext context, UIComponent co= mponent, String styleClass, String iconSource) throws IOException { + protected void encodeCustomIcon(FacesContext context, UIComponent comp= onent, String styleClass, String iconSource) throws IOException { ResponseWriter writer =3D context.getResponseWriter(); = writer.startElement(HtmlConstants.IMG_ELEMENT, component); - writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, styleClass, n= ull); + writer.writeAttribute(HtmlConstants.CLASS_ATTRIBUTE, = + concatClasses(styleClass, component.getAttributes().get("iconC= lass")), null); writer.writeAttribute(HtmlConstants.ALT_ATTRIBUTE, "", null); writer.writeURIAttribute(HtmlConstants.SRC_ATTRIBUTE, RenderKitUti= ls.getResourceURL(iconSource, context), null); writer.endElement(HtmlConstants.IMG_ELEMENT); @@ -107,39 +109,39 @@ = = = - protected void encodeHandle(FacesContext context, UIComponent componen= t) throws IOException { + protected void encodeIcon(FacesContext context, UIComponent component)= throws IOException { TreeNodeState nodeState =3D getNodeState(context); = AbstractTreeNode treeNode =3D (AbstractTreeNode) component; = if (nodeState.isLeaf()) { String iconLeaf =3D (String) treeNode.getAttributes().get("ico= nLeaf"); - encodeHandleForNodeState(context, treeNode, nodeState, iconLea= f); + encodeIconForNodeState(context, treeNode, nodeState, iconLeaf); } else { String iconExpanded =3D (String) treeNode.getAttributes().get(= "iconExpanded"); String iconCollapsed =3D (String) treeNode.getAttributes().get= ("iconCollapsed"); = if (Strings.isNullOrEmpty(iconCollapsed) && Strings.isNullOrEm= pty(iconExpanded)) { - encodeDefaultHandle(context, component, nodeState.getDefau= ltHandleClass()); + encodeDefaultIcon(context, component, nodeState.getIconCla= ss()); } else { SwitchType toggleType =3D treeNode.findTreeComponent().get= ToggleType(); = if (toggleType =3D=3D SwitchType.client || nodeState =3D= =3D TreeNodeState.collapsed) { - encodeHandleForNodeState(context, treeNode, TreeNodeSt= ate.collapsed, iconCollapsed); + encodeIconForNodeState(context, treeNode, TreeNodeStat= e.collapsed, iconCollapsed); } = if (toggleType =3D=3D SwitchType.client || nodeState =3D= =3D TreeNodeState.expanded) { - encodeHandleForNodeState(context, treeNode, TreeNodeSt= ate.expanded, iconExpanded); + encodeIconForNodeState(context, treeNode, TreeNodeStat= e.expanded, iconExpanded); } } } } = - protected void encodeHandleForNodeState(FacesContext context, Abstract= TreeNode treeNode, TreeNodeState nodeState, String cutomIcon) throws IOExce= ption { - if (Strings.isNullOrEmpty(cutomIcon)) { - encodeDefaultHandle(context, treeNode, nodeState.getDefaultHan= dleClass()); + protected void encodeIconForNodeState(FacesContext context, AbstractTr= eeNode treeNode, TreeNodeState nodeState, String customIcon) throws IOExcep= tion { + if (Strings.isNullOrEmpty(customIcon)) { + encodeDefaultIcon(context, treeNode, nodeState.getIconClass()); } else { - encodeCustomHandle(context, treeNode, nodeState.getCustomHandl= eClass(), cutomIcon); + encodeCustomIcon(context, treeNode, nodeState.getCustomIconCla= ss(), customIcon); } } } Modified: trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeN= odeState.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeSta= te.java 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/java/org/richfaces/renderkit/TreeNodeSta= te.java 2010-11-18 16:10:17 UTC (rev 20091) @@ -24,19 +24,19 @@ import org.richfaces.component.util.HtmlUtil; = public enum TreeNodeState { - expanded("rf-tr-nd-exp", "rf-trn-hnd-exp", "rf-trn-hnd-exp rf-trn-hnd-= cst", "rf-trn-ico-nd") { + expanded("rf-tr-nd-exp", "rf-trn-hnd-exp", "rf-trn-ico-exp") { @Override public boolean isLeaf() { return false; } }, = - collapsed("rf-tr-nd-colps", "rf-trn-hnd-colps", "rf-trn-hnd-colps rf-t= rn-hnd-cst", "rf-trn-ico-nd") { + collapsed("rf-tr-nd-colps", "rf-trn-hnd-colps", "rf-trn-ico-colps") { @Override public boolean isLeaf() { return false; } }, = - leaf("rf-tr-nd-lf", "rf-trn-hnd-lf", "rf-trn-hnd-lf rf-trn-hnd-cst", "= rf-trn-ico-lf") { + leaf("rf-tr-nd-lf", "rf-trn-hnd-lf", "rf-trn-ico-lf") { @Override public boolean isLeaf() { return true; @@ -45,17 +45,17 @@ = private String nodeClass; = - private String defaultHandleClass; + private String handleClass; = - private String customHandleClass; + private String iconClass; = - private String iconClass; + private String customIconClass; = - private TreeNodeState(String nodeClass, String defaultHandleClass, Str= ing customHandleClass, String iconClass) { + private TreeNodeState(String nodeClass, String defaultHandleClass, Str= ing iconClass) { this.nodeClass =3D nodeClass; - this.defaultHandleClass =3D HtmlUtil.concatClasses(defaultHandleCl= ass, "rf-trn-hnd"); - this.customHandleClass =3D HtmlUtil.concatClasses(customHandleClas= s, "rf-trn-hnd"); - this.iconClass =3D iconClass; + this.handleClass =3D HtmlUtil.concatClasses(defaultHandleClass, "r= f-trn-hnd"); + this.iconClass =3D HtmlUtil.concatClasses(iconClass, "rf-trn-ico"); + this.customIconClass =3D HtmlUtil.concatClasses(this.iconClass, "r= f-trn-ico-cst"); } = public abstract boolean isLeaf(); @@ -64,15 +64,15 @@ return nodeClass; } = - public String getDefaultHandleClass() { - return defaultHandleClass; + public String getHandleClass() { + return handleClass; } = public String getIconClass() { return iconClass; } = - public String getCustomHandleClass() { - return customHandleClass; + public String getCustomIconClass() { + return customIconClass; } } \ No newline at end of file Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/tree.ecss =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/tree.ecss 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/tree.ecss 2010-11-18 16:10:17 UTC (rev 20091) @@ -58,7 +58,7 @@ background: "url(#{resource['org.richfaces.images:minus.png']}) no-repeat= center"; } = -.rf-trn-ico-nd { +.rf-trn-ico-exp, .rf-trn-ico-colps { background: "url(#{resource['org.richfaces.images:node_icon.gif']}) no-re= peat center"; } = @@ -66,12 +66,12 @@ background: "url(#{resource['org.richfaces.images:leaf_icon.gif']}) no-re= peat center"; } = -.rf-trn-hnd-cst { - background: none; +.rf-trn-ico-cst { + background-image: none; + background-position: 0% 0%; } = -.rf-tr-nd-colps > .rf-trn > .rf-trn-hnd-exp, -.rf-tr-nd-exp > .rf-trn > .rf-trn-hnd-colps { +.rf-tr-nd-exp > .rf-trn > .rf-trn-cnt > .rf-trn-ico-colps, .rf-tr-nd-colps= > .rf-trn > .rf-trn-cnt > .rf-trn-ico-exp { display: none; } = Modified: trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.r= ichfaces/tree.js =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/tree.js 2010-11-18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/resources/META-INF/resources/org.richfac= es/tree.js 2010-11-18 16:10:17 UTC (rev 20091) @@ -31,6 +31,8 @@ = var TREE_HANDLE_CLASSES =3D ["rf-trn-hnd-colps", "rf-trn-hnd-exp"]; = + var TREE_ICON_CLASSES =3D ["rf-trn-ico-colps", "rf-trn-ico-exp"]; + richfaces.ui =3D richfaces.ui || {}; = richfaces.ui.TreeNode =3D richfaces.BaseComponent.extendClass({ @@ -65,14 +67,18 @@ }); }, = - __getHandles: function() { - return this.__rootElt.find(" > .rf-trn:first > .rf-trn-hnd"); + __getHandle: function() { + return this.__rootElt.find(" > .rf-trn:first > .rf-trn-hnd:first"); }, = __getContent: function() { return this.__rootElt.find(" > .rf-trn:first > .rf-trn-cnt:first"); }, = + __getIcons: function() { + return this.__getContent().find(" > .rf-trn-ico"); + }, + getParent: function() { return this.__parent; }, @@ -157,11 +163,11 @@ switch (tree.getToggleType()) { case 'client': this.__rootElt.addClass(TREE_CLASSES[newState ? 1 : 0]).removeClass= (TREE_CLASSES[!newState ? 1 : 0]); - = - var handles =3D this.__getHandles(); - = - if (handles.length =3D=3D 1) { - handles.addClass(TREE_HANDLE_CLASSES[newState ? 1 : 0]).removeClas= s(TREE_HANDLE_CLASSES[!newState ? 1 : 0]); + this.__getHandle().addClass(TREE_HANDLE_CLASSES[newState ? 1 : 0]).= removeClass(TREE_HANDLE_CLASSES[!newState ? 1 : 0]); + + var icons =3D this.__getIcons(); + if (icons.length =3D=3D 1) { + icons.addClass(TREE_ICON_CLASSES[newState ? 1 : 0]).removeClass(TR= EE_ICON_CLASSES[!newState ? 1 : 0]); } = this.__updateClientToggleStateInput(newState); Modified: trunk/ui/iteration/ui/src/main/templates/treeNode.template.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/ui/iteration/ui/src/main/templates/treeNode.template.xml 2010-11-= 18 16:05:30 UTC (rev 20090) +++ trunk/ui/iteration/ui/src/main/templates/treeNode.template.xml 2010-11-= 18 16:10:17 UTC (rev 20091) @@ -19,11 +19,11 @@ =
- + = - - + + --===============8585363406298737189==--