List of usage examples for org.apache.wicket.markup.repeater.data ListDataProvider ListDataProvider
public ListDataProvider()
From source file:org.sakaiproject.attendance.tool.panels.GradingRulesListPanel.java
License:Educational Community License
public GradingRulesListPanel(String id, FeedbackPanel feedbackPanel, boolean needRegrade) { super(id);/*from www. j a v a2 s . c om*/ enable(feedbackPanel); this.needRegrade = needRegrade; final ListDataProvider<GradingRule> rulesProvider = new ListDataProvider<GradingRule>() { @Override protected List<GradingRule> getData() { return attendanceLogic.getGradingRulesForSite(attendanceLogic.getCurrentAttendanceSite()); } }; final DataView<GradingRule> rules = new DataView<GradingRule>("rules", rulesProvider) { @Override protected void populateItem(Item<GradingRule> item) { GradingRule gradingRule = item.getModelObject(); final Label rule = new Label("rule", MessageFormat.format(getString("attendance.settings.grading.rule.sentence"), String.valueOf(gradingRule.getPoints()), getStatusString(gradingRule.getStatus()), String.valueOf(gradingRule.getStartRange()), String.valueOf(gradingRule.getEndRange()))); rule.setEscapeModelStrings(false); item.add(rule); final Form<GradingRule> deleteForm = new Form<>("delete-form", item.getModel()); item.add(deleteForm); deleteForm.add(new AjaxButton("delete-rule-button", deleteForm) { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { super.onSubmit(target, form); final boolean result = attendanceLogic .deleteGradingRule((GradingRule) form.getModelObject()); if (result) { setNeedRegrade(true); target.add(GradingRulesListPanel.this.regradeForm); } else { GradingRulesListPanel.this.pageFeedbackPanel .error(getString("attendance.grading.delete.rule.error")); target.add(GradingRulesListPanel.this.pageFeedbackPanel); } target.add(GradingRulesListPanel.this); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(GradingRulesListPanel.this.pageFeedbackPanel); } }); } }; rules.setOutputMarkupId(true); add(rules); this.regradeForm = new Form("regrade-form1") { @Override public boolean isVisible() { return getNeedRegrade(); } }; regradeForm.add(new AjaxButton("regrade-submit1", regradeForm) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { super.onSubmit(target, form); attendanceLogic.regradeAll(attendanceLogic.getCurrentAttendanceSite()); GradingRulesListPanel.this.pageFeedbackPanel.info(getString("attendance.grading.regrade.success")); target.add(GradingRulesListPanel.this); target.add(GradingRulesListPanel.this.pageFeedbackPanel); setNeedRegrade(false); target.add(GradingRulesListPanel.this.regradeForm); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(GradingRulesListPanel.this.pageFeedbackPanel); } }); this.regradeForm.setOutputMarkupId(true); add(regradeForm); }
From source file:org.sakaiproject.ddo.tool.pages.AdminPage.java
License:Educational Community License
public AdminPage() { disableLink(adminPageLink);/*w w w.java 2 s .co m*/ final WebMarkupContainer staffContainer = new WebMarkupContainer("staffContainer"); staffContainer.setOutputMarkupId(true); add(staffContainer); ListDataProvider<String> studentWorkerList = new ListDataProvider<String>() { @Override protected List<String> getData() { return new ArrayList<String>(sakaiProxy.getStudentWorkerIds()); } }; DataView staffDataView = new DataView<String>("ddoStaff", studentWorkerList) { @Override protected void populateItem(Item item) { final String userId = (String) item.getModelObject(); item.add(new Label("staff-name", sakaiProxy.getUserSortName(userId))); item.add(new Label("staff-username", sakaiProxy.getUserDisplayId(userId))); item.add(new TextField<String>("staff-userId", Model.of(userId))); } }; staffContainer.add(staffDataView); final AddBean addStaffBean = new AddBean(); final Form<AddBean> addStaffForm = new Form<AddBean>("addStaffForm", new CompoundPropertyModel<AddBean>(addStaffBean)); FormComponent formComponent; formComponent = new RequiredTextField<String>("userName"); formComponent.setLabel(new ResourceModel("form.addstaff")); addStaffForm.add(formComponent); addStaffForm.add(new SimpleFormComponentLabel("add-staff-label", formComponent)); addStaffForm.add(new AjaxButton("ajax-add-staff", addStaffForm) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { String userId = sakaiProxy.getUserIdForEid(addStaffBean.getUserName()); boolean success = sakaiProxy.addUserToDDO(userId, DDOConstants.DDO_STAFF_ROLE); if (success) { info("User " + addStaffBean.getUserName() + " added to DDO Staff."); //refresh list target.add(staffContainer); } else { error("Failed to add user " + addStaffBean.getUserName() + " to DDO Staff."); } target.add(feedbackPanel); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } }); add(addStaffForm); final RemoveBean removeStaffBean = new RemoveBean(); final Form<RemoveBean> removeStaffForm = new Form<RemoveBean>("removeStaffForm", new CompoundPropertyModel<RemoveBean>(removeStaffBean)); FormComponent fc; fc = new RequiredTextField<String>("userId"); removeStaffForm.add(fc); removeStaffForm.add(new AjaxButton("ajax-remove-staff", removeStaffForm) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { boolean success = sakaiProxy.removeUserFromDDO(removeStaffBean.getUserId()); if (success) { info("User " + sakaiProxy.getUserDisplayId(removeStaffBean.getUserId()) + " removed from DDO Staff."); //refresh list target.add(staffContainer); } else { error("Failed to remove user " + sakaiProxy.getUserDisplayId(removeStaffBean.getUserId()) + " from DDO Staff."); } target.add(feedbackPanel); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } }); add(removeStaffForm); Link<Void> refreshPage = new Link<Void>("refreshPage") { public void onClick() { setResponsePage(new AdminPage()); } }; add(refreshPage); final WebMarkupContainer closedContainer = new WebMarkupContainer("closedContainer"); closedContainer.setOutputMarkupId(true); add(closedContainer); final ClosedBean closedBean = new ClosedBean(); final Form<ClosedBean> closedForm = new Form<>("closedForm", new CompoundPropertyModel<>(closedBean)); FormComponent closedValue = new CheckBox("closed"); FormComponent closedMessage = new TextArea<String>("message"); closedForm.add(closedValue); closedForm.add(closedMessage); closedForm.add(new AjaxButton("ajax-close-ddo", closedForm) { @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { boolean closeDDO = closedBean.isClosed(); sakaiProxy.setDDORealmProperty(DDOConstants.PROP_CLOSED, closeDDO); sakaiProxy.setDDORealmProperty(DDOConstants.PROP_CLOSED_MESSAGE, closedBean.getMessage()); info(closeDDO ? getString("ddo.closed.true") : getString("ddo.closed.false")); target.add(closedContainer); target.add(feedbackPanel); } @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); } }); closedForm.add(new Label("closed-section-label", getString("ddo.closed.header"))); closedContainer.add(closedForm); add(new Label("closedSectionHeader", getString("ddo.closed.section.header"))); }