doesnt make sense, onsubmit should go from most inner to outer. means
also processingForm.onSubmit(); should be called last...

-igor

On Thu, May 12, 2011 at 11:52 AM, Martin Grigorov <[email protected]> wrote:
> On Thu, May 12, 2011 at 7:32 PM, <[email protected]> wrote:
>
>> Author: pete
>> Date: Thu May 12 17:32:38 2011
>> New Revision: 1102395
>>
>> URL: http://svn.apache.org/viewvc?rev=1102395&view=rev
>> Log:
>> WICKET-3705 AjaxSubmit in modal window doesn't call form.onSubmit() before
>> ending request
>>
>> Modified:
>>
>>  wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
>>
>> Modified:
>> wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
>> URL:
>> http://svn.apache.org/viewvc/wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java?rev=1102395&r1=1102394&r2=1102395&view=diff
>>
>> ==============================================================================
>> ---
>> wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
>> (original)
>> +++
>> wicket/trunk/wicket-core/src/main/java/org/apache/wicket/markup/html/form/Form.java
>> Thu May 12 17:32:38 2011
>> @@ -1131,23 +1131,37 @@ public class Form<T> extends WebMarkupCo
>>         */
>>        protected void delegateSubmit(IFormSubmitter submittingComponent)
>>        {
>> -               // when the given submitting component is not null, it
>> means that it was the
>> -               // submitting component
>> +               final Form<?> processingForm;
>> +
>> +               // process submitting component (if specified)
>>                if (submittingComponent != null)
>>                {
>> -                       // use the form which the submittingComponent has
>> submitted for further processing
>> +                       // use form of submitting component for processing
>> +                       processingForm = submittingComponent.getForm();
>> +
>> +                       if(processingForm == null)
>> +                       {
>> +                               throw new IllegalStateException("submitting
>> component must not return 'null' on getForm()");
>> +                       }
>> +
>> +                       // invoke submit on component
>>                        submittingComponent.onSubmit();
>>                }
>> -
>> -               // Model was successfully updated with valid data
>> -
>> -               Visits.visitPostOrder(this, new IVisitor<Form<?>, Void>()
>> +               else
>> +               {
>> +                       processingForm = this;
>> +               }
>> +
>> +               // invoke submit on top-level form
>> +               processingForm.onSubmit();
>> +
>> +               // process active child forms
>> +               Visits.visitChildren(processingForm, new IVisitor<Form<?>,
>> Void>()
>>
>
> From .visitPostOrder() to .visitChildren() - is that intentional ?
>
>
>>                {
>>                        public void component(Form<?> form, IVisit<Void>
>> visit)
>>                        {
>>                                if (form.isEnabledInHierarchy() &&
>> form.isVisibleInHierarchy())
>>                                {
>> -
>>                                        form.onSubmit();
>>                                }
>>                        }
>>
>>
>>
>
>
> --
> Martin Grigorov
> jWeekend
> Training, Consulting, Development
> http://jWeekend.com <http://jweekend.com/>
>

Reply via email to