Example usage for org.apache.wicket.markup.html.form NumberTextField setStep

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

Introduction

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

Prototype

public NumberTextField<N> setStep(final IModel<N> step) 

Source Link

Document

Sets the step attribute

Usage

From source file:org.sakaiproject.attendance.tool.pages.panels.AttendanceGradeFormPanel.java

License:Educational Community License

private Form<AttendanceSite> createSettingsForm() {
    final AttendanceSite aS = attendanceLogic.getCurrentAttendanceSite();
    this.previousSendToGradebook = aS.getSendToGradebook() == null ? false : aS.getSendToGradebook();
    this.previousName = aS.getGradebookItemName();
    this.previousMaxGrade = aS.getMaximumGrade();

    Form<AttendanceSite> aSForm = new Form<AttendanceSite>("settings",
            new CompoundPropertyModel<AttendanceSite>(aS)) {
        @Override// w ww.  jav  a 2  s.  c  om
        public void onSubmit() {
            AttendanceSite aS = (AttendanceSite) getDefaultModelObject();

            if (aS.getMaximumGrade() == null && previousMaxGrade != null) {
                aS.setSendToGradebook(false);
            }

            boolean result = attendanceLogic.updateAttendanceSite(aS);

            if (result) {
                if (aS.getSendToGradebook()) {
                    if (previousSendToGradebook) { // if previously true, see if any relevant values have changed
                        if (!previousName.equals(aS.getGradebookItemName())
                                || !previousMaxGrade.equals(aS.getMaximumGrade())) {
                            attendanceGradebookProvider.update(aS);
                        }

                        previousName = aS.getGradebookItemName();
                    } else {
                        attendanceGradebookProvider.create(aS);
                    }
                } else {
                    if (previousSendToGradebook) {
                        attendanceGradebookProvider.remove(aS);
                    }
                }

                previousMaxGrade = aS.getMaximumGrade();
                previousSendToGradebook = aS.getSendToGradebook();

                getSession().info(getString("attendance.settings.grading.success"));
            } else {
                getSession().error(getString("attendance.settings.grading.failure"));
            }

        }
    };

    final WebMarkupContainer grading = new WebMarkupContainer("grading") {
        @Override
        public boolean isVisible() {
            return !(aS.getMaximumGrade() == null);
        }
    };
    grading.setOutputMarkupPlaceholderTag(true);

    Label maxGradeLabel = new Label("maximum-grade-label",
            new ResourceModel("attendance.settings.grading.max.points.possible"));
    NumberTextField<Double> maximum = new NumberTextField<Double>("maximumGrade");
    maximum.setMinimum(0.1);
    maximum.setStep(0.1);
    maximum.add(new AjaxFormComponentUpdatingBehavior("onkeyup") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(grading);
        }
    });
    aSForm.add(maximum);
    aSForm.add(maxGradeLabel);

    Label isGradeShownLabel = new Label("is-grade-shown-label",
            new ResourceModel("attendance.settings.grading.is.grade.shown"));
    CheckBox isGradeShown = new CheckBox("isGradeShown");
    grading.add(isGradeShown);
    grading.add(isGradeShownLabel);

    final WebMarkupContainer gradebook = new WebMarkupContainer("gradebook") {
        @Override
        public boolean isVisible() {
            return aS.getSendToGradebook();
        }
    };
    gradebook.setOutputMarkupPlaceholderTag(true);
    Label gbItemName = new Label("gradebook-item-name",
            new ResourceModel("attendance.settings.grading.gradebook.item.name"));
    TextField<String> gradebookItemName = new TextField<String>("gradebookItemName");
    gradebookItemName.add(new GradebookItemNameValidator(aS, aS.getGradebookItemName()));
    gradebookItemName.setRequired(true);
    gradebook.add(gbItemName);
    gradebook.add(gradebookItemName);
    grading.add(gradebook);

    final boolean gradebookDefined = attendanceGradebookProvider.isGradebookDefined(aS.getSiteID());
    final AjaxCheckBox sendToGradebook = new AjaxCheckBox("sendToGradebook") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(gradebook);
        }

        @Override
        public boolean isVisible() {
            return gradebookDefined;

        }
    };
    Label sendToGBLabel = new Label("send-to-gradebook",
            new ResourceModel("attendance.settings.grading.send.to.gradebook")) {
        @Override
        public boolean isVisible() {
            return gradebookDefined;
        }
    };
    grading.add(sendToGradebook);
    grading.add(sendToGBLabel);
    aSForm.add(grading);

    AjaxSubmitLink submit = new AjaxSubmitLink("submit") {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(pageFeedbackPanel);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            super.onSubmit(target, form);
            target.add(pageFeedbackPanel);
        }
    };
    submit.add(new AttributeModifier("value", new ResourceModel("attendance.settings.grading.save")));
    aSForm.add(submit);

    return aSForm;
}

