This would be then a bug in nested forms support and not in the modal
window itself. If a form inside modal window is submitted only that
form should be processed. I still don't understand what problem
exactly this fixes.

-Matej

On Tue, Jul 28, 2009 at 10:04 PM, Vladimir K<koval...@gmail.com> wrote:
>
> The following class fixes the problem. It is the evidence of mismatch I'm
> saying about.
>
> public class ModalWindowForm<T> extends Form<T> {
>        public ModalWindowForm(String id) {
>                super(id);
>        }
>
>       �...@override
>        public Form<?> getRootForm() {
>                Form<?> form = super.getRootForm();
>
>                if ((findParent(ModalWindow.class) != null) &&
> (form.findParent(ModalWindow.class) == null))
>                        return this;
>                else
>                        return form;
>        }
> }
>
> I assume I don't understand something. But anyway I expect following the
> least surprise rule.
>
>
>
> Matej Knopp-2 wrote:
>>
>> On Tue, Jul 28, 2009 at 8:31 PM, Vladimir K<koval...@gmail.com> wrote:
>>>
>>> Jeremy,
>>>
>>> from my perspective ModalWindow is a mix of javascript widget that works
>>> in
>>> non-wicket mode and an wicket wrapper that bridges js widget with wicket.
>>> It
>>> is always created at the body level. That's why I said it's a cheat. Thus
>>> are problems with form submitting when nested forms are used.
>> There is a good reason why the modal window has to be created on body
>> level. That's the only reliable way to have element
>> with absolute position. If you create the DOM structure deeper you are
>> risking that a container has position:relative somewhere which will
>> essentially break it. Welcome to the wonderful world of CSS.
>>
>>> Community
>>> introduced a solution (a wrapping form that is threated as the root) to
>>> work
>>> around the mismatch of ModalWindow structure. There is an issue
>>> registered
>>> about that. But Matej keeps stating that we should put MW into a form.
>>> What
>>> says that he is not aware what the problem is. And there are more
>>> problems
>>> caused by the fact that the <form> element is created by javascript.
>> Is it, really?
>>
>> I've already explained why the DOM structure is created on root level.
>> If you have form component inside modal window, chances are that
>> wicket will (to support nested forms) render it as div. If this
>> happens it is no longer possible to serialize the form when doing an
>> ajax submit. That's why the actual modal window markup contains a real
>> form.
>>
>> And this is why it is necessary to put a modal window inside a form if
>> you want to have form in modal window. What we should have done is to
>> put a wicket form inside the modal window panel itself (just to force
>> all forms in modal window content) to be rendered as nested. But for
>> some reason i thought that a simple mention in javadoc about putting
>> modal window to form would be sufficient. My bad.
>>
>>>
>>> From the other hand I believe it is possible to write pure Wicket
>>> component
>>> that would be as trice as simpler and won't suffer with problems with
>>> request lifecycle. Probably I'm wrong and it is not worth turning the old
>>> ModalWindow into pure Wicket component due to expensiveness of the effort
>>> that would be spent to remain it compatible.
>> Would you mind specifying the actual problems with "request
>> lifecycle"? And how exactly would a "pure wicket modal window" look
>> like? No javascript?
>>>
>>> The same about tree components. The API is very difficult to comprehend.
>>> Component does not work as I expect in dynamic context. But thankfully
>>> Sven
>>> implemented different implementation that does what is expect and usable
>>> as
>>> well as DataTable component. I believe forking and fixing the original
>>> component would be much more expensive. After that so many people should
>>> start complaining about that to convince core team that there is not just
>>> one person who is experiencing problems. It is always difficult to
>>> accomplish.
>> I would like to have some clarification on this. What is so difficult
>> about the Wicket Tree API? (apart from the fact that it uses swing
>> TreeModel which seem to be too confusing for some people). What does
>> "dynamic" context mean? Assuming you have properly implemented
>> TreeModel that fires the proper notifications, wicket tree is capable
>> for updating itself on ajax request by only transmitting the changed
>> part to the clients. How much more dynamic can you get?
>>
>> For next version we will probably ditch swing TreeModel for something
>> simpler but we will still need some kind of modal change notification.
>> Wicket tree has many objectives, simplicity is only one of them.
>> Having simple tree is nice as long as you don't have to refresh the
>> entire thing every time you expand a node or add a node child.
>>
>> -Matej
>>>
>>>
>>> jthomerson wrote:
>>>>
>>>> Why create your own?  Submit a patch to fix what you see is wrong with
>>>> the current one.  Everyone wins.
>>>>
>>>> --
>>>> Jeremy Thomerson
>>>> http://www.wickettraining.com
>>>>
>>>>
>>>>
>>>>
>>>> On Tue, Jul 28, 2009 at 12:20 PM, Vladimir K<koval...@gmail.com> wrote:
>>>>>
>>>>> ModalWindow (being a wicket cheat :) ) deserves a sole book of tricks.
>>>>> I'll
>>>>> definitely author my own modal window unless someone fixes the original
>>>>> one.
>>>>> -1 on including ModalWindow to the book.
>>>>>
>>>>>
>>>>> egolan74 wrote:
>>>>>>
>>>>>> I can't wait for yet another great Wicket book.
>>>>>> I will surly buy it.
>>>>>>
>>>>>> regarding tricks,
>>>>>> using Modal window can be nice.
>>>>>> Integrating Wicket with JS libs (If it's not a topic for a small book
>>>>>> by
>>>>>> itself).
>>>>>> Cool stuff with Ajax.
>>>>>>
>>>>>>
>>>>>> Eyal Golan
>>>>>> egola...@gmail.com
>>>>>>
>>>>>> Visit: http://jvdrums.sourceforge.net/
>>>>>> LinkedIn: http://www.linkedin.com/in/egolan74
>>>>>>
>>>>>> P  Save a tree. Please don't print this e-mail unless it's really
>>>>>> necessary
>>>>>>
>>>>>>
>>>>>> On Tue, Dec 30, 2008 at 10:32 AM, Jonathan Locke
>>>>>> <jonathan.lo...@gmail.com>wrote:
>>>>>>
>>>>>>>
>>>>>>> Well, over the break here I've started something I swore I would
>>>>>>> never
>>>>>>> do
>>>>>>> again (well, two things, if you include the JavaOne talk I'm working
>>>>>>> on).
>>>>>>> I'm writing a (hopefully relatively short) book. It's called
>>>>>>> "Twenty-Six
>>>>>>> Wicket Tricks". Each trick in the book (lettered from A-Z)
>>>>>>> demonstrates
>>>>>>> something that people typically want to do and in the process builds
>>>>>>> a
>>>>>>> reusable and educational component. I've got 13 tricks coded up now
>>>>>>> and
>>>>>>> ideas for a handful more, but if there are any requests out there,
>>>>>>> please
>>>>>>> let me know. I'd also be interested in getting some idea how many
>>>>>>> people
>>>>>>> would be interested in this book (would provide some fuel for me to
>>>>>>> get
>>>>>>> it
>>>>>>> done). It does not cover any of the same ground as Wicket in Action
>>>>>>> (which
>>>>>>> you should buy if you have not already!), BTW. It's more of a
>>>>>>> companion
>>>>>>> to
>>>>>>> that book.
>>>>>>>
>>>>>>> Happy Holidays!
>>>>>>>
>>>>>>> Best,
>>>>>>>
>>>>>>>       Jonathan
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>> http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p21214357.html
>>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>>
>>>>>>> ---------------------------------------------------------------------
>>>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> -----
>>>>>> Eyal Golan
>>>>>> egola...@gmail.com
>>>>>>
>>>>>> Visit: JVDrums
>>>>>> LinkedIn: LinkedIn
>>>>>>
>>>>>
>>>>> --
>>>>> View this message in context:
>>>>> http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24704037.html
>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>>
>>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>>
>>>>
>>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24705381.html
>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>>> For additional commands, e-mail: users-h...@wicket.apache.org
>>>
>>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
>> For additional commands, e-mail: users-h...@wicket.apache.org
>>
>>
>>
>
> --
> View this message in context: 
> http://www.nabble.com/Twenty-Six-Wicket-Tricks-tp21214357p24706890.html
> Sent from the Wicket - User mailing list archive at Nabble.com.
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
> For additional commands, e-mail: users-h...@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to