[
https://issues.apache.org/jira/browse/WICKET-12?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12526342
]
Ryan Holmes commented on WICKET-12:
-----------------------------------
A simple workaround is to use JavaScript to call the onclick() method of a link
that opens the modal window from a page's onload function.
The following model ensures that a component is "clicked" only one time, when
the page is initially loaded (probably a common use case). 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();
}
}
Then use it as an onload modifier like so:
// 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.
> open Modal Window without AjaxRequestTarget
> -------------------------------------------
>
> Key: WICKET-12
> URL: https://issues.apache.org/jira/browse/WICKET-12
> Project: Wicket
> Issue Type: Improvement
> Components: wicket
> Affects Versions: 1.2.6, 1.3.0-beta1, 2.0 branch (discontinued)
> Reporter: J.W. Janssen
> Assignee: Johan Compagner
>
> Wicket 1.2.2 included a new Modal Window component. However, this component
> can only be used with a valid AjaxRequestTarget. It would be useful if Modal
> Windows could be opened programmatically at any time without an
> AjaxRequestTarget.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.