I would like create a component that extends AjaxEditableLabel with replace
TextField with AjaxEditableAutoComplete.
And I discovert a problem in the wicket-autocomplete.js when the event
onchange is rewriting (line 83) :
// WICKET-1280
objonchangeoriginal=obj.onchange;
obj.onchange=function(event){
if(mouseactive==1)return false;
if(typeof objonchangeoriginal=="function")objonchangeoriginal();
}
objonchange=obj.onchange;
the problem is that the objonchangeoriginal function can't access to the
this object, and it's necessary because I change the onchange event on
AjaxEditableAutoComplete in case I extends AjaxEditableLabel with this :
editor.add(new EditorAjaxBehavior() {
private static final long serialVersionUID = 1L;
@Override
protected void onComponentTag(ComponentTag tag) {
super.onComponentTag(tag);
final String saveCall = "{wicketAjaxGet('" +
getCallbackUrl() +
"&save=true&'+this.name+'='+wicketEncode(this.value)); return true;}";
tag.put("onchange", saveCall);
}
});
then the best way to solve the problem is to change the invocation of
objonchangeoriginal function with that :
84// WICKET-1280
85 objonchangeoriginal=obj.onchange;
86 obj.onchange=function(event){
87 if(mouseactive==1)return false;
88 if(typeof
objonchangeoriginal=="function")objonchangeoriginal.apply(this, [event]);
89 }
90 objonchange=obj.onchange;
all invocation of function need to be change this with new invocation on the
wicket-autocomplete.js file.
--
View this message in context:
http://www.nabble.com/pb-to-access-to-this-on-event-onchange-on-the-AutoCompleteTextField-tp21278638p21278638.html
Sent from the Wicket - User mailing list archive at Nabble.com.