Example usage for org.apache.wicket.markup.html.form EnumChoiceRenderer EnumChoiceRenderer

List of usage examples for org.apache.wicket.markup.html.form EnumChoiceRenderer EnumChoiceRenderer

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.form EnumChoiceRenderer EnumChoiceRenderer.

Prototype

public EnumChoiceRenderer(Component resourceSource) 

Source Link

Document

Constructor

Usage

From source file:org.sakaiproject.attendance.tool.panels.GradingRulesPanel.java

License:Educational Community License

public GradingRulesPanel(String id) {
    super(id);//from  w w w.  j  a va 2s.c  o  m

    enable(new FeedbackPanel("rules-feedback") {

        @Override
        protected Component newMessageDisplayComponent(final String id, final FeedbackMessage message) {
            final Component newMessageDisplayComponent = super.newMessageDisplayComponent(id, message);

            if (message.getLevel() == FeedbackMessage.ERROR || message.getLevel() == FeedbackMessage.DEBUG
                    || message.getLevel() == FeedbackMessage.FATAL
                    || message.getLevel() == FeedbackMessage.WARNING) {
                add(AttributeModifier.replace("class", "alertMessage"));
            } else if (message.getLevel() == FeedbackMessage.INFO) {
                add(AttributeModifier.replace("class", "messageSuccess"));
            }

            return newMessageDisplayComponent;
        }
    });
    this.pageFeedbackPanel.setOutputMarkupId(true);
    add(this.pageFeedbackPanel);

    // Backing object
    final GradingRule gradingRule = new GradingRule(attendanceLogic.getCurrentAttendanceSite());

    // Form model
    final Model<GradingRule> formModel = new Model<>(gradingRule);

    // Form
    final Form<GradingRule> form = new Form<>("grading-rule-add-form", formModel);

    final AjaxButton addRuleButton = new AjaxButton("add-rule-submit", form) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onSubmit(final AjaxRequestTarget target, final Form<?> form) {

            final GradingRule gradingRule = (GradingRule) form.getModelObject();

            if (gradingRule.getStartRange() < 0) {
                pageFeedbackPanel.error(getString("attendance.grading.start.range.error"));
            } else if (gradingRule.getEndRange() != null && gradingRule.getEndRange() < 0) {
                pageFeedbackPanel.error(getString("attendance.grading.end.range.error"));
            } else if (gradingRule.getEndRange() != null
                    && gradingRule.getEndRange() < gradingRule.getStartRange()) {
                pageFeedbackPanel.error(getString("attendance.grading.end.start.error"));
            } else {
                attendanceLogic.addGradingRule(gradingRule);
                pageFeedbackPanel.info(getString("attendance.grading.add.rule.success"));
                target.add(form);
                gradingRulesListPanel.setNeedRegrade(true);
                target.add(gradingRulesListPanel);
            }
            target.add(pageFeedbackPanel);
        }

        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(pageFeedbackPanel);
        }
    };
    form.add(addRuleButton);

    List<AttendanceStatus> activeAttendanceStatuses = attendanceLogic.getActiveStatusesForCurrentSite();
    activeAttendanceStatuses.sort(Comparator.comparingInt(AttendanceStatus::getSortOrder));
    List<Status> activeStatuses = new ArrayList<>();
    for (AttendanceStatus attendanceStatus : activeAttendanceStatuses) {
        if (attendanceStatus.getStatus() != Status.UNKNOWN) {
            activeStatuses.add(attendanceStatus.getStatus());
        }
    }

    final DropDownChoice<Status> status = new DropDownChoice<>("status",
            new PropertyModel<>(formModel, "status"), activeStatuses, new EnumChoiceRenderer<>(this));
    status.setRequired(true);
    form.add(status);

    final TextField<Integer> startRange = new TextField<>("start-range",
            new PropertyModel<Integer>(formModel, "startRange"));
    startRange.setRequired(true);
    form.add(startRange);

    final TextField<Integer> endRange = new TextField<>("end-range",
            new PropertyModel<Integer>(formModel, "endRange"));
    form.add(endRange);

    final TextField<Double> points = new TextField<>("points", new PropertyModel<Double>(formModel, "points"));
    points.setRequired(true);
    form.add(points);

    add(form);

    gradingRulesListPanel = new GradingRulesListPanel("rules-list", pageFeedbackPanel, false);
    gradingRulesListPanel.setOutputMarkupId(true);

    add(gradingRulesListPanel);

}

From source file:se.inera.axel.rivssek.webconsole.RivSsekServiceMappingEditPage.java

License:Open Source License

