Author: ivaynberg
Date: Sat Sep 27 00:12:10 2008
New Revision: 699584
URL: http://svn.apache.org/viewvc?rev=699584&view=rev
Log:
WICKET-1839
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/wicket-autocomplete.js
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=699584&r1=699583&r2=699584&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
Sat Sep 27 00:12:10 2008
@@ -23,6 +23,7 @@
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.markup.html.IHeaderResponse;
import org.apache.wicket.markup.html.resources.JavascriptResourceReference;
+import org.apache.wicket.util.string.Strings;
/**
* @since 1.2
@@ -49,23 +50,34 @@
super.renderHead(response);
response.renderJavascriptReference(AUTOCOMPLETE_JS);
final String id = getComponent().getMarkupId();
- String initJS = String.format("new
Wicket.AutoComplete('%s','%s',%s);", id,
- getCallbackUrl(), constructSettingsJS());
+
+ String indicatorId = findIndicatorId();
+ if (Strings.isEmpty(indicatorId))
+ {
+ indicatorId = "null";
+ }
+ else
+ {
+ indicatorId = "'" + indicatorId + "'";
+ }
+
+ String initJS = String.format("new
Wicket.AutoComplete('%s','%s',%s,%s);", id,
+ getCallbackUrl(), constructSettingsJS(), indicatorId);
response.renderOnDomReadyJavascript(initJS);
}
protected final String constructSettingsJS()
{
- final StringBuilder sb = new StringBuilder();
- sb.append("{preselect: ").append(settings.getPreselect());
- sb.append(",maxHeight: ").append(settings.getMaxHeightInPx());
- sb.append(",adjustInputWidth: ").append(settings.isAdjustInputWidth());
- sb.append(",showListOnEmptyInput:
").append(settings.getShowListOnEmptyInput());
- if(settings.getCssClassName() != null)
- sb.append(",className:
'").append(settings.getCssClassName()).append('\'');
- sb.append('}');
- return sb.toString();
- }
+ final StringBuilder sb = new StringBuilder();
+ sb.append("{preselect: ").append(settings.getPreselect());
+ sb.append(",maxHeight: ").append(settings.getMaxHeightInPx());
+ sb.append(",adjustInputWidth:
").append(settings.isAdjustInputWidth());
+ sb.append(",showListOnEmptyInput:
").append(settings.getShowListOnEmptyInput());
+ if (settings.getCssClassName() != null)
+ sb.append(",className:
'").append(settings.getCssClassName()).append('\'');
+ sb.append('}');
+ return sb.toString();
+ }
/**
* @see org.apache.wicket.ajax.AbstractDefaultAjaxBehavior#onBind()
Modified:
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
URL:
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js?rev=699584&r1=699583&r2=699584&view=diff
==============================================================================
---
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
(original)
+++
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js
Sat Sep 27 00:12:10 2008
@@ -27,7 +27,7 @@
enterHidesWithNoSelection : false
};
-Wicket.AutoComplete=function(elementId, callbackUrl, cfg){
+Wicket.AutoComplete=function(elementId, callbackUrl, cfg, indicatorId){
var KEY_TAB=9;
var KEY_ENTER=13;
var KEY_ESC=27;
@@ -257,11 +257,24 @@
function actualUpdateChoices()
{
+ showIndicator();
var value = wicketGet(elementId).value;
var request = new
Wicket.Ajax.Request(callbackUrl+"&q="+processValue(value), doUpdateChoices,
false, true, false, "wicket-autocomplete|d");
request.get();
}
-
+
+ function showIndicator() {
+ if (indicatorId!=null) {
+ Wicket.$(indicatorId).style.display='';
+ }
+ }
+
+ function hideIndicator() {
+ if (indicatorId!=null) {
+ Wicket.$(indicatorId).style.display='none';
+ }
+ }
+
function processValue(param) {
return (encodeURIComponent)?encodeURIComponent(param):escape(param);
}
@@ -353,6 +366,7 @@
Wicket.Log.info("Response processed successfully.");
Wicket.Ajax.invokePostCallHandlers();
+ hideIndicator();
}
function scheduleEmptyCheck() {