its way better to say that you should override that method and return
false..

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

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....

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..


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