package sushi.application.pages.monitoring.bpmn.analysis;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxButton;
import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.panel.Panel;
import sushi.application.components.table.model.AbstractDataProvider;
import sushi.application.pages.monitoring.bpmn.analysis.modal.ProcessAnalysingModal;
import sushi.monitoring.bpmn.ProcessMonitor;
/**
* This is a button within a form, which shows on an ajax submit of the button the {@link ProcessAnalysingModal}.
* @author micha
*/
public class ProcessMonitorEntryDetailsPanel extends Panel {
private static final long serialVersionUID = 1L;
private ProcessAnalysingModal processMonitorModal;
/**
* Constructor for a form, which contains a button.
* The button shows on an ajax submit the {@link ProcessAnalysingModal}.
* @param id
* @param entryId
* @param dataprovider
* @param modal
*/
public ProcessMonitorEntryDetailsPanel(String id, final int entryId, final AbstractDataProvider dataprovider, ProcessAnalysingModal modal) {
super(id);
this.processMonitorModal = modal;
Form<Void> form = new Form<Void>("form");
AjaxButton detailsButton = new AjaxButton("detailsButton") {
private static final long serialVersionUID = 1L;
@Override
public void onSubmit(AjaxRequestTarget target, Form<?> form) {
ProcessMonitor processMonitor = (ProcessMonitor) dataprovider.getEntry(entryId);
processMonitorModal.setProcessMonitor(processMonitor, target);
processMonitorModal.show(target);
}
};
form.add(detailsButton);
add(form);
}
}