> > I assume you have to be developer to make changes to the change history.
you mean to the jira issue? you don't have to be a developer to add a comment. just sign up and you're ready to go. gerolf -ed > > > From: [EMAIL PROTECTED] > > Subject: Re: modal window question - opening a modal window on page load > > Date: Sun, 9 Sep 2007 22:24:03 -0700 > > To: users@wicket.apache.org > > > > There is an open issue about this: http://issues.apache.org/jira/ > > browse/WICKET-12 > > Read the discussion for some background and possible solutions. > > > > I needed to do the same thing on a couple of pages. First, I tried > > using getWindowOpenJavascript() on the modal window (called via > > reflection as it's a private method) to get the needed JS, but I > > think I ran into a few issues which I've now forgotten (private > > 'shown' variable wasn't set?). > > > > What I ended up doing was to use JavaScript to call the onclick() > > method of a link that opens the modal window from my page's onload > > function. Since the modal window is a JavaScript construct anyway I > > don't think using JS for the "auto-open" behavior is weird. > > > > > > The following model ensures that a component is "clicked" only one > > time, when the page is initially loaded (probably a common use case). > > If you want to open the modal window on every page load, just check > > out the JavaScript and the basic concept. This is written for Wicket > > 1.2 but a similar approach should work for 1.3. > > > > public class ClickOnceOnLoadModel extends AbstractReadOnlyModel { > > private final Component component; > > private boolean clicked = false; > > > > public ClickOnceOnLoadModel(Component component) { > > this.component = component; > > } > > > > @Override > > public Object getObject(Component cmp) { > > if ( !this.clicked ) { > > this.clicked = true; > > return getClickJs(); > > } > > return null; > > } > > > > private String getClickJs() { > > StringBuilder sb = new StringBuilder( 64 ); > > sb.append( "var e=document.getElementById('" ); > > sb.append( this.component.getMarkupId() ); > > sb.append( "');e.onclick();" ); > > return sb.toString(); > > } > > } > > > > > > You would use it like this: > > > > // Page constructor > > public MyPage() { > > getBodyContainer().addOnLoadModifier( > > new ClickOnceOnLoadModel( modalWindowOpeningLink ), null ); > > } > > > > > > This of course requires a link on your page that opens the same modal > > window you want to open automatically. If you really don't want such > > a link, you could always hide it with CSS. > > > > If there are more elegant solutions (and I'm sure there are), you'll > > probably hear about them soon... > > > > -Ryan > > > > On Sep 9, 2007, at 8:04 PM, Ed _ wrote: > > > > > > > > I want to bring up a modal window when I load a page, ie without > > > clicking a link. I want to use it to prompt the user to enter some > > > data on the home page before he can proceed. So somehow I have to > > > enable the show function, how do I do that. > > > > > > I tried to do something as follows - > > > > > > FormPanel form = new FormPanel(modal.getContentId(), > > > StoreBasePath, strId, title); > > > form.setOutputMarkupId(true); > > > modal.setContent(form); > > > modal.setTitle("This is modal window with panel > > > content."); > > > modal.setCookieName("modalform"); > > > AjaxRequestTarget target = new AjaxRequestTarget(); > > > modal.show(target); > > > > > > java.lang.IllegalStateException: No Page found for component > > > [MarkupContainer [Component id = ModalWindow, page = <No Page>, > > > path = FormPanel:ModalWindow.ModalWindow]] > > > at wicket.Component.getPage(Component.java:1037) > > > at wicket.RequestCycle.urlFor(RequestCycle.java:655) > > > at wicket.Component.urlFor(Component.java:2307) > > > at wicket.behavior.AbstractAjaxBehavior.getCallbackUrl > > > (AbstractAjaxBehavior.java:143) > > > at wicket.ajax.AbstractDefaultAjaxBehavior.getCallbackScript > > > (AbstractDefaultAjaxBehavior.java:131) > > > > > > > > > is there a way to do this. > > > > > > thanks > > > > > > _________________________________________________________________ > > > Gear up for Halo(r) 3 with free downloads and an exclusive offer. > > > It's our way of saying thanks for using Windows Live™. > > > http://gethalo3gear.com?ocid=SeptemberWLHalo3_WLHMTxt_2 > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > _________________________________________________________________ > Gear up for Halo(r) 3 with free downloads and an exclusive offer. It's our > way of saying thanks for using Windows Live™. > http://gethalo3gear.com?ocid=SeptemberWLHalo3_WLHMTxt_2