Hmm... Thanks for pointing that out. Do you know know how to do that without storing state? Does wonder do something like that anywhere?
> On Mar 14, 2017, at 10:46 AM, Samuel Pelletier <sam...@samkar.com> wrote: > > Ricardo, > > This patch seem dangerous to first. I do not thing it is safe to have state > in WODynamicElement. I think they can be reused by the framework. > > The correct way is to make sure the condition does not change during RR loop > cycle, same apply to WORepetition list for example. > > Regards, > > Samuel > >> Le 14 mars 2017 à 09:53, Ricardo Parada <rpar...@mac.com> a écrit : >> >> Thanks Samuel. I see that now. >> >> Have others experienced a problem where a form is submitted and then during >> takeValuesFtomTequest a condition that was false when the page was rendered >> becomes true all of a sudden causing some input elements (textfields, pop-up >> list, etc.) to participate in takeValuesFromRequest even though those >> elements were not on the page when the form was submitted? This causes those >> elements to be set to null. I've ran into such bugs in the past many times. >> >> I have been able to prevent that from happening by using the following code: >> >> >> public class MPVWOConditional extends ERXWOConditional { >> >> protected boolean conditionValue = false; >> >> public MPVWOConditional(String name, NSDictionary dict, WOElement >> element) { >> super(name, dict, element); >> } >> >> @Override >> public void appendToResponse(WOResponse woresponse, WOContext wocontext) { >> // Cache the condition every time the page is being rendered >> conditionValue = >> _condition.booleanValueInComponent(wocontext.component()); >> super.appendToResponse(woresponse, wocontext); >> } >> >> /** >> * Returns the value for the condition binding cached during >> appendToResponse. >> * This makes the takeValuesFromRequest consistent with the >> appendToResponse >> * preceding it by making sure that input elements that were not present >> on >> * the page at the time the form was submitted do not participate in >> * takeValuesFromRequest inadvertently. >> */ >> @Override >> protected boolean conditionInComponent(WOComponent wocomponent) { >> return conditionValue; >> } >> } >> >> >> >> >>> On Mar 14, 2017, at 9:39 AM, Samuel Pelletier <sam...@samkar.com> wrote: >>> >>> Hi, >>> >>> If you use inline bindings with ONGL, the class WOHelperFunctionTagRegistry >>> registers classes mapped to tag >>> >>> WOHelperFunctionTagRegistry.registerTagShortcut("ERXElse", >>> "else"); >>> >>> WOHelperFunctionTagRegistry.registerTagShortcut("ERXWOConditional", "if"); >>> >>> WOHelperFunctionTagRegistry.registerTagShortcut("ERXWOConditional", >>> "conditional"); >>> >>> Samuel >>> >>> >>>> Le 13 mars 2017 à 19:46, Ricardo Parada <rpar...@mac.com> a écrit : >>>> >>>> Hi all, >>>> >>>> Does anybody know where does ERXWOConditional install to replace >>>> WOConditional? >>>> >>>> I created an MPVWOConditional which extends ERXWOConditional and fixes a >>>> bug and want to install it as the one to use for WOConditional. >>>> >>>> I checked in ERXPatches but it does not seem to be getting installed >>>> there. Does anybody know? >>>> >>>> Thanks >>>> _______________________________________________ >>>> Do not post admin requests to the list. They will be ignored. >>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>> Help/Unsubscribe/Update your Subscription: >>>> https://lists.apple.com/mailman/options/webobjects-dev/samuel%40samkar.com >>>> >>>> This email sent to sam...@samkar.com >> >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com