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 2016/03/02 18:57:06 UTC
svn commit: r1733342 - in /myfaces/tobago/branches/tobago-3.0.x:
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/
tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/
tobago-theme/tobago-theme-s...
Author: lofwyr
Date: Wed Mar 2 17:57:06 2016
New Revision: 1733342
URL: http://svn.apache.org/viewvc?rev=1733342&view=rev
Log:
TOBAGO-1537: "size" attribute for number of shown elements in <tc:selectOneListbox>, <tc:selectManyListbox> and <tc:selectManyShuffle>
* change name "rows" to "size"
* use at least size="2" in listbox (<select>-Tag), because otherwise the browser will render a popup (and not a flat area)
Added:
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasSize.java
- copied, changed from r1733309, myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasRows.java
Removed:
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasRows.java
Modified:
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java
myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyListboxTagDeclaration.java Wed Mar 2 17:57:06 2016
@@ -31,7 +31,7 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabel;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelLayout;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasRequiredMessageForSelect;
-import org.apache.myfaces.tobago.internal.taglib.declaration.HasRows;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasSize;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTabIndex;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasValidator;
@@ -61,7 +61,7 @@ import javax.faces.component.UISelectMan
public interface SelectManyListboxTagDeclaration
extends HasId, IsDisabled, IsRendered, HasBinding, HasTip,
IsReadonly, HasConverter, IsRequiredForSelect, HasLabel, HasValidator, HasValueChangeListener, HasLabelLayout,
- HasValidatorMessage, HasConverterMessage, HasRequiredMessageForSelect, HasTabIndex, IsFocus, IsVisual, HasRows {
+ HasValidatorMessage, HasConverterMessage, HasRequiredMessageForSelect, HasTabIndex, IsFocus, IsVisual, HasSize {
/**
* The value of the multi select.
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectManyShuttleTagDeclaration.java Wed Mar 2 17:57:06 2016
@@ -32,7 +32,7 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.taglib.declaration.HasInputLabel;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelLayout;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasRequiredMessageForSelect;
-import org.apache.myfaces.tobago.internal.taglib.declaration.HasRows;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasSize;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTabIndex;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasValidator;
@@ -61,7 +61,7 @@ import javax.faces.component.UISelectMan
public interface SelectManyShuttleTagDeclaration extends
IsDisabled, HasId, HasTip, IsRendered, IsRequiredForSelect, HasBinding, IsReadonly, HasConverter,
HasInputLabel, HasValidator, HasValueChangeListener, HasLabelLayout,
- HasValidatorMessage, HasConverterMessage, HasRequiredMessageForSelect, HasTabIndex, IsFocus, IsVisual, HasRows {
+ HasValidatorMessage, HasConverterMessage, HasRequiredMessageForSelect, HasTabIndex, IsFocus, IsVisual, HasSize {
/**
* The value of the multi select.
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/SelectOneListboxTagDeclaration.java Wed Mar 2 17:57:06 2016
@@ -34,7 +34,7 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabel;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelLayout;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasRequiredMessage;
-import org.apache.myfaces.tobago.internal.taglib.declaration.HasRows;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasSize;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTabIndex;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasValidator;
@@ -77,7 +77,7 @@ import javax.faces.component.UISelectOne
public interface SelectOneListboxTagDeclaration
extends HasValidator, HasValue, HasValueChangeListener, HasTabIndex, IsFocus, IsVisual,
HasValidatorMessage, HasConverterMessage, HasRequiredMessage, HasId, IsDisabled, IsReadonly, HasLabel, IsRendered,
- HasBinding, HasTip, HasConverter, HasLabelLayout, HasRows {
+ HasBinding, HasTip, HasConverter, HasLabelLayout, HasSize {
/**
* Flag indicating that selecting an Item representing a Value is Required.
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TextareaTagDeclaration.java Wed Mar 2 17:57:06 2016
@@ -20,7 +20,9 @@
package org.apache.myfaces.tobago.internal.taglib.component;
import org.apache.myfaces.tobago.apt.annotation.Tag;
+import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTag;
+import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasConverter;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasConverterMessage;
@@ -28,7 +30,6 @@ import org.apache.myfaces.tobago.interna
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabel;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasLabelLayout;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasRequiredMessage;
-import org.apache.myfaces.tobago.internal.taglib.declaration.HasRows;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasSanitize;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTabIndex;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasTip;
@@ -58,5 +59,12 @@ import javax.faces.component.UIInput;
public interface TextareaTagDeclaration
extends HasIdBindingAndRendered, HasConverter, IsReadonly, IsDisabled, IsRequired, HasLabel, HasLabelLayout, HasTip,
HasValidator, HasValue, HasValueChangeListener, HasTabIndex, IsFocus, IsVisual,
- HasValidatorMessage, HasConverterMessage, HasRequiredMessage, HasSanitize, HasRows {
+ HasValidatorMessage, HasConverterMessage, HasRequiredMessage, HasSanitize {
+
+ /**
+ * The row count for this component.
+ */
+ @TagAttribute
+ @UIComponentTagAttribute(type = "java.lang.Integer")
+ void setRows(String rows);
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/component/TreeListboxTagDeclaration.java Wed Mar 2 17:57:06 2016
@@ -27,6 +27,7 @@ import org.apache.myfaces.tobago.apt.ann
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
import org.apache.myfaces.tobago.component.RendererTypes;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasIdBindingAndRendered;
+import org.apache.myfaces.tobago.internal.taglib.declaration.HasSize;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasValue;
import org.apache.myfaces.tobago.internal.taglib.declaration.HasVar;
import org.apache.myfaces.tobago.internal.taglib.declaration.IsRequired;
@@ -51,8 +52,7 @@ import javax.faces.component.UIData;
"org.apache.myfaces.tobago.TreeData"
})
public interface TreeListboxTagDeclaration
- extends HasIdBindingAndRendered, HasValue, HasVar, IsVisual,
- IsRequired {
+ extends HasIdBindingAndRendered, HasValue, HasVar, IsVisual, IsRequired, HasSize {
/**
* Flag indicating whether or not this component should be render selectable items.
Copied: myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasSize.java (from r1733309, myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasRows.java)
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasSize.java?p2=myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasSize.java&p1=myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasRows.java&r1=1733309&r2=1733342&rev=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasRows.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/taglib/declaration/HasSize.java Wed Mar 2 17:57:06 2016
@@ -22,12 +22,12 @@ package org.apache.myfaces.tobago.intern
import org.apache.myfaces.tobago.apt.annotation.TagAttribute;
import org.apache.myfaces.tobago.apt.annotation.UIComponentTagAttribute;
-public interface HasRows {
+public interface HasSize {
/**
- * The row count for this component.
+ * The number of the shown rows in the element. E. g. the size attribute of the select element in HTML.
*/
@TagAttribute
@UIComponentTagAttribute(type = "java.lang.Integer")
- void setRows(String rows);
+ void setSize(String size);
}
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyListboxRenderer.java Wed Mar 2 17:57:06 2016
@@ -51,7 +51,8 @@ public class SelectManyListboxRenderer e
final List<SelectItem> items = SelectItemUtils.getItemList(facesContext, select);
final boolean readonly = select.isReadonly();
final boolean disabled = !items.iterator().hasNext() || select.isDisabled() || readonly;
- final Integer rows = select.getRows();
+ Integer size = select.getSize();
+ size = Math.max(size != null ? size : items.size(), 2); // must be > 1
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
writer.startElement(HtmlElements.SELECT);
@@ -66,7 +67,7 @@ public class SelectManyListboxRenderer e
writer.writeStyleAttribute(select.getStyle());
writer.writeClassAttribute(Classes.create(select), BootstrapClass.FORM_CONTROL, select.getCustomClass());
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
- writer.writeAttribute(HtmlAttributes.SIZE, rows != null ? rows : items.size());
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
HtmlRendererUtils.renderCommandFacet(select, facesContext, writer);
final Object[] values = select.getSelectedValues();
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectManyShuttleRenderer.java Wed Mar 2 17:57:06 2016
@@ -64,10 +64,9 @@ public class SelectManyShuttleRenderer e
writer.write(unselectedLabel);
writer.endElement(HtmlElements.DIV);
}
- Integer rows = select.getRows();
- if (rows == null) {
- rows = items.size();
- }
+ Integer size = select.getSize();
+ size = Math.max(size != null ? size : items.size(), 2); // must be > 1
+
writer.startElement(HtmlElements.SELECT);
final String unselectedClientId = clientId + ComponentUtils.SUB_SEPARATOR + "unselected";
writer.writeIdAttribute(unselectedClientId);
@@ -79,7 +78,7 @@ public class SelectManyShuttleRenderer e
writer.writeClassAttribute(Classes.create(select, "unselected"), BootstrapClass.FORM_CONTROL);
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
- writer.writeAttribute(HtmlAttributes.SIZE, rows);
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
final Object[] values = select.getSelectedValues();
final String[] submittedValues = getSubmittedValues(select);
@@ -113,7 +112,7 @@ public class SelectManyShuttleRenderer e
writer.writeAttribute(HtmlAttributes.TABINDEX, select.getTabIndex());
writer.writeClassAttribute(Classes.create(select, "selected"), BootstrapClass.FORM_CONTROL);
writer.writeAttribute(HtmlAttributes.MULTIPLE, true);
- writer.writeAttribute(HtmlAttributes.SIZE, rows);
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
HtmlRendererUtils.renderSelectItems(select, items, values, submittedValues, true, writer, facesContext);
writer.endElement(HtmlElements.SELECT);
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/SelectOneListboxRenderer.java Wed Mar 2 17:57:06 2016
@@ -48,7 +48,8 @@ public class SelectOneListboxRenderer ex
final String id = select.getClientId(facesContext);
final List<SelectItem> items = SelectItemUtils.getItemList(facesContext, select);
final boolean disabled = !items.iterator().hasNext() || select.isDisabled() || select.isReadonly();
- final Integer rows = select.getRows();
+ Integer size = select.getSize();
+ size = Math.max(size != null ? size : items.size(), 2); // must be > 1
writer.startElement(HtmlElements.SELECT);
writer.writeNameAttribute(id);
@@ -64,7 +65,7 @@ public class SelectOneListboxRenderer ex
writer.writeClassAttribute(Classes.create(select), BootstrapClass.FORM_CONTROL, select.getCustomClass());
final String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, select);
writer.writeAttribute(HtmlAttributes.TITLE, title, true);
- writer.writeAttribute(HtmlAttributes.SIZE, rows != null ? rows : items.size());
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
HtmlRendererUtils.renderCommandFacet(select, facesContext, writer);
HtmlRendererUtils.renderSelectItems(select, items, select.getValue(), (String) select.getSubmittedValue(),
writer, facesContext);
Modified: myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java?rev=1733342&r1=1733341&r2=1733342&view=diff
==============================================================================
--- myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java (original)
+++ myfaces/tobago/branches/tobago-3.0.x/tobago-theme/tobago-theme-standard/src/main/java/org/apache/myfaces/tobago/renderkit/html/standard/standard/tag/TreeListboxRenderer.java Wed Mar 2 17:57:06 2016
@@ -20,9 +20,11 @@
package org.apache.myfaces.tobago.renderkit.html.standard.standard.tag;
import org.apache.myfaces.tobago.component.UITreeLabel;
+import org.apache.myfaces.tobago.component.UITreeListbox;
import org.apache.myfaces.tobago.component.UITreeNode;
import org.apache.myfaces.tobago.component.UITreeSelect;
import org.apache.myfaces.tobago.internal.component.AbstractUITree;
+import org.apache.myfaces.tobago.internal.component.AbstractUITreeListbox;
import org.apache.myfaces.tobago.renderkit.RendererBase;
import org.apache.myfaces.tobago.renderkit.css.Classes;
import org.apache.myfaces.tobago.renderkit.html.DataAttributes;
@@ -50,7 +52,7 @@ public class TreeListboxRenderer extends
@Override
public void encodeEnd(final FacesContext facesContext, final UIComponent component) throws IOException {
- final AbstractUITree tree = (AbstractUITree) component;
+ final UITreeListbox tree = (UITreeListbox) component;
final String clientId = tree.getClientId(facesContext);
final TobagoResponseWriter writer = HtmlRendererUtils.getTobagoResponseWriter(facesContext);
// final Style scrollDivStyle = new Style();
@@ -94,6 +96,8 @@ public class TreeListboxRenderer extends
List<Integer> thisLevel = new ArrayList<Integer>();
thisLevel.add(0);
List<Integer> nextLevel = new ArrayList<Integer>();
+ Integer size = tree.getSize();
+ size = Math.max(size != null ? size : 10, 2); // must be > 1, default is 10, if not set
final int depth = tree.getTreeDataModel().getDepth() != -1
? tree.getTreeDataModel().getDepth()
: 7; // XXX not a fix value!!!
@@ -113,13 +117,13 @@ public class TreeListboxRenderer extends
if (level > 0) {
writer.startElement(HtmlElements.SELECT);
writer.writeAttribute(HtmlAttributes.DISABLED, true);
- writer.writeAttribute(HtmlAttributes.SIZE, 9); // must be > 1, but the real size comes from the layout
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
writer.writeClassAttribute(Classes.create(tree, "select"));
writer.endElement(HtmlElements.SELECT);
}
for(final Integer rowIndex : thisLevel) {
- encodeSelectBox(facesContext, tree, writer, rowIndex, nextLevel);
+ encodeSelectBox(facesContext, tree, writer, rowIndex, nextLevel, size);
}
thisLevel.clear();
@@ -137,8 +141,8 @@ public class TreeListboxRenderer extends
}
private void encodeSelectBox(
- final FacesContext facesContext, final AbstractUITree tree, final TobagoResponseWriter writer,
- final int parentRowIndex, final List<Integer> foldersRowIndices)
+ final FacesContext facesContext, final AbstractUITreeListbox tree, final TobagoResponseWriter writer,
+ final int parentRowIndex, final List<Integer> foldersRowIndices, final int size)
throws IOException {
tree.setRowIndex(parentRowIndex);
@@ -152,7 +156,7 @@ public class TreeListboxRenderer extends
writer.writeAttribute(DataAttributes.TREE_PARENT, parentId, false);
}
- writer.writeAttribute(HtmlAttributes.SIZE, 9); // must be > 1, but the real size comes from the layout
+ writer.writeAttribute(HtmlAttributes.SIZE, size);
// writer.writeAttribute(HtmlAttributes.MULTIPLE, siblingMode);
final UITreeSelect select = ComponentUtils.findDescendant(tree, UITreeSelect.class);