-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
<f:ajax> execute="@this" and render="@this" does not behave as expected when nested in composite component #1567
Comments
@tandraschko: is this updated spec for you also sufficient to fix this issue in MyFaces side? eclipse-ee4j/mojarra@bc2d918 |
@BalusC which reported MF issue do you mean? |
The current one. |
yep, i think |
The unexpected behavior is described in issue description. In Mojarra, it's because the f:ajax is basically re-attached to the individual components. So the |
i think its the same for MyFaces |
NVM: pressed f5 ;D |
F5 again, initial impl did not exactly work as intended ;) |
PR created. All local tests passed (although it's missing a good bunch of f:ajax tests since migration ..) |
I've backported impl improvements to Mojarra 2.3 nonetheless. All f:ajax tests over there now pass. |
Merged in 3.0 as well. |
@BalusC Also i wonder if we can implement this a bit different, so that even p:ajax might work automatically? |
No idea. Logic was already like this and I didn't want to break backwards compatibility. If I were to guess I think it's to ensure that any EL in execute/render attribute is evaluated at right moment. |
@BalusC I'm throwing this out there as I'm seeing some behavior changes in mojarra going form 2.3.14 to 2.3.17 which seem to be related to this change. What I'm seeing is in the below where What happens is when the
oc:wizardSection is a composite component This did not occur in 2.3.14, but I'm not sure yet if this is the intent. My reading of this issue and the spec would lead me to believe the
But probably shouldn't execute all inputs if it was like
If any |
You're right. I'll have to take a second look at this. |
Reproduced. The spec was correct, it's actually a bug in Mojarra impl and happens only when a composite is doubly-nested. |
Improved impl of "retargeted ajax behavior"
Unsure why this has 4.1 tag/milestone. It's added in 4.0. See updated execute and render attributes of f:ajax: https://jakarta.ee/specifications/faces/4.0/vdldoc/f/ajax.html I should probably not have reopened this. |
Fixed regression error which caused spec1567IT to fail; the composite instance is needed further down in ComponentNotFoundException block
Given:
When:
Then the expectation is that the "entire"
<my:inputLocalTime>
is executed (at least the components covered intargets
attribute of the associated<cc:clientBehavior>
). The current unintuitive behavior is that it's only executing the individual<h:selectOneMenu>
component on which the event is triggered.The same problem applies to
render
attribute.When:
Then the expectation is that the entire
<my:inputLocalTime>
is rendered. The current unintuitive behavior is that it's only rendering the invididual<h:selectOneMenu>
component on which the event is triggered.The text was updated successfully, but these errors were encountered: