[ https://issues.apache.org/jira/browse/WICKET-7104?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Florian Wunderlich updated WICKET-7104: --------------------------------------- Description: Since at least Wicket 9.16.0, the minified wicket-autocomplete.min.js is broken. {{Javadoc AbstractAutoCompleteRenderer#getOnSelectJavaScriptExpression:}} {{[...]}} {{ * the current text value will be in variable 'input'.}} {{ * }} {{ * If the function returns <code>null</code> the chosen text value will be ignored.}} {{ * <p/>}} {{ * example 1:}} {{ * }} {{ * <pre>}} {{ * protected CharSequence getOnSelectJavaScript(Address address)}} {{ * {}} {{ * final StringBuilder js = new StringBuilder();}} {{ * js.append("wicketGet('street').value ='" + address.getStreet() + "';");}} {{ * js.append("wicketGet('zipcode').value ='" + address.getZipCode() + "';");}} {{ * js.append("wicketGet('city').value ='" + address.getCity() + "';");}} {{ * js.append("{color:#ff0000}*input*{color}"); // <-- do not use return statement here!}} {{ * return js.toString();}} {\{ * }}} {{ * </pre>}} {{[...]}} wicket-autocomplete.js source: function handleSelection({color:#ff0000}*input*{color}) { var attr = getSelectableElement(selected).attributes.onselect; return attr ? eval(attr.value) : {color:#ff0000}*input*{color}; } Minified wicket-autocomplete.min.js, 9.7.0: function handleSelection({color:#ff0000}*input*{color}){var attr=getSelectableElement(selected).attributes.onselect;return attr?eval(attr.value):{color:#ff0000}{*}input{*}{color:#172b4d}}{color} {color:#172b4d}Minified wicket-autocomplete.min.js, 9.16.0, 9.17.0 and 10.0.0:{color} {color:#172b4d}function O({color}{*}d{*}{color})\{var a=J(p).attributes.onselect;return a?eval(a.value):d} There is no "input" parameter anymore. Minification is too aggressive and breaks this functionality, which {*}only happens in production{*}, since in development the non-minimized source JS files will be used. Workaround: set Application.get().getResourceSettings().getUseMinifiedResources() to false when deploying into production. was: Since at least Wicket 9.16.0, the minified wicket-autocomplete.min.js is broken. {{Javadoc AbstractAutoCompleteRenderer#getOnSelectJavaScriptExpression:}} {{[...]}} {{ * the current text value will be in variable 'input'.}} {{ * }} {{ * If the function returns <code>null</code> the chosen text value will be ignored.}} {{ * <p/>}} {{ * example 1:}} {{ * }} {{ * <pre>}} {{ * protected CharSequence getOnSelectJavaScript(Address address)}} {{ * {}} {{ * final StringBuilder js = new StringBuilder();}} {{ * js.append("wicketGet('street').value ='" + address.getStreet() + "';");}} {{ * js.append("wicketGet('zipcode').value ='" + address.getZipCode() + "';");}} {{ * js.append("wicketGet('city').value ='" + address.getCity() + "';");}} {{ * js.append("{color:#FF0000}*input*{color}"); // <-- do not use return statement here!}} {{ * return js.toString();}} {{ * }}} {{ * </pre>}} {{[...]}} wicket-autocomplete.js source: function handleSelection({color:#FF0000}*input*{color}) { var attr = getSelectableElement(selected).attributes.onselect; return attr ? eval(attr.value) : {color:#FF0000}*input*{color}; } Minified wicket-autocomplete.min.js, 9.7.0: function handleSelection({color:#FF0000}*input*{color}){var attr=getSelectableElement(selected).attributes.onselect;return attr?eval(attr.value):{color:#FF0000}*input*{color}} Minified wicket-autocomplete.min.js, 9.16.0, 9.17.0 and 10.0.0: function O({*}{color:#FF0000}d{color}{*})\{var a=J(p).attributes.onselect;return a?eval(a.value):d} There is no "input" parameter anymore. Minification is too aggressive and breaks this functionality, which {*}only happens in production{*}, since in development the non-minimized source JS files will be used. Workaround: set Application.get().getResourceSettings().getUseMinifiedResources() to false when deploying into production. > wicket-autocomplete.min.js minified too aggresively > --------------------------------------------------- > > Key: WICKET-7104 > URL: https://issues.apache.org/jira/browse/WICKET-7104 > Project: Wicket > Issue Type: Bug > Components: wicket-extensions > Affects Versions: 9.16.0, 10.0.0, 9.17.0 > Reporter: Florian Wunderlich > Priority: Major > > Since at least Wicket 9.16.0, the minified wicket-autocomplete.min.js is > broken. > {{Javadoc AbstractAutoCompleteRenderer#getOnSelectJavaScriptExpression:}} > {{[...]}} > {{ * the current text value will be in variable 'input'.}} > {{ * }} > {{ * If the function returns <code>null</code> the chosen text value will > be ignored.}} > {{ * <p/>}} > {{ * example 1:}} > {{ * }} > {{ * <pre>}} > {{ * protected CharSequence getOnSelectJavaScript(Address address)}} > {{ * {}} > {{ * final StringBuilder js = new StringBuilder();}} > {{ * js.append("wicketGet('street').value ='" + address.getStreet() + > "';");}} > {{ * js.append("wicketGet('zipcode').value ='" + address.getZipCode() > + "';");}} > {{ * js.append("wicketGet('city').value ='" + address.getCity() + > "';");}} > {{ * js.append("{color:#ff0000}*input*{color}"); // <-- do not use > return statement here!}} > {{ * return js.toString();}} > {\{ * }}} > {{ * </pre>}} > {{[...]}} > wicket-autocomplete.js source: > function handleSelection({color:#ff0000}*input*{color}) { > var attr = getSelectableElement(selected).attributes.onselect; > return attr ? eval(attr.value) : {color:#ff0000}*input*{color}; > } > Minified wicket-autocomplete.min.js, 9.7.0: > function handleSelection({color:#ff0000}*input*{color}){var > attr=getSelectableElement(selected).attributes.onselect;return > attr?eval(attr.value):{color:#ff0000}{*}input{*}{color:#172b4d}}{color} > {color:#172b4d}Minified wicket-autocomplete.min.js, 9.16.0, 9.17.0 and > 10.0.0:{color} > {color:#172b4d}function O({color}{*}d{*}{color})\{var > a=J(p).attributes.onselect;return a?eval(a.value):d} > There is no "input" parameter anymore. Minification is too aggressive and > breaks this functionality, which {*}only happens in production{*}, since in > development the non-minimized source JS files will be used. > Workaround: set > Application.get().getResourceSettings().getUseMinifiedResources() to false > when deploying into production. -- This message was sent by Atlassian Jira (v8.20.10#820010)