From source file:org.sakaiproject.attendance.tool.pages.panels.AttendanceGradePanel.java

License:Educational Community License

private Form<AttendanceGrade> createGradeForm() {
    Form<AttendanceGrade> gForm = new Form<AttendanceGrade>("attendance-grade", this.agIModel) {
        @Override/*ww w.ja  v  a 2  s  . c  o  m*/
        public void onSubmit() {
            AttendanceGrade aG = (AttendanceGrade) getDefaultModelObject();

            boolean result = attendanceLogic.updateAttendanceGrade(aG);

            String displayName = sakaiProxy.getUserSortName(aG.getUserID());

            if (result) {
                attendanceGradebookProvider.sendToGradebook(aG.getId());

                String grade = aG.getGrade() == null ? "null" : aG.getGrade().toString();
                getSession().info(new StringResourceModel("attendance.grade.update.success", null,
                        new String[] { grade, displayName }).getString());
            } else {
                getSession().error(new StringResourceModel("attendance.grade.update.failure", null,
                        new String[] { displayName }).getString());
            }

        }
    };

    final Double maximumGrade = this.attendanceSite.getMaximumGrade();

    NumberTextField<Double> points = new NumberTextField<Double>("grade") {
        @Override
        public boolean isEnabled() {
            return maximumGrade != null;
        }
    };
    points.setMinimum(0.0);
    points.setStep(0.1);

    points.add(new AjaxFormSubmitBehavior(gForm, "input") {
        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(pageFeedbackPanel);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            if (target != null) {
                target.add(pageFeedbackPanel);
            }
        }
    });

    Label maximum;

    if (maximumGrade == null) {
        maximum = new Label("maximum", "-");
        points.add(new AttributeModifier("title", new StringResourceModel("attendance.grade.tooltip.disabled",
                null, new String[] { new ResourceModel("settings.link.label").getObject() })));
    } else {
        maximum = new Label("maximum", maximumGrade.toString());
        points.setMaximum(maximumGrade);
    }

    gForm.add(maximum);
    gForm.add(points);

    return gForm;
}

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

License:Educational Community License

