On Thu, Feb 16, 2012 at 12:03 PM, Johan Compagner <jcompag...@gmail.com> wrote:
> its way better to say that you should override that method and return
> false..

that would require every panel that has a form to be built with this
in mind. imho much simpler to always put the modal inside a form
instead.

> because now you have to already know that you will show forms in a dialog
> and place a form on some page..

you just have to make sure that you always put your modal window
inside a wicket form

> What if you just have a modal window that you reuse all over the place in
> many pages
> then you have to add a form? Why doesn't wicket do that him self then
> inside the modal window component....

i suppose since modal window is a panel it can have a form in it. patch? :)

> now it is also not always that nice, now the panel must know that it is
> shown in a modal window and override that method
> i am just thinking can't we make that isRootForm smarter that it also test
> if it is inside a modal window..

that would require the modal to be in core, or implement some new core
interface. imho simpler to put a form inside modal's panel and call it
a day.

-igor

>
>
> On Thu, Feb 16, 2012 at 20:58, Igor Vaynberg <igor.vaynb...@gmail.com>wrote:
>
>> thats why the javadoc says to put the modal window component inside a
>> wicket form...
>>
>> -igor
>>
>> On Thu, Feb 16, 2012 at 11:55 AM, Johan Compagner <jcompag...@gmail.com>
>> wrote:
>> > but the modal dialog iself is not in a form..
>> >
>> > there are only 2 forms in my example
>> > the one that the modal dialog generates in js code
>> > and the one inside the panel that i show in the modal dialog
>> >
>> > But it is fixed by overriding that isRootForm() and returning false
>> myself
>> > then it works just fine
>> >
>> >
>> > On Thu, Feb 16, 2012 at 20:52, Igor Vaynberg <igor.vaynb...@gmail.com
>> >wrote:
>> >
>> >> the modal dialog form is, but since the panel is rendered inside
>> >> modal's parent initially the wicket form inside the modal should see
>> >> the wicket form that the modal itself is in...
>> >>
>> >> the rendered hierarchy should be like this
>> >>
>> >> form - wicket form
>> >>  modal window
>> >>    content panel
>> >>      div - wicket form inside the modal rendered as div instead of form
>> >>
>> >> now when modal is opened the content panel is reparented in dom
>> >>
>> >> body
>> >>  form - dom form created by modal js
>> >>     content panel
>> >>        div - wicket form inside the modal's content
>> >>
>> >> -igor
>> >>
>> >> On Thu, Feb 16, 2012 at 11:36 AM, Johan Compagner <jcompag...@gmail.com
>> >
>> >> wrote:
>> >> > ok for a form inside a modal dialog
>> >> > you need to override:
>> >> >
>> >> >        /**
>> >> >         * @see org.apache.wicket.markup.html.form.Form#isRootForm()
>> >> >         */
>> >> >        @Override
>> >> >        public boolean isRootForm()
>> >> >        {
>> >> >            return false;
>> >> >        }
>> >> >
>> >> > because the default behavior will ofcourse not find any other form
>> >> because
>> >> > the modal dialog form is just in javascript/html, its not a wicket
>> >> > component..
>> >> >
>> >> >
>> >> > On Thu, Feb 16, 2012 at 20:22, Johan Compagner <jcompag...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> yes i just read that in a jira issue :)
>> >> >> but in my example it doesn't ...
>> >> >> will check it
>> >> >>
>> >> >>
>> >> >>
>> >> >> On Thu, Feb 16, 2012 at 20:20, Igor Vaynberg <
>> igor.vaynb...@gmail.com
>> >> >wrote:
>> >> >>
>> >> >>> the whole idea of putting the modal into a wicket form is that forms
>> >> >>> inside the modal should change their form tags to divs because they
>> >> >>> see they are inside another form...
>> >> >>>
>> >> >>> -igor
>> >> >>>
>> >> >>> On Thu, Feb 16, 2012 at 11:16 AM, Johan Compagner <
>> >> jcompag...@gmail.com>
>> >> >>> wrote:
>> >> >>> > here:
>> >> >>> >
>> >> >>> >
>> >> >>>
>> >>
>> http://wicket.apache.org/apidocs/1.5/org/apache/wicket/extensions/ajax/markup/html/modal/ModalWindow.html
>> >> >>> >
>> >> >>> > we say
>> >> >>> >
>> >> >>> > "If you want to use form in modal window component make sure that
>> you
>> >> >>> put
>> >> >>> > the modal window itself in another form (nesting forms is legal in
>> >> >>> Wicket)
>> >> >>> > and that the form on modal window is submitted before the window
>> get
>> >> >>> > closed."
>> >> >>> >
>> >> >>> > problem is that this is illegal in the browser.
>> >> >>> > And chrome some if i push through ajax new content in the modal
>> >> dialog
>> >> >>> that
>> >> >>> > has that form
>> >> >>> > completely removes the form from the resulting component tree..
>> >> >>> >
>> >> >>> > I guess this is because the modal dialog generates a form tag
>> itself,
>> >> >>> and
>> >> >>> > then also a form tag is generated in the content of the modal
>> dialog
>> >> >>> itself
>> >> >>> > and chrome just filters that out?
>> >> >>> > Weird thing is that chrome doesn't do that when you do a full page
>> >> >>> > refresh...
>> >> >>> >
>> >> >>> > johan
>> >> >>>
>> >> >>
>> >> >>
>> >>
>>

Reply via email to