package net.rrm.ehour.ui.report.panel;
import net.rrm.ehour.report.criteria.UserSelectedCriteria;
import net.rrm.ehour.ui.common.panel.AbstractBasePanel;
import net.rrm.ehour.ui.common.report.ReportConfig;
import org.apache.wicket.ajax.AjaxRequestTarget;
import org.apache.wicket.ajax.markup.html.form.AjaxCheckBox;
import org.apache.wicket.event.Broadcast;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.Model;
import org.apache.wicket.model.PropertyModel;
import org.apache.wicket.model.ResourceModel;
public class ZeroBookingSelector extends AbstractBasePanel<UserSelectedCriteria> {
private final ReportConfig reportConfig;
public ZeroBookingSelector(String id, ReportConfig reportConfig, UserSelectedCriteria criteria) {
super(id, new Model<>(criteria));
this.reportConfig = reportConfig;
}
@Override
protected void onInitialize() {
super.onInitialize();
add(new Label("zeroBookingsLabel", new ResourceModel(reportConfig.getZeroBookingsMessageKey())));
AjaxCheckBox bookingCheckbox = new AjaxCheckBox("toggleShowZeroBookings", new PropertyModel<Boolean>(getDefaultModel(), "showZeroBookings")) {
@Override
protected void onUpdate(AjaxRequestTarget target) {
send(ZeroBookingSelector.this, Broadcast.BUBBLE, new ZeroBookingSelectionChangedEvent(target));
}
};
add(bookingCheckbox);
}
}