private Form<AttendanceSite> createSettingsForm() {
    final AttendanceSite aS = attendanceLogic.getCurrentAttendanceSite();
    this.previousSendToGradebook = aS.getSendToGradebook();
    this.previousName = aS.getGradebookItemName();
    this.previousMaxGrade = aS.getMaximumGrade();
    this.useAutoGrading.setObject(aS.getUseAutoGrading());
    this.autoGradeBySubtraction.setObject(aS.getAutoGradeBySubtraction());

    Form<AttendanceSite> aSForm = new Form<AttendanceSite>("settings", new CompoundPropertyModel<>(aS)) {
        @Override// w w w  .j  ava 2  s.c o  m
        public void onSubmit() {
            AttendanceSite aS = (AttendanceSite) getDefaultModelObject();

            aS.setUseAutoGrading(useAutoGrading.getObject());
            aS.setAutoGradeBySubtraction(autoGradeBySubtraction.getObject());

            if (aS.getMaximumGrade() == null && previousMaxGrade != null) {
                aS.setSendToGradebook(false);
                aS.setUseAutoGrading(false);
            }

            boolean result = attendanceLogic.updateAttendanceSite(aS);

            if (result) {
                if (aS.getSendToGradebook()) {
                    if (previousSendToGradebook) { // if previously true, see if any relevant values have changed
                        if (!previousName.equals(aS.getGradebookItemName())
                                || !previousMaxGrade.equals(aS.getMaximumGrade())) {
                            attendanceGradebookProvider.update(aS);
                        }

                        previousName = aS.getGradebookItemName();
                    } else {
                        attendanceGradebookProvider.create(aS);
                    }
                } else {
                    if (previousSendToGradebook) {
                        attendanceGradebookProvider.remove(aS);
                    }
                }

                previousMaxGrade = aS.getMaximumGrade();
                previousSendToGradebook = aS.getSendToGradebook();

                // Successful Save - Regrade All if Auto Grade is set to true and maximum points is set
                if (aS.getUseAutoGrading() != null && aS.getUseAutoGrading() && aS.getMaximumGrade() > 0) {
                    attendanceLogic.regradeAll(aS);
                }

                getSession().info(getString("attendance.settings.grading.success"));
            } else {
                getSession().error(getString("attendance.settings.grading.failure"));
            }

        }
    };

    final WebMarkupContainer grading = new WebMarkupContainer("grading") {
        @Override
        public boolean isVisible() {
            return !(aS.getMaximumGrade() == null);
        }
    };
    grading.setOutputMarkupPlaceholderTag(true);

    Label maxGradeLabel = new Label("maximum-grade-label",
            new ResourceModel("attendance.settings.grading.max.points.possible"));
    NumberTextField<Double> maximum = new NumberTextField<Double>("maximumGrade");
    maximum.setMinimum(0.1);
    maximum.setStep(0.1);
    maximum.add(new AjaxFormComponentUpdatingBehavior("oninput") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(grading);
        }
    });
    aSForm.add(maximum);
    aSForm.add(maxGradeLabel);

    Label isGradeShownLabel = new Label("is-grade-shown-label",
            new ResourceModel("attendance.settings.grading.is.grade.shown"));
    CheckBox isGradeShown = new CheckBox("isGradeShown");
    grading.add(isGradeShown);
    grading.add(isGradeShownLabel);

    final WebMarkupContainer gradebook = new WebMarkupContainer("gradebook") {
        @Override
        public boolean isVisible() {
            return aS.getSendToGradebook();
        }
    };
    gradebook.setOutputMarkupPlaceholderTag(true);
    Label gbItemName = new Label("gradebook-item-name",
            new ResourceModel("attendance.settings.grading.gradebook.item.name"));
    TextField<String> gradebookItemName = new TextField<String>("gradebookItemName");
    gradebookItemName.add(new GradebookItemNameValidator(aS, aS.getGradebookItemName()));
    gradebookItemName.setRequired(true);
    gradebook.add(gbItemName);
    gradebook.add(gradebookItemName);
    grading.add(gradebook);

    final boolean gradebookDefined = attendanceGradebookProvider.isGradebookDefined(aS.getSiteID());
    final AjaxCheckBox sendToGradebook = new AjaxCheckBox("sendToGradebook") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(gradebook);
        }

        @Override
        public boolean isVisible() {
            return gradebookDefined;

        }
    };
    Label sendToGBLabel = new Label("send-to-gradebook",
            new ResourceModel("attendance.settings.grading.send.to.gradebook")) {
        @Override
        public boolean isVisible() {
            return gradebookDefined;
        }
    };
    grading.add(sendToGradebook);
    grading.add(sendToGBLabel);

    final RadioGroup<Boolean> useAutoGradingGroup = new RadioGroup<>("use-auto-grading-group",
            this.useAutoGrading);
    useAutoGradingGroup.add(new AjaxFormComponentUpdatingBehavior("onchange") {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            target.add(gradingRulesPanel);
            target.add(autoGradingTypeContainer);
        }
    });
    useAutoGradingGroup.setRenderBodyOnly(false);
    grading.add(useAutoGradingGroup);

    Radio<Boolean> manualGrading = new Radio<>("manual-grading", Model.of(Boolean.FALSE));
    Radio<Boolean> autoGrading = new Radio<>("auto-grading", Model.of(Boolean.TRUE));

    useAutoGradingGroup.add(manualGrading);
    useAutoGradingGroup.add(autoGrading);

    this.autoGradingTypeContainer = new WebMarkupContainer("auto-grading-type") {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            Boolean autoGrading = useAutoGrading.getObject();
            return autoGrading != null && autoGrading;
        }
    };
    this.autoGradingTypeContainer.setOutputMarkupPlaceholderTag(true);
    grading.add(this.autoGradingTypeContainer);

    final RadioGroup<Boolean> autoGradeType = new RadioGroup<>("auto-grading-type-group",
            this.autoGradeBySubtraction);
    autoGradeType.setRenderBodyOnly(false);
    this.autoGradingTypeContainer.add(autoGradeType);

    Radio<Boolean> subtractGrading = new Radio<>("subtract-grading", Model.of(Boolean.TRUE));
    Radio<Boolean> addGrading = new Radio<>("add-grading", Model.of(Boolean.FALSE));

    autoGradeType.add(subtractGrading);
    autoGradeType.add(addGrading);

    aSForm.add(grading);

    AjaxSubmitLink submit = new AjaxSubmitLink("submit") {
        @Override
        protected void onError(AjaxRequestTarget target, Form<?> form) {
            target.add(pageFeedbackPanel);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            super.onSubmit(target, form);
            target.add(pageFeedbackPanel);
        }
    };
    submit.add(new AttributeModifier("value", new ResourceModel("attendance.settings.grading.save")));
    aSForm.add(submit);

    return aSForm;
}

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

