You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ma...@apache.org on 2005/07/24 13:05:16 UTC
svn commit: r224605 - in
/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax:
AjaxPhaseListener.java InputSuggestAjax.java InputSuggestAjaxRenderer.java
InputSuggestAjaxTag.java
Author: matzew
Date: Sun Jul 24 04:05:11 2005
New Revision: 224605
URL: http://svn.apache.org/viewcvs?rev=224605&view=rev
Log:
added "maxSuggestedItems" attribute to ajaxSuggestInput. If a user is interested in limiting the suggested Items he has to implement a method that has String and Integer argument.
Modified:
myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/AjaxPhaseListener.java
myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjax.java
myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxRenderer.java
myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxTag.java
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/AjaxPhaseListener.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/AjaxPhaseListener.java?rev=224605&r1=224604&r2=224605&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/AjaxPhaseListener.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/AjaxPhaseListener.java Sun Jul 24 04:05:11 2005
@@ -1,5 +1,17 @@
/**
- * Copyright 2004 by Irian Marinschek & Spiegl Software OEG
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
package org.apache.myfaces.custom.inputsuggestajax;
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjax.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjax.java?rev=224605&r1=224604&r2=224605&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjax.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjax.java Sun Jul 24 04:05:11 2005
@@ -32,6 +32,7 @@
public class InputSuggestAjax extends HtmlInputText implements AjaxComponent
{
private MethodBinding _suggestedItemsMethod;
+ private Integer _maxSuggestedItems;
private String _popupId;
private String _popupStyleClass;
@@ -48,7 +49,7 @@
public Object saveState(FacesContext context)
{
- Object[] values = new Object[11];
+ Object[] values = new Object[12];
values[0] = super.saveState(context);
values[1] = saveAttachedState(context, _suggestedItemsMethod);
values[2] = _popupId;
@@ -60,6 +61,7 @@
values[8] = _listItemStyleClass;
values[9] = _listItemStyle;
values[10] = _layout;
+ values[11] = _maxSuggestedItems;
return values;
}
@@ -78,6 +80,7 @@
_listItemStyleClass = (String) values[8] ;
_listItemStyle = (String) values[9];
_layout = (String) values[10];
+ _maxSuggestedItems = (Integer) values[11];
}
public void encodeAjax(FacesContext context)
@@ -192,4 +195,12 @@
{
_listItemStyle = listItemStyle;
}
+
+ public Integer getMaxSuggestedItems() {
+ return _maxSuggestedItems;
+ }
+
+ public void setMaxSuggestedItems(Integer suggestedItems) {
+ _maxSuggestedItems = suggestedItems;
+ }
}
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxRenderer.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxRenderer.java?rev=224605&r1=224604&r2=224605&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxRenderer.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxRenderer.java Sun Jul 24 04:05:11 2005
@@ -183,10 +183,14 @@
InputSuggestAjax InputSuggestAjax = (InputSuggestAjax) uiComponent;
MethodBinding mb = InputSuggestAjax.getSuggestedItemsMethod();
-
- List li = (List) mb.invoke(context,new Object[]{context.getExternalContext().getRequestParameterMap().get(
- uiComponent.getClientId(context))});
-
+ List li = null;
+ if (InputSuggestAjax.getMaxSuggestedItems()!=null) {
+ li = (List) mb.invoke(context,new Object[]{context.getExternalContext().getRequestParameterMap().get(
+ uiComponent.getClientId(context)), InputSuggestAjax.getMaxSuggestedItems()});
+ } else {
+ li = (List) mb.invoke(context,new Object[]{context.getExternalContext().getRequestParameterMap().get(
+ uiComponent.getClientId(context))});
+ }
StringBuffer buf = new StringBuffer();
buf.append("<ul");
if (InputSuggestAjax.getListStyleClass() != null)
Modified: myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxTag.java
URL: http://svn.apache.org/viewcvs/myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxTag.java?rev=224605&r1=224604&r2=224605&view=diff
==============================================================================
--- myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxTag.java (original)
+++ myfaces/sandbox/trunk/src/java/org/apache/myfaces/custom/inputsuggestajax/InputSuggestAjaxTag.java Sun Jul 24 04:05:11 2005
@@ -35,6 +35,7 @@
private static Log log = LogFactory.getLog(InputSuggestAjaxTag.class);
private String _suggestedItemsMethod;
+ private String _maxSuggestedItems;
private String _popupId;
private String _popupStyleClass;
@@ -62,6 +63,7 @@
super.release();
_suggestedItemsMethod = null;
+ _maxSuggestedItems = null;
_popupId = null;
_popupStyleClass = null;
_popupStyle = null;
@@ -78,7 +80,8 @@
super.setProperties(component);
- setSuggestedItemsMethodProperty(getFacesContext(),component,_suggestedItemsMethod);
+ setIntegerProperty(component,"maxSuggestedItems", _maxSuggestedItems);
+ setSuggestedItemsMethodProperty(getFacesContext(),component,_suggestedItemsMethod);
setStringProperty(component,"popupId",_popupId);
setStringProperty(component,"popupStyleClass",_popupStyleClass);
setStringProperty(component,"popupStyle",_popupStyle);
@@ -102,8 +105,15 @@
}
if (isValueReference(suggestedItemsMethod))
{
- MethodBinding mb = context.getApplication().createMethodBinding(suggestedItemsMethod,new Class[]{String.class});
- ((InputSuggestAjax)component).setSuggestedItemsMethod(mb);
+ if (((InputSuggestAjax)component).getMaxSuggestedItems()!=null) {
+ MethodBinding mb = context.getApplication().createMethodBinding(suggestedItemsMethod,new Class[]{String.class, Integer.class});
+ ((InputSuggestAjax)component).setSuggestedItemsMethod(mb);
+ } else {
+ MethodBinding mb = context.getApplication().createMethodBinding(suggestedItemsMethod,new Class[]{String.class});
+ ((InputSuggestAjax)component).setSuggestedItemsMethod(mb);
+ }
+
+
}
else
{
@@ -111,6 +121,8 @@
}
}
}
+
+ // setter methodes to populate the components properites
public void setLayout(String layout)
{
@@ -160,5 +172,9 @@
public void setListItemStyle(String listItemStyle)
{
_listItemStyle = listItemStyle;
+ }
+
+ public void setMaxSuggestedItems(String maxSuggestedItems) {
+ _maxSuggestedItems = (maxSuggestedItems);
}
}