package org.apache.wicket.examples.ajax.builtin.modal;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.AjaxLink;
import org.apache.wicket.examples.ajax.builtin.BasePage;
import org.apache.wicket.extensions.ajax.markup.html.modal.ModalWindow;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.PropertyModel;
@author
public class ModalWindowPage extends BasePage
{
private static final long serialVersionUID = 1L;
public ModalWindowPage()
{
final Label result;
add(result = new Label("result", new PropertyModel<>(this, "result")));
result.setOutputMarkupId(true);
final ModalWindow modal1;
add(modal1 = new ModalWindow("modal1"));
modal1.setCookieName("modal-1");
modal1.setPageCreator(() -> new ModalContent1Page(ModalWindowPage.this.getPageReference(), modal1));
modal1.setWindowClosedCallback(target -> target.add(result));
modal1.setCloseButtonCallback(target -> {
setResult("Modal window 1 - close button");
return true;
});
add(new AjaxLink<Void>("showModal1")
{
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target)
{
modal1.show(target);
}
});
final ModalWindow modal2;
add(modal2 = new ModalWindow("modal2"));
modal2.setContent(new ModalPanel1(modal2.getContentId()));
modal2.setTitle("Modal window\n'panel\" content.");
modal2.setCookieName("modal-2");
modal2.setCloseButtonCallback(target -> {
setResult("Modal window 2 - close button");
return true;
});
modal2.setWindowClosedCallback(target -> target.add(result));
add(new AjaxLink<Void>("showModal2")
{
private static final long serialVersionUID = 1L;
@Override
public void onClick(AjaxRequestTarget target)
{
modal2.show(target);
}
});
}
@return
public String getResult()
{
return result;
}
@param
public void setResult(String result)
{
this.result = result;
}
private String result;
}