JBoss Rich Faces SVN: r9643 - trunk/test-applications/jsp/src/main/webapp/styles.
by richfaces-svn-commits@lists.jboss.org
Author: mvitenkov
Date: 2008-07-17 03:55:19 -0400 (Thu, 17 Jul 2008)
New Revision: 9643
Modified:
trunk/test-applications/jsp/src/main/webapp/styles/styles.css
Log:
Modified: trunk/test-applications/jsp/src/main/webapp/styles/styles.css
===================================================================
--- trunk/test-applications/jsp/src/main/webapp/styles/styles.css 2008-07-16 17:11:31 UTC (rev 9642)
+++ trunk/test-applications/jsp/src/main/webapp/styles/styles.css 2008-07-17 07:55:19 UTC (rev 9643)
@@ -15,7 +15,7 @@
/* Message and messages */
.rich-message-label {
- padding: 0px 10px;
+ padding: 0px 10px;
}
.rich-messages-label {
@@ -58,7 +58,7 @@
.style {
background: red;
border: solid 3px red;
- font: bold 14px;
+ font: bold 14px tahoma;
}
/* inputNumderSlider Styles */
@@ -76,7 +76,7 @@
.tipStyle {
border: green 3px solid;
background-color: yellow;
- font: italic bold 14px;
+ font: bold 14px italic;
}
.handleStyle {
@@ -88,32 +88,32 @@
.activeTabStyle {
background: lime;
border: solid 3px black;
- font: italic 14px;
+ font: italic 14px normal;
}
.inactiveTabStyle {
background: gray;
border: solid 3px blue;
- font: bold 14px;
+ font: bold 14px normal;
}
.disabledTabStyle {
background: silver;
border: dotted 3px blue;
- font: small-caps 14px;
+ font: small-caps 14px san-serif;
}
.contentStyle {
background: silver;
border: 1px red;
- font: 20px;
+ font: normal 20px san-serif;
}
/* inputNumerSpinner Styles*/
.inputStyle {
background: aqua;
border: thin red;
- font: fantasy 15px;
+ font: normal 15px fantasy;
}
/* ToolBar Styles*/
@@ -125,7 +125,7 @@
.contentClass {
background: silver;
border: 1px red;
- font: 20px;
+ font: normal 20px tahoma;
}
.toolBarClass {
@@ -270,7 +270,7 @@
}
.body {
- background-color: pink;
+ background-color: purple;
}
.test{
color: green;
16 years, 2 months
JBoss Rich Faces SVN: r9642 - trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts.
by richfaces-svn-commits@lists.jboss.org
Author: vmolotkov
Date: 2008-07-16 13:11:31 -0400 (Wed, 16 Jul 2008)
New Revision: 9642
Modified:
trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js
Log:
https://jira.jboss.com/jira/browse/RF-2009
Modified: trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js
===================================================================
--- trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js 2008-07-16 15:55:57 UTC (rev 9641)
+++ trunk/ui/tooltip/src/main/resources/org/richfaces/renderkit/html/scripts/tooltip.js 2008-07-16 17:11:31 UTC (rev 9642)
@@ -470,6 +470,9 @@
this.toolTip.style.left = "0px";
var offsets = Richfaces.ToolTip.cumulativeOffset(this.toolTip);
+
+ var offsetWidth = this.toolTip.offsetWidth;
+ var offsetHeight = this.toolTip.offsetHeight;
this.toolTip.style.visibility = _visibility;
this.toolTip.style.display = _display;
@@ -502,6 +505,9 @@
{
this.iframe.style.top = (coords.y - this.toolTipBorderHeight) + 'px';
this.iframe.style.left = (coords.x - this.toolTipBorderWidth) + 'px';
+
+ this.iframe.style.width = offsetWidth + 'px';
+ this.iframe.style.height = offsetHeight + 'px';
}
this.eventCopy = A4J.AJAX.CloneObject(e, false);
},
16 years, 2 months
JBoss Rich Faces SVN: r9641 - trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html.
by richfaces-svn-commits@lists.jboss.org
Author: abelevich
Date: 2008-07-16 11:55:57 -0400 (Wed, 16 Jul 2008)
New Revision: 9641
Modified:
trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRenderer.java
Log:
https://jira.jboss.com/jira/browse/RF-3916
Modified: trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRenderer.java
===================================================================
--- trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRenderer.java 2008-07-16 15:48:07 UTC (rev 9640)
+++ trunk/ui/core/src/main/java/org/ajax4jsf/renderkit/html/HtmlCommandLinkRenderer.java 2008-07-16 15:55:57 UTC (rev 9641)
@@ -213,7 +213,7 @@
}
if (null != valueString && valueString.length()>0) {
- writer.write(valueString);
+ writer.writeText(valueString,null);
}
}
}
16 years, 2 months
JBoss Rich Faces SVN: r9640 - in trunk: test-applications/jsp/src/main/java/tree and 2 other directories.
by richfaces-svn-commits@lists.jboss.org
Author: dmorozov
Date: 2008-07-16 11:48:07 -0400 (Wed, 16 Jul 2008)
New Revision: 9640
Modified:
trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java
trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java
trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java
trunk/test-applications/jsp/src/main/java/tree/TreeDndBean.java
trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
trunk/ui/tree/src/main/java/org/richfaces/component/state/TreeState.java
Log:
https://jira.jboss.com/jira/browse/RF-3838
Modified: trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/AbstractTreeDataModel.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -124,6 +124,16 @@
* @return current tree node
*/
public abstract TreeNode getTreeNode();
+
+ /**
+ * Get model node recursively with all sub nodes.
+ * Note: valid only for classical TreeNode based tree data model implementation
+ *
+ * @return current tree node
+ */
+ public TreeNode getModelTreeNode() {
+ return getTreeNode();
+ }
public abstract Object convertToKey(FacesContext context, String keyString,
UIComponent component, Converter converter);
@@ -151,4 +161,12 @@
public Object getParentRowKey(Object key) {
return ((TreeRowKey) key).getParentKey();
}
+
+ public void addNode(Object parentRowKey, TreeNode newNode, Object id) {
+ throw new UnsupportedOperationException();
+ }
+
+ public void removeNode(Object rowKey) {
+ throw new UnsupportedOperationException();
+ }
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/CacheableTreeDataModel.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -29,6 +29,8 @@
import org.ajax4jsf.model.DataVisitor;
import org.ajax4jsf.model.Range;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
/**
* Extension of {@link TreeDataModel} supporting lazy data fetching for caching
@@ -38,7 +40,9 @@
* @author Nick - mailto:nbelaevski@exadel.com
*/
public abstract class CacheableTreeDataModel<T> extends TreeDataModel<T> {
-
+
+ private Log log = LogFactory.getLog(CacheableTreeDataModel.class);
+
private final class Visitor implements DataVisitor, LastElementAware {
private final DataVisitor visitor;
@@ -177,4 +181,65 @@
public T locateTreeNode(TreeRowKey rowKey) {
return locateTreeNode(rowKey, true);
}
+
+ @Override
+ public void addNode(Object parentRowKey, TreeNode newNode, Object id) {
+ super.addNode(parentRowKey, newNode, id);
+
+ if (treeDataModel != null) {
+ Object savedRowKey = treeDataModel.getRowKey();
+
+ try {
+ treeDataModel.setRowKey(getRowKey());
+ treeDataModel.addNode(parentRowKey, newNode, id);
+ } finally {
+ try {
+ treeDataModel.setRowKey(savedRowKey);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+ }
+
+ @Override
+ public void removeNode(Object rowKey) {
+ super.removeNode(rowKey);
+
+ if (treeDataModel != null) {
+ Object savedRowKey = treeDataModel.getRowKey();
+
+ try {
+ treeDataModel.setRowKey(getRowKey());
+ treeDataModel.removeNode(rowKey);
+ } finally {
+ try {
+ treeDataModel.setRowKey(savedRowKey);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+ }
+
+ @Override
+ public TreeNode getModelTreeNode() {
+ TreeNode node = null;
+ if (treeDataModel != null) {
+ Object savedRowKey = treeDataModel.getRowKey();
+
+ try {
+ treeDataModel.setRowKey(getRowKey());
+ node = treeDataModel.getModelTreeNode();
+ } finally {
+ try {
+ treeDataModel.setRowKey(savedRowKey);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ }
+ }
+
+ return node;
+ }
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ClassicCacheableTreeDataModel.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -59,4 +59,13 @@
}
}
+ @Override
+ public TreeNode getTreeNode() {
+ if (isRowAvailable()) {
+ return locateTreeNode((TreeRowKey) getRowKey());
+ }
+
+ throw new IllegalStateException(
+ "No tree element available or row key not set!");
+ }
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ClassicTreeDataModel.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -45,6 +45,7 @@
super(TreeNode.class, TreeDataModelNodeAdaptor.classicTreeNodeAdaptor, null);
}
+ @Override
public TreeNode getTreeNode() {
if (isRowAvailable()) {
return locateTreeNode((TreeRowKey) getRowKey());
Modified: trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/ListRowKey.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -151,7 +151,8 @@
return path.listIterator(fromIndex);
}
- public ListRowKey<T> getSubKey(int fromIndex) {
+ @Override
+ public TreeRowKey<T> getSubKey(int fromIndex) {
return new ListRowKey<T>(path.subList(fromIndex, path.size()));
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/TreeDataModel.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -366,4 +366,25 @@
public Object getChildNodeId(Object childNode) {
return getNodeAdaptor().getChildNodeId((T) childNode);
}
+
+ @Override
+ public void addNode(Object parentRowKey, TreeNode newNode, Object id) {
+ TreeNode parentNode = (parentRowKey != null) ? getTreeNode() : (TreeNode) getWrappedData();
+ if (parentNode == null) {
+ throw new IllegalArgumentException("Parent node required!");
+ }
+
+ parentNode.addChild(id, newNode);
+ }
+
+ @Override
+ public void removeNode(Object rowKey) {
+ TreeNode node = getTreeNode();
+ TreeNode parentNode = node.getParent();
+
+ // 1. remove node from data model
+ Object id = getChildNodeId(node);
+ parentNode.removeChild(id);
+ }
+
}
Modified: trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java
===================================================================
--- trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/framework/api/src/main/java/org/richfaces/model/TreeRowKey.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -89,4 +89,7 @@
public abstract TreeRowKey<T> getParentKey();
+ public TreeRowKey<T> getSubKey(int fromIndex) {
+ throw new UnsupportedOperationException();
+ }
}
Modified: trunk/test-applications/jsp/src/main/java/tree/TreeDndBean.java
===================================================================
--- trunk/test-applications/jsp/src/main/java/tree/TreeDndBean.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/test-applications/jsp/src/main/java/tree/TreeDndBean.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -295,7 +295,7 @@
Object state = null;
TreeNode draggedNode = null;
if (dragNodeKey != null) { // Drag from this or other tree
- draggedNode = srcTree.getTreeNode(dragNodeKey);
+ draggedNode = srcTree.getModelTreeNode(dragNodeKey);
TreeNode parentNode = draggedNode.getParent();
// 1. remove node from tree
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/UITree.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -22,13 +22,10 @@
package org.richfaces.component;
import java.io.IOException;
-import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Iterator;
-import java.util.List;
import java.util.Map;
-import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
@@ -192,6 +189,25 @@
return ((AbstractTreeDataModel) getExtendedDataModel()).getTreeNode();
}
+ public TreeNode getModelTreeNode() {
+ return ((AbstractTreeDataModel) getExtendedDataModel()).getModelTreeNode();
+ }
+
+ public TreeNode getModelTreeNode(Object rowKey) {
+ FacesContext context = this.getFacesContext();
+ Object storedKey = getRowKey();
+ try {
+ setRowKey(context, rowKey);
+ return getModelTreeNode();
+ } finally {
+ try {
+ setRowKey(context, storedKey);
+ } catch (Exception e) {
+ context.getExternalContext().log(e.getMessage(), e);
+ }
+ }
+ }
+
public abstract boolean isImmediate();
public abstract void setImmediate(boolean immediate);
@@ -861,11 +877,10 @@
* @return {@link TreeNode} instance corresponding to the current row key
*/
public TreeNode getTreeNode(Object rowKey) {
- FacesContext context = FacesContext.getCurrentInstance();
+ FacesContext context = this.getFacesContext();
Object storedKey = getRowKey();
try {
setRowKey(context, rowKey);
-
return getTreeNode();
} finally {
try {
@@ -1025,31 +1040,14 @@
* @param transferQueuedNodes whether to collect queued expanded nodes states or not
* @return tree node state
*/
- public Object getTreeNodeState(boolean transferQueuedNodes) {
+ public Object getTreeNodeState() {
// Check for node were choosed
TreeRowKey rowKey = (TreeRowKey) getRowKey();
if (rowKey == null) {
return null;
}
TreeState state = (TreeState) getComponentState();
- if (transferQueuedNodes) {
- state.transferQueuedNodes();
- }
- TreeState subTreeState = (TreeState) createComponentState();
- if (state.getSelectedNode() != null && rowKey.equals(state.getSelectedNode())) {
- subTreeState.setSelected(rowKey);
- }
-
- Set subNodes = subTreeState.getExpandedNodes();
- Set nodes = state.getExpandedNodes();
- Iterator iter = nodes.iterator();
- while (iter != null && iter.hasNext()) {
- ListRowKey key = (ListRowKey) iter.next();
- if (key != null && (rowKey.isSubKey(key) || rowKey.equals(key))) {
- subNodes.add(key.getSubKey(rowKey.depth() - 1));
- }
- }
- return subTreeState;
+ return state.getSubState(rowKey);
}
/**
@@ -1059,25 +1057,14 @@
*/
public void setTreeNodeState(Object state) {
// Check for node were choosed
- ListRowKey rowKey = (ListRowKey) getRowKey();
+ TreeRowKey rowKey = (TreeRowKey) getRowKey();
if (rowKey == null) {
return;
}
- TreeState currentState = (TreeState) getComponentState();
- Set currentNodes = currentState.getExpandedNodes();
-
if (state instanceof TreeState) {
- Set nodes = ((TreeState) state).getExpandedNodes();
- Iterator iter = nodes.iterator();
- while (iter != null && iter.hasNext()) {
- ListRowKey key = ((ListRowKey) iter.next()).getSubKey(1);
- if (key.depth() > 0) {
- currentNodes.add(new ListRowKey(rowKey, key));
- } else if (!currentNodes.contains(rowKey)) {
- currentNodes.add(rowKey);
- }
- }
+ TreeState currentState = (TreeState) getComponentState();
+ currentState.mergeSubState(rowKey, (TreeState) state);
}
}
@@ -1089,30 +1076,9 @@
if (rowKey == null) {
return;
}
- TreeState state = (TreeState) getComponentState();
- state.transferQueuedNodes();
- Set nodes = state.getExpandedNodes();
- if (rowKey.equals(state.getSelectedNode())) {
- state.setSelected(null);
- }
-
- // collect nodes to clean up
- List<TreeRowKey> nodesForRemove = new ArrayList<TreeRowKey>();
- Iterator iter = nodes.iterator();
- while (iter != null && iter.hasNext()) {
- TreeRowKey key = (TreeRowKey) iter.next();
- if (key != null && (rowKey.getPath().equals("null")
- || rowKey.isSubKey(key)
- || rowKey.equals(key))) {
- nodesForRemove.add(key);
- }
- }
-
- // remove states
- for (TreeRowKey key : nodesForRemove) {
- nodes.remove(key);
- }
+ TreeState state = (TreeState) getComponentState();
+ state.clearSubState(rowKey);
}
/**
@@ -1128,15 +1094,12 @@
Object storedKey = getRowKey();
try {
setRowKey(context, rowKey);
- TreeNode node = getTreeNode();
- TreeNode parentNode = node.getParent();
- // 1. remove node from data model
- Object id = ((AbstractTreeDataModel) getExtendedDataModel()).getChildNodeId(node);
- parentNode.removeChild(id);
+ // remove node from data model
+ ((AbstractTreeDataModel) getExtendedDataModel()).removeNode(rowKey);
- // 2. clean up node state
- nodeState = getTreeNodeState(true);
+ // clean up node state
+ nodeState = getTreeNodeState();
clearTreeNodeState();
setRowKey(null);
} finally {
@@ -1176,20 +1139,17 @@
Object storedKey = getRowKey();
try {
setRowKey(context, parentRowKey);
- TreeNode parentNode = (parentRowKey != null) ?
- getTreeNode() : (TreeNode) getExtendedDataModel().getWrappedData();
- if (parentNode == null) {
- throw new IllegalArgumentException("Parent node required!");
- }
-
- parentNode.addChild(id, newNode);
-
+ // add node in data model
+ ((AbstractTreeDataModel) getExtendedDataModel()).addNode(parentRowKey, newNode, id);
+
// select new node as current
- setRowKey(getTreeNodeRowKey(newNode));
+ setRowKey(getTreeNodeRowKey(newNode));
+
+ // set node state if specified
if (state != null) {
setTreeNodeState(state);
- }
+ }
} finally {
try {
setRowKey(context, storedKey);
Modified: trunk/ui/tree/src/main/java/org/richfaces/component/state/TreeState.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/component/state/TreeState.java 2008-07-16 14:04:27 UTC (rev 9639)
+++ trunk/ui/tree/src/main/java/org/richfaces/component/state/TreeState.java 2008-07-16 15:48:07 UTC (rev 9640)
@@ -23,8 +23,10 @@
import java.io.IOException;
import java.io.Serializable;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Set;
import javax.faces.application.FacesMessage;
@@ -36,6 +38,7 @@
import org.ajax4jsf.model.Range;
import org.richfaces.component.UITree;
import org.richfaces.component.state.events.TreeStateCommandsListener;
+import org.richfaces.model.ListRowKey;
import org.richfaces.model.TreeRange;
import org.richfaces.model.TreeRowKey;
@@ -281,13 +284,107 @@
expandedNodes.removeAll(queuedCollapsedNodes);
queuedCollapsedNodes.clear();
}
+
+ private List<TreeRowKey> getAllSubKeys(Set nodes, TreeRowKey parent) {
+ List<TreeRowKey> keys = new ArrayList<TreeRowKey>();
+ Iterator<TreeRowKey> iter = nodes.iterator();
+ while (iter != null && iter.hasNext()) {
+ TreeRowKey key = iter.next();
+ if (key != null && (parent.isSubKey(key) || parent.equals(key))) {
+ keys.add(key);
+ }
+ }
+
+ return keys;
+ }
- /**
- * Get list of expanded tree nodes
- * @return list of expanded tree nodes
- */
- public Set getExpandedNodes() {
- return expandedNodes;
+ public TreeState getSubState(TreeRowKey rowKey) {
+ TreeState subTreeState = new TreeState(this.stopInCollapsed);
+ if (getSelectedNode() != null && rowKey.equals(getSelectedNode())) {
+ subTreeState.setSelected(rowKey);
+ }
+ // FIXME: whether it is needed?
+ subTreeState._transient = _transient;
+
+ List<TreeRowKey> nodes = getAllSubKeys(this.expandedNodes, rowKey);
+ Iterator<TreeRowKey> iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ subTreeState.expandedNodes.add(iter.next().getSubKey(rowKey.depth() - 1));
+ }
+
+ nodes = getAllSubKeys(this.queuedExpandedNodes, rowKey);
+ iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ subTreeState.queuedExpandedNodes.add(iter.next().getSubKey(rowKey.depth() - 1));
+ }
+
+ nodes = getAllSubKeys(this.queuedCollapsedNodes, rowKey);
+ iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ subTreeState.queuedCollapsedNodes.add(iter.next().getSubKey(rowKey.depth() - 1));
+ }
+
+ return subTreeState;
}
+
+ public void clearSubState(TreeRowKey rowKey) {
+ if (rowKey.equals(getSelectedNode())) {
+ setSelected(null);
+ }
+ if (rowKey.getPath().equals("null")) { // root node
+ this.expandedNodes.clear();
+ this.queuedCollapsedNodes.clear();
+ this.queuedExpandedNodes.clear();
+ } else {
+ // collect nodes to clean up
+ List<TreeRowKey> nodes = getAllSubKeys(this.expandedNodes, rowKey);
+ Iterator<TreeRowKey> iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ this.expandedNodes.remove(iter.next());
+ }
+
+ nodes = getAllSubKeys(this.queuedExpandedNodes, rowKey);
+ iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ this.queuedExpandedNodes.remove(iter.next());
+ }
+
+ nodes = getAllSubKeys(this.queuedCollapsedNodes, rowKey);
+ iter = nodes != null ? nodes.iterator() : null;
+ while (iter != null && iter.hasNext()) {
+ this.queuedCollapsedNodes.remove(iter.next());
+ }
+ }
+ }
+
+ public void mergeSubState(TreeRowKey rowKey, TreeState subState) {
+ Iterator<TreeRowKey> iter = subState.expandedNodes.iterator();
+ while (iter != null && iter.hasNext()) {
+ TreeRowKey key = iter.next().getSubKey(1);
+ if (key.depth() > 0) {
+ expandedNodes.add(new ListRowKey((ListRowKey)rowKey, (ListRowKey)key));
+ } else if (!expandedNodes.contains(rowKey)) {
+ expandedNodes.add(rowKey);
+ }
+ }
+ iter = subState.queuedExpandedNodes.iterator();
+ while (iter != null && iter.hasNext()) {
+ TreeRowKey key = iter.next().getSubKey(1);
+ if (key.depth() > 0) {
+ queuedExpandedNodes.add(new ListRowKey((ListRowKey)rowKey, (ListRowKey)key));
+ } else if (!queuedExpandedNodes.contains(rowKey)) {
+ queuedExpandedNodes.add(rowKey);
+ }
+ }
+ iter = subState.queuedCollapsedNodes.iterator();
+ while (iter != null && iter.hasNext()) {
+ TreeRowKey key = iter.next().getSubKey(1);
+ if (key.depth() > 0) {
+ queuedCollapsedNodes.add(new ListRowKey((ListRowKey)rowKey, (ListRowKey)key));
+ } else if (!queuedCollapsedNodes.contains(rowKey)) {
+ queuedCollapsedNodes.add(rowKey);
+ }
+ }
+ }
}
16 years, 2 months
JBoss Rich Faces SVN: r9639 - trunk/ui/progressBAR/src/main/java/org/richfaces/renderkit.
by richfaces-svn-commits@lists.jboss.org
Author: andrei_exadel
Date: 2008-07-16 10:04:27 -0400 (Wed, 16 Jul 2008)
New Revision: 9639
Modified:
trunk/ui/progressBAR/src/main/java/org/richfaces/renderkit/AbstractProgressBarRenderer.java
Log:
RF-3918
Modified: trunk/ui/progressBAR/src/main/java/org/richfaces/renderkit/AbstractProgressBarRenderer.java
===================================================================
--- trunk/ui/progressBAR/src/main/java/org/richfaces/renderkit/AbstractProgressBarRenderer.java 2008-07-16 13:42:17 UTC (rev 9638)
+++ trunk/ui/progressBAR/src/main/java/org/richfaces/renderkit/AbstractProgressBarRenderer.java 2008-07-16 14:04:27 UTC (rev 9639)
@@ -683,9 +683,12 @@
&& value.doubleValue() < maxValue.doubleValue()) {
return (Number) ((value.doubleValue() - minValue.doubleValue()) * 100.0 / (maxValue
.doubleValue() - minValue.doubleValue()));
- } else {
- return value;
- }
+ } else if (value.doubleValue() <= minValue.doubleValue()) {
+ return 0;
+ } else if (value.doubleValue() >= maxValue.doubleValue()) {
+ return 100;
+ }
+ return 0;
}
/**
16 years, 2 months
JBoss Rich Faces SVN: r9638 - trunk/test-applications/facelets/src/main/java/sortingAndFiltering.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-07-16 09:42:17 -0400 (Wed, 16 Jul 2008)
New Revision: 9638
Modified:
trunk/test-applications/facelets/src/main/java/sortingAndFiltering/SortingAndFiltering.java
Log:
in pursuit of https://jira.jboss.com/jira/browse/RF-3901 for facelets/jsf bundle
Modified: trunk/test-applications/facelets/src/main/java/sortingAndFiltering/SortingAndFiltering.java
===================================================================
--- trunk/test-applications/facelets/src/main/java/sortingAndFiltering/SortingAndFiltering.java 2008-07-16 13:41:17 UTC (rev 9637)
+++ trunk/test-applications/facelets/src/main/java/sortingAndFiltering/SortingAndFiltering.java 2008-07-16 13:42:17 UTC (rev 9638)
@@ -113,13 +113,14 @@
else if("ASCENDING".equals(currentSortOrder)) this.sortOrder = Ordering.ASCENDING;
this.currentSortOrder = currentSortOrder;
}
-
+
public boolean filterMethod(Object obj) {
- Data d = (Data)obj;
- if(d.getStr0().startsWith(filterInput)) return true;
- return false;
+ String value = ((Data) obj).getStr0();
+ if (null == value) {
+ return (null == filterInput);
+ }
+ return value.startsWith(filterInput);
}
-
public Comparator<Data> getComparator() {
return comparator;
16 years, 2 months
JBoss Rich Faces SVN: r9637 - trunk/docs/userguide/en/src/main/docbook/included.
by richfaces-svn-commits@lists.jboss.org
Author: cluts
Date: 2008-07-16 09:41:17 -0400 (Wed, 16 Jul 2008)
New Revision: 9637
Modified:
trunk/docs/userguide/en/src/main/docbook/included/column.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/column.xml
trunk/docs/userguide/en/src/main/docbook/included/columns.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/dataTable.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/inplaceInput.xml
trunk/docs/userguide/en/src/main/docbook/included/messages.xml
trunk/docs/userguide/en/src/main/docbook/included/panelBarItem.xml
trunk/docs/userguide/en/src/main/docbook/included/panelMenu.xml
trunk/docs/userguide/en/src/main/docbook/included/panelMenuGroup.xml
trunk/docs/userguide/en/src/main/docbook/included/panelMenuItem.xml
trunk/docs/userguide/en/src/main/docbook/included/progressBar.xml
trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.desc.xml
trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.xml
Log:
RF-523 - corrected some links for column, columns, dataTable, inplaceInput, messages, panelBarItem, panelMenu, panelMenuGroup, panelMenuItem, progressBar, scrollableDatatTable components.
Modified: trunk/docs/userguide/en/src/main/docbook/included/column.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/column.desc.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/column.desc.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -23,8 +23,8 @@
<listitem><para>Completely skinned table rows and child elements</para></listitem>
<listitem><para>Possibility to combine columns with the help of <emphasis ><property>"colspan"</property></emphasis></para></listitem>
<listitem><para>Possibility to combine rows with the help of <emphasis ><property>"rowspan"</property></emphasis> and <emphasis ><property>"breakBefore"</property></emphasis></para></listitem>
- <listitem><para><link linkend="sortAndFilter">Sorting column values</link></para></listitem>
- <listitem><para><link linkend="sortAndFilter">Filtering column values</link></para></listitem>
+ <listitem><para><link linkend="sort">Sorting column values</link></para></listitem>
+ <listitem><para><link linkend="filter">Filtering column values</link></para></listitem>
</itemizedlist>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/column.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/column.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/column.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -184,9 +184,9 @@
component that is described in <link linkend="columnGroup">the following chapter</link>.</para>
</section>
- <section id="sortAndFilter">
+ <section>
<title>Sorting and Filtering</title>
- <section>
+ <section id="sort">
<title>Sorting</title>
<para>
In order to sort the columns you should use <emphasis><property>"sortBy"</property></emphasis> attribute that indicates what values to be sorted.
@@ -359,7 +359,7 @@
<para><emphasis><property>"sortExpression"</property></emphasis> attribute defines a bean property which is used for sorting of a column.</para>
</section>
- <section>
+ <section id="filter">
<title>Filtering</title>
<para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/columns.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/columns.desc.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/columns.desc.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -28,8 +28,8 @@
<listitem><para>Dynamic tables creation</para></listitem>
<listitem><para>Possibility to combine columns with the help of <emphasis ><property>"colspan"</property></emphasis> and <emphasis ><property>"breakBefore"</property></emphasis></para></listitem>
<listitem><para>Possibility to combine rows with the help of <emphasis ><property>"rowspan"</property></emphasis> </para></listitem>
- <listitem><para><link linkend="sortAndFilter">Sorting column values</link></para></listitem>
- <listitem><para><link linkend="sortAndFilter">Filtering column values</link></para></listitem>
+ <listitem><para><link linkend="sort">Sorting column values</link></para></listitem>
+ <listitem><para><link linkend="filter">Filtering column values</link></para></listitem>
</itemizedlist>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/dataTable.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/dataTable.desc.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/dataTable.desc.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -27,8 +27,8 @@
<property>"subTable"</property></para></listitem>
<listitem><para>Possibility to update a limited set of strings with AJAX</para></listitem>
<listitem><para>Possibility to sort and to filter of columns</para></listitem>
- <listitem><para><link linkend="sortAndFilter">Sorting column values</link></para></listitem>
- <listitem><para><link linkend="sortAndFilter">Filtering column values</link></para></listitem>
+ <listitem><para><link linkend="sort">Sorting column values</link></para></listitem>
+ <listitem><para><link linkend="filter">Filtering column values</link></para></listitem>
</itemizedlist>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/inplaceInput.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/inplaceInput.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/inplaceInput.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -599,7 +599,7 @@
</mediaobject>
</figure>
- <table>
+ <table id="tab_cn_iI">
<title>Class name for the view state</title>
<tgroup cols="2">
<thead>
@@ -711,7 +711,7 @@
<para>
In order to redefine styles for all <emphasis role="bold"><property><rich:inplaceInput></property></emphasis> components on a page using CSS,
it's enough to create classes with the
- same names (possible classes could be found in the tables <link linkend="tab_cn3"> above</link>) and define necessary properties in them.
+ same names (possible classes could be found in the tables <link linkend="tab_cn_iI"> above</link>) and define necessary properties in them.
</para>
<para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/messages.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/messages.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/messages.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -149,7 +149,7 @@
</mediaobject>
</figure>
- <table id="mCs">
+ <table id="tab_msC">
<title>Classes names that define a component appearance</title>
<tgroup cols="2">
@@ -187,7 +187,7 @@
<para>In order to redefine styles for all <emphasis role="bold">
<property><rich:messages></property>
</emphasis> components on a page using CSS, it's enough to create classes with the
- same names (possible classes could be found in the tables <link linkend="mC"> above</link>) and define necessary properties in them. </para>
+ same names (possible classes could be found in the tables <link linkend="tab_msC"> above</link>) and define necessary properties in them. </para>
<para>
<emphasis role="bold">Example:</emphasis>
Modified: trunk/docs/userguide/en/src/main/docbook/included/panelBarItem.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/panelBarItem.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/panelBarItem.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -204,7 +204,7 @@
</mediaobject>
</figure>
- <table>
+ <table id="tab_pBI">
<title>Classes names that define a component appearance</title>
<tgroup cols="2">
<thead>
Modified: trunk/docs/userguide/en/src/main/docbook/included/panelMenu.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/panelMenu.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/panelMenu.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -289,7 +289,7 @@
<section>
<title>Definition of Custom Style Classes</title>
- <table>
+ <table id="tab_cn_pM">
<title>Classes names that define a component appearance</title>
<tgroup cols="2">
<thead>
@@ -314,7 +314,7 @@
<para>In order to redefine styles for all <emphasis role="bold">
<property><rich:panelMenu></property>
</emphasis> components on a page using CSS, it's enough to create classes with the
- same names (possible classes could be found in the tables <link linkend="panelMenuC"> above</link>) and define necessary properties in them. </para>
+ same names (possible classes could be found in the tables <link linkend="tab_cn_pM"> above</link>) and define necessary properties in them. </para>
<para>
<emphasis role="bold">Example:</emphasis>
Modified: trunk/docs/userguide/en/src/main/docbook/included/panelMenuGroup.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/panelMenuGroup.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/panelMenuGroup.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -607,7 +607,7 @@
<title>Relevant resources links</title>
<para>
Some additional information about usage of component can be found
- <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/dropDownMenu.jsf?c=me...">here</ulink>.
+ <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/panelMenu.jsf?c=panel...">here</ulink>.
</para>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/panelMenuItem.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/panelMenuItem.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/panelMenuItem.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -356,7 +356,7 @@
</mediaobject>
</figure>
- <table>
+ <table id="tab_cn_pMI">
<title>Classes names that define the first level items</title>
<tgroup cols="2">
@@ -463,7 +463,7 @@
<para>In order to redefine styles for all <emphasis role="bold">
<property><rich:panelMenuItem></property>
</emphasis> components on a page using CSS, it's enough to create classes with the
- same names (possible classes could be found in the tables <link linkend="panelMenuC"> above</link>) and define necessary properties in them. </para>
+ same names (possible classes could be found in the tables <link linkend="tab_cn_pMI"> above</link>) and define necessary properties in them. </para>
<para>
<emphasis role="bold">Example:</emphasis>
@@ -525,7 +525,7 @@
<title>Relevant resources links</title>
<para>
Some additional information about usage of component can be found
- <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/dropDownMenu.jsf?c=me...">here</ulink>.
+ <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/panelMenu.jsf?c=panel...">here</ulink>.
</para>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/progressBar.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/progressBar.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/progressBar.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -739,7 +739,7 @@
<section>
<title>Relevant Resources Links</title>
<para>
- <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/progressbar.jsf?c=pro...">Here</ulink>
+ <ulink url="http://livedemo.exadel.com/richfaces-demo/richfaces/progressBar.jsf?c=pro...">Here</ulink>
you can see the example of <emphasis role="bold">
<property><rich:progressBar></property>
</emphasis> usage and sources for the given example. </para>
Modified: trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.desc.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.desc.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.desc.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -33,7 +33,7 @@
<listitem><para>Fixed one or more left columns when table is scrolled horizontally</para></listitem>
<listitem><para>One and multi-selection rows mode</para></listitem>
<listitem><para>Built-it drag-n-drop support</para></listitem>
- <listitem><para><link linkend="sortAndFilter">Sorting column values</link></para></listitem>
+ <listitem><para><link linkend="sort">Sorting column values</link></para></listitem>
</itemizedlist>
</section>
</section>
Modified: trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.xml
===================================================================
--- trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.xml 2008-07-16 13:25:38 UTC (rev 9636)
+++ trunk/docs/userguide/en/src/main/docbook/included/scrollableDataTable.xml 2008-07-16 13:41:17 UTC (rev 9637)
@@ -207,7 +207,7 @@
<listitem><para><emphasis><property>"onRowMouseDown"</property></emphasis></para></listitem>
</itemizedlist>
</para>
- <para>Information about sorting and filtering you can find <link linkend="sortAndFilter">here</link>.</para>
+ <para>Information about sorting and filtering you can find <link linkend="sort">here</link>.</para>
<para>
Information about the <emphasis><property>"process"</property></emphasis> attribute usage you can find <link linkend="process">here</link>.
</para>
16 years, 2 months
JBoss Rich Faces SVN: r9636 - trunk/test-applications/jsp/src/main/java/sortingAndFiltering.
by richfaces-svn-commits@lists.jboss.org
Author: dsvyatobatsko
Date: 2008-07-16 09:25:38 -0400 (Wed, 16 Jul 2008)
New Revision: 9636
Modified:
trunk/test-applications/jsp/src/main/java/sortingAndFiltering/SortingAndFiltering.java
Log:
https://jira.jboss.com/jira/browse/RF-3901
Modified: trunk/test-applications/jsp/src/main/java/sortingAndFiltering/SortingAndFiltering.java
===================================================================
--- trunk/test-applications/jsp/src/main/java/sortingAndFiltering/SortingAndFiltering.java 2008-07-16 13:03:44 UTC (rev 9635)
+++ trunk/test-applications/jsp/src/main/java/sortingAndFiltering/SortingAndFiltering.java 2008-07-16 13:25:38 UTC (rev 9636)
@@ -132,13 +132,14 @@
else if("ASCENDING".equals(currentSortOrder)) this.sortOrder = Ordering.ASCENDING;
this.currentSortOrder = currentSortOrder;
}
-
+
public boolean filterMethod(Object obj) {
- Data d = (Data)obj;
- if(d.getStr0().startsWith(filterInput)) return true;
- return false;
+ String value = ((Data) obj).getStr0();
+ if (null == value) {
+ return (null == filterInput);
+ }
+ return value.startsWith(filterInput);
}
-
public Comparator<Data> getComparator() {
return comparator;
16 years, 2 months
JBoss Rich Faces SVN: r9635 - in trunk/ui/toolBar/src/main: templates and 1 other directory.
by richfaces-svn-commits@lists.jboss.org
Author: andrei_exadel
Date: 2008-07-16 09:03:44 -0400 (Wed, 16 Jul 2008)
New Revision: 9635
Modified:
trunk/ui/toolBar/src/main/config/component/toolBar.xml
trunk/ui/toolBar/src/main/templates/toolBar.jspx
Log:
RF-3915
Modified: trunk/ui/toolBar/src/main/config/component/toolBar.xml
===================================================================
--- trunk/ui/toolBar/src/main/config/component/toolBar.xml 2008-07-16 12:38:50 UTC (rev 9634)
+++ trunk/ui/toolBar/src/main/config/component/toolBar.xml 2008-07-16 13:03:44 UTC (rev 9635)
@@ -141,6 +141,7 @@
<classname>java.lang.String</classname>
<description>HTML: script expression; a pointer button is released on an item</description>
</property>
+ &html_events;
</component>
<component>
Modified: trunk/ui/toolBar/src/main/templates/toolBar.jspx
===================================================================
--- trunk/ui/toolBar/src/main/templates/toolBar.jspx 2008-07-16 12:38:50 UTC (rev 9634)
+++ trunk/ui/toolBar/src/main/templates/toolBar.jspx 2008-07-16 13:03:44 UTC (rev 9635)
@@ -15,7 +15,17 @@
<table border="0" cellpadding="0" cellspacing="0" id="#{clientId}" width="#{component.attributes['width']}"
height="#{component.attributes['height']}" class="dr-toolbar-ext rich-toolbar #{component.attributes['styleClass']}"
- style="#{component.attributes['style']}">
+ style="#{component.attributes['style']}"
+ onclick="#{component.attributes['onclick']}"
+ ondblclick="#{component.attributes['ondblclick']}"
+ onkeydown="#{component.attributes['onkeydown']}"
+ onkeypress="#{component.attributes['onkeypress']}"
+ onkeyup="#{component.attributes['onkeyup']}"
+ onmousedown="#{component.attributes['onmousedown']}"
+ onmousemove="#{component.attributes['onmousemove']}"
+ onmouseout="#{component.attributes['onmouseout']}"
+ onmouseover="#{component.attributes['onmouseover']}"
+ onmouseup="#{component.attributes['onmouseup']}">
<tr valign="middle">
<vcp:body />
</tr>
16 years, 2 months
JBoss Rich Faces SVN: r9634 - trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html.
by richfaces-svn-commits@lists.jboss.org
Author: andrei_exadel
Date: 2008-07-16 08:38:50 -0400 (Wed, 16 Jul 2008)
New Revision: 9634
Modified:
trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarRendererBase.java
Log:
RF-3861
Modified: trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarRendererBase.java
===================================================================
--- trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarRendererBase.java 2008-07-16 12:31:39 UTC (rev 9633)
+++ trunk/ui/toolBar/src/main/java/org/richfaces/renderkit/html/ToolBarRendererBase.java 2008-07-16 12:38:50 UTC (rev 9634)
@@ -197,13 +197,20 @@
UIToolBar toolbar = getParentToolBar(component);
Map<String, Object> attributes = toolbar.getAttributes();
+ Map<String, Object> groupAttributes = component.getAttributes();
for (int i = 0; i < ON_ITEM_EVENTS.length; i++) {
+ String eventName = ON_ITEM_EVENTS[i].replace("item", "");
Object value = attributes.get(ON_ITEM_EVENTS[i]);
- if (null != value && !"".equals(value)) {
- String eventName = ON_ITEM_EVENTS[i].replace("item", "");
- getUtils().writeAttribute(writer, eventName, value);
+ Object groupValue = groupAttributes.get(eventName);
+ String attrvalue = "";
+ if ((null != value && !"".equals(value))) {
+ attrvalue = attrvalue + value;
}
+ if ((null != groupValue && !"".equals(groupValue))) {
+ attrvalue = attrvalue + ";" + groupValue;
+ }
+ getUtils().writeAttribute(writer, eventName, attrvalue);
}
}
16 years, 2 months