List of usage examples for org.apache.wicket.markup.html.form NumberTextField setStep
public NumberTextField<N> setStep(final IModel<N> step)
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; }