QA reported on ICE-9500...
Re-opening this JIRA because of the following regressions in showcase (Icefaces 4 trunk rev. 41557/all browsers):
messages/ textEntry/ textAreaEntry (all browsers)
> All: demos are not functional: messages are not rendered when tabbing through without text being entered; when tabbing through after typing text, the focus jumps back to the input entry at the end of the typed text (no errors seen).
Steps:
type at least one character in one of the inputs.
press Tab - > focus is initially visible on the next input entry, but it goes back to the first input entry, at the end of the typed text.
Those issues were caused (more precisely, they became visible) after the changes related to this JIRA. The default event for ace:textEntry and ace:textAreaEntry was changed from blur to valueChange. The client-side code had an event listener on the blur event to call ice.setFocus(), so that no focus is returned to the component when the response comes. This issue was fixed by adding a similar event handler for the change event.
Additionally, I realized that the default render and execute values for the valueChange event of ace:textEntry and ace:textAreaEntry were wrong. They were execute=@all, render=@this. It should've been the other way: execute=@this, render=@all. This was fixed as well.
These fixes were committed at revision 41583.
Committed fix at revision 41524. Changed default ajax event to valueChange for ace:autoCompleteEntry, ace:textEntry, and ace:textAreaEntry; added valueChange ajax event to ace:textAreaEntry.
The following input components already had the valueChange event as their default: ace:comboBox, ace:maskedEntry, ace:themeSelect, ace:simpleSelectOneMenu, ace:selectmenu.
I tried adding the valueChange event to ace:richTextEntry now that it was updated to version 4.3, since the onchange has never been properly supported. However, the event it's still not properly supported; the event fires every time one types a character, so this component was left unmodified in this regard.