No way to leave a zone's content when updating other zones with MultiZoneUpdate
-------------------------------------------------------------------------------
Key: TAP5-1309
URL: https://issues.apache.org/jira/browse/TAP5-1309
Project: Tapestry 5
Issue Type: Bug
Affects Versions: 5.2.1
Reporter: Andy Blower
I've spent all day chasing down an issue that appeared when we upgraded to
Tapestry 5.2.1 - it doesn't occur with T5.2.0, and I finally managed to find
the change that is causing the problem. It's the fix for TAP5-1177 where
tapestry.js was changed from
Tapestry.loadScriptsInReply(reply, function() {
/*
* In a multi-zone update, the
reply.content may be blank or
* missing.
*/
reply.content &&
this.show(reply.content);
to
Tapestry.loadScriptsInReply(reply, function() {
/*
* In a multi-zone update, the
reply.content may be missing,
* in which case, leave the
curent content in place. TAP5-1177
*/
reply.content != undefined &&
this.show(reply.content);
The situation this is causing an issue for is where we have a form in a zone
and submitting the form needs to update another zone so MultiZoneUpdate is used
which has content in the json for the other zone. i.e.
{
"content" : "",
"zones" : {
"someThingZone" : "<b>stuff</b>"
}
}
This used to leave the form inside it's zone alone which is good because some
other javascript fires which accesses part of the form. If the form has been
removed from the DOM (as happens with T5.2.1) then this Javascript fails. I'm
not very familiar with this code, and I've not personally used MultiZoneUpdate,
but it seems to me at first glance that the content bit of the json will always
be "" for MultiZoneUpdate. All the content goes into the "zones" part of the
json. Also, the comment in the T5.2.1 version seems to say that the content
should be left alone if content is missing, but since missing is the same as ""
it doesn't do that.
"I think Tapestry should not set the content property of the response when
there's a MultiZoneUpdate response, so as to leave the Zone's current content
unchanged." - HLS
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.