License:Educational Community License

private Form<AttendanceGrade> createGradeForm() {
    Form<AttendanceGrade> gForm = new Form<AttendanceGrade>("attendance-grade", this.agIModel) {
        @Override//from   ww  w. ja  v a 2s .  c  o  m
        public void onSubmit() {
            AttendanceGrade aG = (AttendanceGrade) getDefaultModelObject();

            boolean result;

            if (Boolean.TRUE.equals(attendanceSite.getUseAutoGrading())
                    && Boolean.FALSE.equals(aG.getOverride())) {
                result = attendanceLogic.regrade(aG, true) != null;
            } else {
                result = attendanceLogic.updateAttendanceGrade(aG);
            }

            String displayName = sakaiProxy.getUserSortName(aG.getUserID());

            if (result) {
                String grade = aG.getGrade() == null ? "null" : aG.getGrade().toString();
                getSession().info(new StringResourceModel("attendance.grade.update.success", null,
                        new String[] { grade, displayName }).getString());
            } else {
                getSession().error(new StringResourceModel("attendance.grade.update.failure", null,
                        new String[] { displayName }).getString());
            }

        }
    };

    final Double maximumGrade = this.attendanceSite.getMaximumGrade();

    NumberTextField<Double> points = new NumberTextField<Double>("grade") {
        @Override
        public boolean isEnabled() {
            return maximumGrade != null && (Boolean.FALSE.equals(attendanceSite.getUseAutoGrading())
                    || Boolean.TRUE.equals(agIModel.getObject().getOverride()));
        }
    };
    points.setMinimum(0.0);
    points.setStep(0.1);

    points.add(new AjaxFormSubmitBehavior(gForm, "input") {
        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(pageFeedbackPanel);
        }

        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            if (target != null) {
                target.add(pageFeedbackPanel);
            }
        }
    });

    Label maximum;

    if (maximumGrade == null) {
        maximum = new Label("maximum", "/ -");
        points.add(new AttributeModifier("title", new StringResourceModel("attendance.grade.tooltip.disabled",
                null, new String[] { new ResourceModel("settings.link.label").getObject() })));
    } else {
        maximum = new Label("maximum", "/ " + maximumGrade.toString());
    }
    maximum.setVisible(!this.isEnabled());

    final CheckBox override = new CheckBox("override", new PropertyModel<>(gForm.getModelObject(), "override"));
    override.setVisible(this.attendanceSite.getUseAutoGrading() && this.isEnabled());
    override.add(new AjaxFormSubmitBehavior(gForm, "change") {
        @Override
        protected void onSubmit(AjaxRequestTarget target) {
            if (target != null) {
                target.add(pageFeedbackPanel);
                target.add(points);
            }
        }

        @Override
        protected void onError(AjaxRequestTarget target) {
            target.add(pageFeedbackPanel);
        }
    });
    gForm.add(override);

    final FormComponentLabel overrideLabel = new FormComponentLabel("overrideLabel", override);
    overrideLabel.setVisible(this.attendanceSite.getUseAutoGrading() && this.isEnabled());
    gForm.add(overrideLabel);

    gForm.add(maximum);
    gForm.add(points);

    return gForm;
}