Author: jdonnerstag Date: Thu Jun 23 10:58:45 2011 New Revision: 1138826 URL: http://svn.apache.org/viewvc?rev=1138826&view=rev Log: fixed: Make showing of empty list in AutoComplete configurable Issue: WICKET-3066
Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java Thu Jun 23 10:58:45 2011 @@ -63,9 +63,6 @@ public abstract class AbstractAutoComple this.settings = settings; } - /** - * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#renderHead(org.apache.wicket.markup.html.IHeaderResponse) - */ @Override public void renderHead(final Component component, final IHeaderResponse response) { @@ -98,6 +95,10 @@ public abstract class AbstractAutoComple response.renderOnDomReadyJavaScript(initJS); } + /** + * + * @return JS settings + */ protected final String constructSettingsJS() { final StringBuilder sb = new StringBuilder(); @@ -119,9 +120,6 @@ public abstract class AbstractAutoComple return sb.toString(); } - /** - * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#onBind() - */ @Override protected void onBind() { @@ -150,9 +148,6 @@ public abstract class AbstractAutoComple */ protected abstract void onRequest(String input, RequestCycle requestCycle); - /** - * @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#respond(org.apache.wicket.ajax.AjaxRequestTarget) - */ @Override protected void respond(final AjaxRequestTarget target) { @@ -161,6 +156,7 @@ public abstract class AbstractAutoComple .getRequestParameters() .getParameterValue("q") .toOptionalString(); + onRequest(val, requestCycle); } } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteRenderer.java Thu Jun 23 10:58:45 2011 @@ -28,20 +28,11 @@ import org.apache.wicket.request.Respons * @since 1.2 * * @author Igor Vaynberg (ivaynberg) - * */ public abstract class AbstractAutoCompleteRenderer<T> implements IAutoCompleteRenderer<T> { - - /** - * - */ private static final long serialVersionUID = 1L; - /** - * @see org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#render(java.lang.Object, - * org.apache.wicket.request.Response, String) - */ public final void render(final T object, final Response response, final String criteria) { String textValue = getTextValue(object); @@ -64,19 +55,12 @@ public abstract class AbstractAutoComple response.write("</li>"); } - - /** - * @see org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#renderHeader(org.apache.wicket.request.Response) - */ public final void renderHeader(final Response response) { response.write("<ul>"); } - /** - * @see org.apache.wicket.extensions.ajax.markup.html.autocomplete.IAutoCompleteRenderer#renderFooter(org.apache.wicket.request.Response) - */ - public final void renderFooter(final Response response) + public final void renderFooter(final Response response, int count) { response.write("</ul>"); } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteTextRenderer.java Thu Jun 23 10:58:45 2011 @@ -25,19 +25,14 @@ import org.apache.wicket.request.Respons * * @author Igor Vaynberg (ivaynberg) * @param <T> - * */ public abstract class AbstractAutoCompleteTextRenderer<T> extends AbstractAutoCompleteRenderer<T> { private static final long serialVersionUID = 1L; - /** - * @see AbstractAutoCompleteRenderer#renderChoice(Object, Response, String) - */ @Override protected void renderChoice(final T object, final Response response, final String criteria) { response.write(getTextValue(object)); } - } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteBehavior.java Thu Jun 23 10:58:45 2011 @@ -23,6 +23,7 @@ import org.apache.wicket.request.IReques import org.apache.wicket.request.IRequestHandler; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.http.WebResponse; +import org.apache.wicket.util.lang.Args; /** @@ -55,7 +56,6 @@ public abstract class AutoCompleteBehavi this(renderer, false); } - /** * Constructor * @@ -81,48 +81,44 @@ public abstract class AutoCompleteBehavi final AutoCompleteSettings settings) { super(settings); - if (renderer == null) - { - throw new IllegalArgumentException("renderer cannot be null"); - } - this.renderer = renderer; - } + this.renderer = Args.notNull(renderer, "renderer"); + } @Override protected final void onRequest(final String val, final RequestCycle requestCycle) { IRequestHandler target = new IRequestHandler() { - public void respond(final IRequestCycle requestCycle) { - WebResponse r = (WebResponse)requestCycle.getResponse(); // Determine encoding final String encoding = Application.get() .getRequestCycleSettings() .getResponseRequestEncoding(); - r.setContentType("text/xml; charset=" + encoding); + r.setContentType("text/xml; charset=" + encoding); r.disableCaching(); Iterator<T> comps = getChoices(val); + int count = 0; renderer.renderHeader(r); while (comps.hasNext()) { final T comp = comps.next(); renderer.render(comp, r, val); + count += 1; } - renderer.renderFooter(r); + renderer.renderFooter(r, count); } public void detach(final IRequestCycle requestCycle) { } - }; + requestCycle.scheduleRequestHandlerAfterCurrent(target); } @@ -136,4 +132,4 @@ public abstract class AutoCompleteBehavi * @return iterator over all possible choice objects */ protected abstract Iterator<T> getChoices(String input); -} +} \ No newline at end of file Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteSettings.java Thu Jun 23 10:58:45 2011 @@ -334,5 +334,4 @@ public final class AutoCompleteSettings this.useHideShowCoveredIEFix = useHideShowCoveredIEFix; return this; } - } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AutoCompleteTextField.java Thu Jun 23 10:58:45 2011 @@ -44,7 +44,6 @@ import org.apache.wicket.model.IModel; */ public abstract class AutoCompleteTextField<T> extends TextField<T> { - private static final long serialVersionUID = 1L; /** auto complete behavior attached to this textfield */ @@ -56,7 +55,6 @@ public abstract class AutoCompleteTextFi /** settings */ private final AutoCompleteSettings settings; - /** * @param id * @param type @@ -125,7 +123,6 @@ public abstract class AutoCompleteTextFi this(id, object, null, settings); } - /** * @param id * @param object @@ -156,7 +153,6 @@ public abstract class AutoCompleteTextFi public AutoCompleteTextField(final String id, final AutoCompleteSettings settings) { this(id, null, settings); - } /** @@ -165,7 +161,6 @@ public abstract class AutoCompleteTextFi public AutoCompleteTextField(final String id) { this(id, null, new AutoCompleteSettings()); - } /** @@ -232,7 +227,6 @@ public abstract class AutoCompleteTextFi this.settings = settings; } - /** * Factory method for autocomplete behavior that will be added to this textfield * @@ -270,7 +264,6 @@ public abstract class AutoCompleteTextFi super.onBeforeRender(); } - /** {@inheritDoc} */ @Override protected void onComponentTag(final ComponentTag tag) { Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/DefaultCssAutoCompleteTextField.java Thu Jun 23 10:58:45 2011 @@ -52,5 +52,4 @@ public abstract class DefaultCssAutoComp response.renderCSSReference(new PackageResourceReference( DefaultCssAutoCompleteTextField.class, "DefaultCssAutoCompleteTextField.css")); } - } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/IAutoCompleteRenderer.java Thu Jun 23 10:58:45 2011 @@ -89,7 +89,9 @@ public interface IAutoCompleteRenderer<T * calling {@link Response#write(CharSequence)}. * * @param response + * @param count + * The number of choices rendered */ - void renderFooter(Response response); + void renderFooter(Response response, int count); } Modified: wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java URL: http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java?rev=1138826&r1=1138825&r2=1138826&view=diff ============================================================================== --- wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java (original) +++ wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/StringAutoCompleteRenderer.java Thu Jun 23 10:58:45 2011 @@ -44,9 +44,6 @@ public final class StringAutoCompleteRen return INSTANCE; } - /** - * @see AbstractAutoCompleteTextRenderer#getTextValue(Object) - */ @Override protected String getTextValue(final Object object) {