dont search for ajax indicator twice ajaAttributes already contains the id; removed superfluous arguments from JavaScript
Project: http://git-wip-us.apache.org/repos/asf/wicket/repo Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/e7597f03 Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/e7597f03 Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/e7597f03 Branch: refs/heads/master Commit: e7597f03f2c605badfa114011935cb79a51f2717 Parents: a148e08 Author: Sven Meier <[email protected]> Authored: Thu Dec 7 18:17:29 2017 +0100 Committer: Sven Meier <[email protected]> Committed: Thu Dec 7 20:41:57 2017 +0100 ---------------------------------------------------------------------- .../AbstractAutoCompleteBehavior.java | 15 +--------- .../html/autocomplete/wicket-autocomplete.js | 30 ++++++++++---------- 2 files changed, 16 insertions(+), 29 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/wicket/blob/e7597f03/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java index 7164ee4..6e9db0f 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/AbstractAutoCompleteBehavior.java @@ -36,7 +36,6 @@ import org.apache.wicket.request.Response; import org.apache.wicket.request.cycle.RequestCycle; import org.apache.wicket.request.resource.JavaScriptResourceReference; import org.apache.wicket.request.resource.ResourceReference; -import org.apache.wicket.util.string.Strings; /** * @since 1.2 @@ -156,20 +155,8 @@ public abstract class AbstractAutoCompleteBehavior extends AbstractDefaultAjaxBe private void renderAutocompleteHead(final IHeaderResponse response) { response.render(JavaScriptHeaderItem.forReference(AUTOCOMPLETE_JS)); - final String id = getComponent().getMarkupId(); - String indicatorId = findIndicatorId(); - if (Strings.isEmpty(indicatorId)) - { - indicatorId = "null"; - } - else - { - indicatorId = "'" + indicatorId + "'"; - } - - String initJS = String.format("new Wicket.AutoComplete('%s', %s, %s, %s);", id, - renderAjaxAttributes(getComponent(), getAttributes()), constructSettingsJS(), indicatorId); + String initJS = String.format("new Wicket.AutoComplete(%s, %s);", renderAjaxAttributes(getComponent()), constructSettingsJS()); final OnDomReadyHeaderItem onDomReady = OnDomReadyHeaderItem.forScript(initJS); http://git-wip-us.apache.org/repos/asf/wicket/blob/e7597f03/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js ---------------------------------------------------------------------- diff --git a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js index 5fa8d2e..26f4b8d 100644 --- a/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js +++ b/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/autocomplete/wicket-autocomplete.js @@ -35,7 +35,7 @@ enterHidesWithNoSelection : false }; - Wicket.AutoComplete=function(elementId, ajaxAttributes, cfg, indicatorId){ + Wicket.AutoComplete=function(ajaxAttributes, cfg){ var KEY_TAB=9; var KEY_ENTER=13; var KEY_ESC=27; @@ -85,7 +85,7 @@ choiceDiv.parentNode.parentNode.removeChild(choiceDiv.parentNode); } - var obj = Wicket.$(elementId); + var obj = Wicket.$(ajaxAttributes.c); initialElement = obj; Wicket.Event.add(obj, 'blur', function (jqEvent) { @@ -120,7 +120,7 @@ setSelected(selected-1); } - var searchTerm = Wicket.$(elementId).value; + var searchTerm = Wicket.$(ajaxAttributes.c).value; if(selected === -1 && searchTerm) { // select the last element setSelected(elementCount-1); @@ -292,7 +292,7 @@ } function getMenuId() { - return elementId+"-autocomplete"; + return ajaxAttributes.c+"-autocomplete"; } function getAutocompleteMenu() { @@ -345,7 +345,7 @@ } function actualUpdateChoices() { - prepareAndExecuteAjaxUpdate(doUpdateChoices, Wicket.$(elementId).value); + prepareAndExecuteAjaxUpdate(doUpdateChoices, Wicket.$(ajaxAttributes.c).value); } function prepareAndExecuteAjaxUpdate(successHandler, currentInput){ @@ -357,7 +357,7 @@ attrs.pre = attrs.pre || []; attrs.pre.push(function (attributes) { - var input = Wicket.$(elementId); + var input = Wicket.$(ajaxAttributes.c); if (!input) { // WICKET-6366 input might no longer be on page return false; @@ -385,17 +385,17 @@ } function showIndicator() { - Wicket.DOM.show(indicatorId); + Wicket.DOM.show(ajaxAttributes.i); } function hideIndicator() { - Wicket.DOM.hide(indicatorId); + Wicket.DOM.hide(ajaxAttributes.i); } function showAutoComplete() { - var input = Wicket.$(elementId); + var input = Wicket.$(ajaxAttributes.c); var container = getAutocompleteContainer(); - var index=getOffsetParentZIndex(elementId); + var index=getOffsetParentZIndex(ajaxAttributes.c); container.show(); if (!isNaN(Number(index))) { container.style.zIndex=(Number(index)+1); @@ -449,7 +449,7 @@ } if (triggerChangeOnHide) { - var input = Wicket.$(elementId); + var input = Wicket.$(ajaxAttributes.c); jQuery(input).triggerHandler('change'); triggerChangeOnHide = false; } @@ -587,7 +587,7 @@ getAutocompleteMenu().showingAutocomplete = false; // check if the input hasn't been cleared in the meanwhile or has been replaced by ajax - var input=Wicket.$(elementId); + var input=Wicket.$(ajaxAttributes.c); if ((input !== initialElement) || (document.activeElement !== input) || !cfg.showListOnEmptyInput && (input.value === null || input.value === "")) { hideAutoComplete(); hideIndicator(); @@ -615,7 +615,7 @@ var value = getSelectedValue(); value = handleSelection(value); - var input = Wicket.$(elementId); + var input = Wicket.$(ajaxAttributes.c); if (value) { input.value = value; triggerChangeOnHide = true; @@ -686,7 +686,7 @@ function scheduleEmptyCheck() { window.setTimeout(function() { - var input=Wicket.$(elementId); + var input=Wicket.$(ajaxAttributes.c); // WICKET-6366 input might no longer be on page if (input) { @@ -782,7 +782,7 @@ sizeAffected = true; } if (sizeAffected) { - calculateAndSetPopupBounds(Wicket.$(elementId), menu.parentNode); + calculateAndSetPopupBounds(Wicket.$(ajaxAttributes.c), menu.parentNode); } // update stuff related to bounds if needed }