@SuppressWarnings({ "unchecked", "rawtypes" })
public RivSsekServiceMappingEditPage(PageParameters params) {
    super(params);

    add(new FeedbackPanel("feedback"));

    RivSsekServiceMapping mapping = null;
    String id = params.get("id").toString();
    if (id != null) {
        mapping = mappingRepository.findOne(id);
    }// w w  w. j av  a  2s.  c  o m
    if (mapping == null) {
        mapping = new RivSsekServiceMapping.Builder().ssekReceiverType(IdType.CN).build();
    }
    IModel<RivSsekServiceMapping> mappingModel = new CompoundPropertyModel<>(mapping);
    Form<RivSsekServiceMapping> form = new Form<RivSsekServiceMapping>("form", mappingModel) {
        @Override
        protected void onSubmit() {
            super.onSubmit();
            RivSsekServiceMapping rivShsMapping = getModelObject();

            mappingRepository.save(rivShsMapping);
            setResponsePage(RivSsekServiceMappingPage.class);
        }

        private static final long serialVersionUID = 1L;
    };

    form.add(new ControlGroupContainer(new TextField<String>("rivServiceNamespace").setRequired(true)));
    form.add(new ControlGroupContainer(new TextField<String>("rivLogicalAddress").setRequired(true)));
    form.add(new ControlGroupContainer(new TextField<String>("address").setRequired(true)));

    DropDownChoice<IdType> ssekReceiverType = new DropDownChoice<>("ssekReceiverType",
            Arrays.asList(IdType.values()), new EnumChoiceRenderer<IdType>(form));
    form.add(new ControlGroupContainer(ssekReceiverType.setRequired(true)));
    form.add(new ControlGroupContainer(new TextField<String>("ssekReceiver").setRequired(true)));
    form.add(new SubmitLink("submit"));
    add(form);
}

From source file:sk.lazyman.gizmo.web.app.PageCustomer.java

License:Apache License

private void initLayout() {
    Form form = new Form(ID_FORM);
    add(form);/*w ww  .ja v  a  2 s.co  m*/

    initButtons(form);

    FormGroup name = new FormGroup(ID_NAME, new PropertyModel<String>(model, Customer.F_NAME),
            createStringResource("Customer.name"), true);
    form.add(name);

    AreaFormGroup description = new AreaFormGroup(ID_DESCRIPTION,
            new PropertyModel<String>(model, Customer.F_DESCRIPTION),
            createStringResource("Customer.description"), false);
    description.setRows(3);
    form.add(description);

    DropDownFormGroup type = new DropDownFormGroup(ID_TYPE,
            new PropertyModel<CustomerType>(model, Customer.F_TYPE), createStringResource("Customer.type"),
            true);
    type.setChoices(GizmoUtils.createReadonlyModelFromEnum(CustomerType.class));
    type.setRenderer(new EnumChoiceRenderer(this));
    DropDownChoice choice = (DropDownChoice) type.getFormComponent();
    form.add(type);

    final DropDownFormGroup partner = new DropDownFormGroup(ID_PARTNER,
            new PropertyModel<Customer>(model, Customer.F_PARTNER), createStringResource("Customer.partner"),
            false);
    partner.setOutputMarkupId(true);
    partner.setChoices(new LoadableModel<List<Customer>>(false) {

        @Override
        protected List<Customer> load() {
            CustomerRepository repository = getCustomerRepository();
            List<Customer> list = repository.listPartners();
            if (list == null) {
                list = new ArrayList<>();
            }
            return list;
        }
    });
    partner.setRenderer(GizmoUtils.createCustomerChoiceRenderer());
    partner.setNullValid(true);
    partner.setDefaultChoice(null);
    partner.getFormInput().add(new VisibleEnableBehaviour() {

        @Override
        public boolean isVisible() {
            Customer customer = model.getObject();
            return !CustomerType.PARTNER.equals(customer.getType());
        }
    });
    form.add(partner);

    choice.add(new AjaxFormComponentUpdatingBehavior("onchange") {

        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Customer customer = model.getObject();
            if (CustomerType.PARTNER.equals(customer.getType())) {
                customer.setPartner(null);
            }
            target.add(partner);
        }
    });

    List<ITab> tabList = new ArrayList<>();
    tabList.add(new AbstractTab(createStringResource("PageCustomer.projects")) {

        @Override
        public WebMarkupContainer getPanel(String panelId) {
            return new ProjectsTab(panelId);
        }
    });

    //        tabList.add(new AbstractTab(createStringResource("PageCustomer.logs")) {
    //
    //            @Override
    //            public WebMarkupContainer getPanel(String panelId) {
    //                return new CustomerLogsTab(panelId);
    //            }
    //        });
    //
    //        tabList.add(new AbstractTab(createStringResource("PageCustomer.notifications")) {
    //
    //            @Override
    //            public WebMarkupContainer getPanel(String panelId) {
    //                return new CustomerNotificationsTab(panelId);
    //            }
    //        });

    AjaxBootstrapTabbedPanel tabs = new AjaxBootstrapTabbedPanel(ID_TABS, tabList);
    add(tabs);
}