You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2012/11/20 13:23:12 UTC
svn commit: r1411640 -
/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
Author: lofwyr
Date: Tue Nov 20 12:23:11 2012
New Revision: 1411640
URL: http://svn.apache.org/viewvc?rev=1411640&view=rev
Log:
TOBAGO-1049: Tree inside of the Sheet (aka TreeTable)
- initialize the hidden fields on the server. Otherwise a early submit will be broken
Modified:
myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
Modified: myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java?rev=1411640&r1=1411639&r2=1411640&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java (original)
+++ myfaces/tobago/trunk/tobago-theme/tobago-theme-scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SheetRenderer.java Tue Nov 20 12:23:11 2012
@@ -53,7 +53,9 @@ import org.apache.myfaces.tobago.layout.
import org.apache.myfaces.tobago.layout.LayoutBase;
import org.apache.myfaces.tobago.layout.Measure;
import org.apache.myfaces.tobago.layout.TextAlign;
+import org.apache.myfaces.tobago.model.ExpandedState;
import org.apache.myfaces.tobago.model.SheetState;
+import org.apache.myfaces.tobago.model.TreePath;
import org.apache.myfaces.tobago.renderkit.LayoutComponentRendererBase;
import org.apache.myfaces.tobago.renderkit.css.Classes;
import org.apache.myfaces.tobago.renderkit.css.Style;
@@ -213,15 +215,11 @@ public class SheetRenderer extends Layou
writer.endElement(HtmlElements.INPUT);
}
+ ExpandedState expandedState = null;
+ StringBuilder expandedValue = null;
if (sheet.isTreeModel()) {
- writer.startElement(HtmlElements.INPUT, sheet);
- writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.HIDDEN, false);
- final String expandedId = sheetId + ComponentUtils.SUB_SEPARATOR + AbstractUIData.SUFFIX_EXPANDED;
- writer.writeNameAttribute(expandedId);
- writer.writeIdAttribute(expandedId);
- writer.writeClassAttribute(Classes.create(sheet, AbstractUIData.SUFFIX_EXPANDED));
- writer.writeAttribute(HtmlAttributes.VALUE, ",", false);
- writer.endElement(HtmlElements.INPUT);
+ expandedState = sheet.getExpandedState();
+ expandedValue = new StringBuilder(",");
}
final boolean showHeader = sheet.isShowHeader();
@@ -315,6 +313,14 @@ public class SheetRenderer extends Layou
LOG.debug("list " + sheet.getValue());
}
+ if (sheet.isTreeModel()) {
+ final TreePath path = sheet.getPath();
+ if (sheet.isFolder() && expandedState.isExpanded(path)) {
+ expandedValue.append(rowIndex);
+ expandedValue.append(",");
+ }
+ }
+
writer.startElement(HtmlElements.TR, null);
Markup rowMarkup = odd ? Markup.ODD : Markup.EVEN;
final boolean selected = selectedRows.contains(rowIndex);
@@ -506,6 +512,17 @@ public class SheetRenderer extends Layou
writer.endElement(HtmlElements.DIV);
}
+
+ if (sheet.isTreeModel()) {
+ writer.startElement(HtmlElements.INPUT, sheet);
+ writer.writeAttribute(HtmlAttributes.TYPE, HtmlInputTypes.HIDDEN, false);
+ final String expandedId = sheetId + ComponentUtils.SUB_SEPARATOR + AbstractUIData.SUFFIX_EXPANDED;
+ writer.writeNameAttribute(expandedId);
+ writer.writeIdAttribute(expandedId);
+ writer.writeClassAttribute(Classes.create(sheet, AbstractUIData.SUFFIX_EXPANDED));
+ writer.writeAttribute(HtmlAttributes.VALUE, expandedValue.toString(), false);
+ writer.endElement(HtmlElements.INPUT);
+ }
}
/**