[richfaces-svn-commits] JBoss Rich Faces SVN: r2152 - in trunk/ui/tree/src/main: resources/org/richfaces/renderkit/html/css and 2 other directories.
richfaces-svn-commits at lists.jboss.org
richfaces-svn-commits at lists.jboss.org
Wed Aug 8 12:16:41 EDT 2007
Author: pyaschenko
Date: 2007-08-08 12:16:41 -0400 (Wed, 08 Aug 2007)
New Revision: 2152
Modified:
trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeDataModelEventNavigator.java
trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js
trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js
trunk/ui/tree/src/main/templates/htmlTree.jspx
trunk/ui/tree/src/main/templates/htmlTreeNode.jspx
Log:
Change nesting tables markup to div-based one
Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/NodeRendererBase.java 2007-08-08 16:16:41 UTC (rev 2152)
@@ -70,11 +70,12 @@
}
protected String getToggleScript(FacesContext context, UITreeNode treeNode, String to) {
- if ("handle".equals(to) && treeNode.getUITree().isToggleOnClick() ||
- "mainRow".equals(to) && !treeNode.getUITree().isToggleOnClick())
+ UITree tree = treeNode.getUITree();
+ if ("handle".equals(to) && tree.isToggleOnClick() ||
+ "mainRow".equals(to) && !tree.isToggleOnClick())
return "";
- UITree tree = treeNode.getUITree();
+ boolean showLines = tree.isShowConnectingLines();
String id = treeNode.getClientId(context);
if (UITree.SWITCH_AJAX.equals(tree.getSwitchType())) {
@@ -87,10 +88,13 @@
parameters.put(id + NODE_EXPANDED_INPUT_SUFFIX, String.valueOf(!tree
.isExpanded()));
+
+ boolean isLast = false;
if (((Boolean) (treeNode.getAttributes().get("isLastElement")))
.booleanValue()) {
parameters.put(tree.getBaseClientId(context)
+ UITree.LAST_ELEMENT_FLAG, Boolean.TRUE);
+ isLast=true;
}
function.addParameter(eventOptions);
@@ -98,6 +102,7 @@
function.appendScript(buffer);
buffer.append(";");
return buffer.toString();
+
} else if (UITree.SWITCH_SERVER.equals(tree.getSwitchType())) {
String paramName = id + NODE_EXPANDED_INPUT_SUFFIX;
Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeDataModelEventNavigator.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeDataModelEventNavigator.java 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeDataModelEventNavigator.java 2007-08-08 16:16:41 UTC (rev 2152)
@@ -62,7 +62,7 @@
int level = this.rowKey != null ? this.rowKey.depth() : 0;
int delta = level - newRowKey.depth();
-
+
//System.out.println("TreeDataModelEventNavigator.followRowKey() " + delta);
if (delta > 0) {
@@ -74,11 +74,11 @@
throw new IllegalArgumentException("One or more nodes skipped in falldown - maybe illegal RowKey, incorrect model or model handler!");
}
}
+
+ stackedLast = new Boolean(actualLast);
- stackedLast = new Boolean(actualLast);
+ this.tree.setRowKey(context, newRowKey);
- this.tree.setRowKey(context, newRowKey);
-
if (delta > 0) {
afterUp(delta);
} else if (delta == -1) {
Modified: trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java
===================================================================
--- trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/java/org/richfaces/renderkit/TreeRendererBase.java 2007-08-08 16:16:41 UTC (rev 2152)
@@ -63,6 +63,7 @@
private String clientId;
private boolean expanded;
private boolean showLines;
+ private boolean isLastElement;
private RendererDataModelEventNavigator(UITree tree,
TreeRowKey floatingKey, FacesContext context, Flag droppedDownToLevelFlag) {
@@ -97,46 +98,48 @@
return id;
}
- public void afterDown() throws IOException {
- openLevelDownTable(context, tree, writer);
- }
-
public void afterUp(int levels) throws IOException {
+ //writer.write("** afterUp **");
for (int i = 0; i < levels; i++) {
- closeLevelDownTable(context, tree, writer);
- writer.endElement("td");
- writer.endElement("tr");
+ closeDiv();
}
+ //if (!isLastElement) closeDiv();
}
+ public void afterDown() throws IOException {
+ }
+
public void beforeDown() throws IOException {
+ //writer.write("** beforeDown **");
droppedDownToLevelFlag.setFlag();
+
+ if (this.getRowKey()==null ) openDiv();
- writer.startElement("tr", tree);
+ }
+
+ public void beforeUp(int levels) throws IOException {
+ }
+
+ public void openDiv() throws IOException {
+ writer.startElement("div", tree);
getUtils().writeAttribute(writer, "id", clientId + "childs");
if (!expanded) {
getUtils().writeAttribute(writer, "style", "display: none;");
}
-
+
+ String styleClasses = "";
if (this.getRowKey() != null) {
- writer.startElement("td", tree);
- if (!isStackedLastElement()) {
- if (showLines)
- getUtils().writeAttribute(writer, "class",
- "dr-tree-h-ic-line");
- }
- writer.endElement("td");
+ styleClasses = "dr-tree-h-ic-div";
+ if (!isStackedLastElement() && showLines) styleClasses += " dr-tree-h-ic-line";
}
-
- writer.startElement("td", tree);
- getUtils().writeAttribute(writer, "colspan", "2");
- getUtils().writeAttribute(writer, "id", clientId + "childs:td");
- getUtils().writeAttribute(writer, "valign", "top");
+ if (styleClasses!="") getUtils().writeAttribute(writer, "class", styleClasses);
}
-
- public void beforeUp(int levels) {
+
+ public void closeDiv() throws IOException {
+ writer.endElement("div");
}
+
}
private class DataVisitorWithLastElement implements DataVisitor,
@@ -150,13 +153,13 @@
private final UITree tree;
- private final TreeDataModelEventNavigator navigator;
+ private final RendererDataModelEventNavigator navigator;
private TreeStateAdvisor methodBindingAdvisor = null;
private DataVisitorWithLastElement(ResponseWriter writer,
Flag flag, UITree tree,
- TreeDataModelEventNavigator navigator) {
+ RendererDataModelEventNavigator navigator) {
this.writer = writer;
this.flag = flag;
this.tree = tree;
@@ -170,8 +173,7 @@
navigator.followRowKey(context, (TreeRowKey) rowKey);
if (!flag.isFlagSet()) {
- closeLevelDownTable(context, tree, writer);
- openLevelDownTable(context, tree, writer);
+ navigator.closeDiv();
} else {
flag.resetFlag();
}
@@ -182,6 +184,8 @@
nodeFacet.getAttributes().put("isLastElement", new Boolean(isLastElement));
renderChild(context, nodeFacet);
+ //writer.write("** after renderChild **");
+ navigator.openDiv();
} finally {
if (oldAttrValue != null) {
nodeFacet.getAttributes().put("isLastElement", oldAttrValue);
@@ -305,6 +309,8 @@
encodeScripts = true;
renderedAreas.add(id);
encodedAreaIds.add(id);
+ renderedAreas.add(id+":childs");
+ encodedAreaIds.add(id+":childs");
}
}
@@ -464,13 +470,13 @@
if (key != null) {
droppedDownToLevelFlag.setFlag();
- openLevelDownTable(context, input, writer);
+ //openLevelDownTable(context, input, writer);
input.setRowKey(context, key);
} else {
input.setRowKey(context, null);
}
- TreeDataModelEventNavigator levelNavigator = new RendererDataModelEventNavigator(input, rowKey, context,
+ RendererDataModelEventNavigator levelNavigator = new RendererDataModelEventNavigator(input, rowKey, context,
droppedDownToLevelFlag);
final TreeRange stateRange = (TreeRange) input.getComponentState().getRange();
@@ -502,9 +508,9 @@
droppedDownToLevelFlag, input,
levelNavigator), treeRange, key, null);
- if (key != null) {
+ /*if (key != null) {
closeLevelDownTable(context, input, writer);
- }
+ }*/
levelNavigator.followRowKey(context, null);
} finally {
@@ -512,28 +518,6 @@
input.restoreOrigValue();
}
}
-
- private void openLevelDownTable(FacesContext context, UITree tree,
- ResponseWriter writer) throws IOException {
- writer.startElement("table", tree);
-
- UITreeNode node = tree.getNodeFacet();
-
- RendererUtils utils = getUtils();
- utils.writeAttribute(writer, "border", "0");
- utils.writeAttribute(writer, "cellpadding", "0");
- utils.writeAttribute(writer, "cellspacing", "0");
- utils.writeAttribute(writer, "id", node.getClientId(context));
- utils.writeAttribute(writer, "style", "width: 100%;");
- utils.writeAttribute(writer, "rich:nodeId", node.getId());
- writer.startElement("tbody", tree);
- }
-
- private void closeLevelDownTable(FacesContext context, UITree tree,
- ResponseWriter writer) throws IOException {
- writer.endElement("tbody");
- writer.endElement("table");
- }
}
class Flag {
Modified: trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss
===================================================================
--- trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/css/tree.xcss 2007-08-08 16:16:41 UTC (rev 2152)
@@ -11,9 +11,14 @@
display: none;
}
+.dr-tree-h-ic-div {
+ margin-left : 8px;
+ padding-left : 10px;
+}
+
.dr-tree-h-ic {
width: 16px;
- padding : 1px
+ padding: 1px;
}
.dr-tree-h-ic-img-md{
@@ -31,7 +36,7 @@
}
.dr-tree-h-ic-line {
- background-position: center;
+ background-position: left;
background-repeat: repeat-y;
}
Modified: trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js
===================================================================
--- trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree-item.js 2007-08-08 16:16:41 UTC (rev 2152)
@@ -66,7 +66,7 @@
this.onContextMenu = new Function(contextMenu + "; return true;");
}
- var childsTd = $(childsRowId + Tree.ID_DEVIDER + Tree.ID_CHILDS_TD);
+ var childsTd = $(childsRowId/* + Tree.ID_DEVIDER + Tree.ID_CHILDS_TD*/);
if (childsTd) {
for(var child = childsTd.firstChild; child != null; child = child.nextSibling ) {
if (child.nodeType == 1 && child.tagName.toLowerCase() == "table") {
Modified: trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js
===================================================================
--- trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/resources/org/richfaces/renderkit/html/scripts/tree.js 2007-08-08 16:16:41 UTC (rev 2152)
@@ -112,7 +112,7 @@
var contentId = this.id;
this.elements.contentTd = $(contentId +
- Tree.ID_DEVIDER + Tree.ID_CHILDS_ROW + Tree.ID_DEVIDER + Tree.ID_CHILDS_TD);
+ Tree.ID_DEVIDER + Tree.ID_CHILDS_ROW/* + Tree.ID_DEVIDER + Tree.ID_CHILDS_TD*/);
if (this.elements.contentTd) {
for(var child = this.elements.contentTd.firstChild; child != null; child = child.nextSibling ) {
Modified: trunk/ui/tree/src/main/templates/htmlTree.jspx
===================================================================
--- trunk/ui/tree/src/main/templates/htmlTree.jspx 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/templates/htmlTree.jspx 2007-08-08 16:16:41 UTC (rev 2152)
@@ -44,11 +44,15 @@
<f:parameter value="id,style,class"/>
</f:call>
- <table width="100%" cellpadding="0" cellspacing="0" border="0">
+ <!-- table width="100%" cellpadding="0" cellspacing="0" border="0">
<tbody>
<vcp:body />
</tbody>
- </table>
+ </table-->
+ <div id="#{clientId}:children">
+ <vcp:body />
+ </div>
+
<f:call name="encodeSelectionStateInput" />
<f:clientId var="clientId" />
Modified: trunk/ui/tree/src/main/templates/htmlTreeNode.jspx
===================================================================
--- trunk/ui/tree/src/main/templates/htmlTreeNode.jspx 2007-08-08 15:25:04 UTC (rev 2151)
+++ trunk/ui/tree/src/main/templates/htmlTreeNode.jspx 2007-08-08 16:16:41 UTC (rev 2152)
@@ -31,6 +31,9 @@
<f:call name="initializeLines" />
<f:call name="initializeResources" />
+ <table border="0" cellpadding="0" cellspacing="0" id="#{clientId}" style="width:100%">
+ <tbody>
+
<tr id="#{clientId}:mainRow" onclick="#{component.attributes['onclick']} #{this:getToggleScript(context, component, 'mainRow')}" >
<f:call name="encodeAttributeParameters" />
@@ -204,4 +207,7 @@
<vcp:body />
</td>
</tr>
+ </tbody>
+ </table>
+
</f:root>
\ No newline at end of file
More information about the richfaces-svn-commits
mailing list