List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:org.patientview.radar.web.pages.admin.AdminUsersPage.java
License:Open Source License
public AdminUsersPage() { final ProfessionalUserDataProvider professionalUserDataProvider = new ProfessionalUserDataProvider( userManager);/*from w w w.ja va 2 s .c o m*/ add(new ResourceLink("exportPdf", RadarResourceFactory.getExportResource(exportManager.getProfessionalUsersExportData(ExportType.PDF), "users" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.PDF))); add(new ResourceLink("exportExcel", RadarResourceFactory.getExportResource( exportManager.getProfessionalUsersExportData(ExportType.EXCEL), "users" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.EXCEL))); add(new BookmarkablePageLink<AdminUserPage>("addNewUser", AdminUserPage.class)); final WebMarkupContainer usersContainer = new WebMarkupContainer("usersContainer"); usersContainer.setOutputMarkupId(true); add(usersContainer); final DataView<ProfessionalUser> userList = new DataView<ProfessionalUser>("users", professionalUserDataProvider) { @Override protected void populateItem(Item<ProfessionalUser> item) { builtDataViewRow(item); } }; userList.setItemsPerPage(RESULTS_PER_PAGE); usersContainer.add(userList); // add paging element usersContainer .add(new RadarAjaxPagingNavigator("navigator", userList, professionalUserDataProvider.size())); // add sort links to the table column headers for (Map.Entry<String, String> entry : getSortFields().entrySet()) { add(new SortLink(entry.getKey(), entry.getValue(), professionalUserDataProvider, userList, Arrays.asList(usersContainer))); } // button to clear all the filter fields for each colum final ClearLink clearButton = new ClearLink("clearButton", professionalUserDataProvider, userList, usersContainer); add(clearButton); // add a search field to the top of each column - these will AND each search for (Map.Entry<String, String> entry : getFilterFields().entrySet()) { add(new SearchField(entry.getKey(), entry.getValue(), professionalUserDataProvider, userList, Arrays.asList(usersContainer, clearButton))); } // add a date filter add(new SearchDateField("searchDateRegistered", ProfessionalUserFilter.UserField.REGISTRATION_DATE.getDatabaseFieldName(), professionalUserDataProvider, userList, Arrays.asList(usersContainer, clearButton))); }
From source file:org.patientview.radar.web.pages.patient.ExistingPatientsListingPage.java
License:Open Source License
public ExistingPatientsListingPage() { DemographicsDataProvider demographicsDataProvider = new DemographicsDataProvider(demographicsManager, RadarSecuredSession.get().getUser()); // List existing patients add(new DataView<Patient>("patients", demographicsDataProvider) { @Override// w w w . jav a 2s . com protected void populateItem(Item<Patient> item) { // Populate fields Patient patient = item.getModelObject(); // TODO: this is terrible as we need to check disease groups to know where to send it - well done abul // TODO: need to implement a patient base page with the constructors needed and then have an enum map // TODO: that maps disease ids to the page they need to go to so we dont need all these ifs if (patient.getDiseaseGroup() != null && (patient.getDiseaseGroup().getId().equals(DiseaseGroup.SRNS_DISEASE_GROUP_ID) || patient.getDiseaseGroup().getId().equals(DiseaseGroup.MPGN_DISEASEGROUP_ID))) { item.add(new BookmarkablePageLink<SrnsPatientPage>("edit", SrnsPatientPage.class, SrnsPatientPage.getParameters(patient))); } else if (patient.getDiseaseGroup() != null && patient.getDiseaseGroup().getId().equals(DiseaseGroup.ALPORT_DISEASEGROUP_ID)) { item.add(new BookmarkablePageLink<AlportPatientPage>("edit", AlportPatientPage.class, AlportPatientPage.getPageParameters(patient))); } else if (patient.getDiseaseGroup() != null && patient.getDiseaseGroup().getId().equals(DiseaseGroup.HNF1B_DISEASEGROUP_ID)) { item.add(new BookmarkablePageLink<AlportPatientPage>("edit", HNF1BPatientPage.class, HNF1BPatientPage.getPageParameters(patient))); } else { item.add(new BookmarkablePageLink<GenericPatientPage>("edit", GenericPatientPage.class, GenericPatientPage.getPageParameters(patient))); } item.add(new Label("surname"), new Label("forename")); item.add(DateLabel.forDatePattern("dob", RadarApplication.DATE_PATTERN2)); item.add(new Label("id", Long.toString(patient.getRadarNo()))); String diseaseGroup = ""; if (patient.getDiseaseGroup() != null) { diseaseGroup = patient.getDiseaseGroup().getId(); } item.add(new Label("diagnosis", diseaseGroup)); item.add(new Label("nhsNumber", patient.getNhsno()).setEscapeModelStrings(false)); item.add(new Label("hospitalnumber")); item.add(DateLabel.forDatePattern("dateReg", RadarApplication.DATE_PATTERN2)); item.add(new Label("status.abbreviation", patient.getStatusModel() != null ? patient.getStatusModel().getAbbreviation() : "")); item.add(new Label("renalUnit.name")); item.add(new Label("rrtModalityEunm")); DemographicsUserDetail demographicsUserDetail = demographicsManager .getDemographicsUserDetail(patient.getNhsno(), patient.getUnitcode()); item.add(new Label("lastverificationdate", formatDate(demographicsUserDetail.getLastverificationdate()))); item.add(new Label("email", patient.getEmailAddress())); item.add(new Label("lastlogon", formatDate(demographicsUserDetail.getLastlogon()))); item.add( new Label("accountlocked", "" + (demographicsUserDetail.isAccountlocked() ? "Yes" : "No"))); } private String formatDate(Date date) { return date == null ? "" : DateFormatUtils.format(date, RadarApplication.DATE_PATTERN2); } }); }
From source file:org.patientview.radar.web.pages.RecruitmentPage.java
License:Open Source License
public RecruitmentPage() { DataView<Patient> demographicsDataView = new DataView<Patient>("recruitmenItem", new DemographicsDataProvider(demographicsManager)) { @Override//from w w w . j av a 2 s .co m protected void populateItem(Item<Patient> item) { Patient patient = item.getModelObject(); item.add(new Label("renalUnit.name")); item.add(new Label("id")); item.add(new Label("diagnosis", diagnosisManager.getDiagnosisName(patient))); item.add(DateLabel.forDatePattern("dateReg", RadarApplication.DATE_PATTERN2)); item.add(new Label("status.abbreviation")); } }; add(demographicsDataView); }
From source file:org.sakaiproject.attendance.tool.pages.AddEventPage.java
License:Educational Community License
public AddEventPage(AttendanceEvent aE) { disableLink(addEventLink);//from w w w .j a va2s.c om add(new Label("items-header", getString("attendance.items.header"))); this.attendanceEvent = aE; this.eventFormContainer = new WebMarkupContainer("event-form-container"); eventFormContainer.setOutputMarkupId(true); if (attendanceEvent != null) { this.deleteItem = new ConfirmationLink<Void>("delete-event", getString("attendance.delete.confirm")) { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { String name = attendanceEvent.getName(); if (attendanceLogic.deleteAttendanceEvent(attendanceEvent)) { getSession().info(name + " deleted successfully."); refreshPageComponents(ajaxRequestTarget); } } }; } else { // Add dummy/hidden delete link this.deleteItem = new ConfirmationLink<Void>("delete-event", "") { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { // Do nothing } }; deleteItem.setVisible(false); } eventFormContainer.add(deleteItem); eventForm = createForm(); eventFormContainer.add(eventForm); eventFormContainer.add(new Label("add-edit-header", getString("attendance.add.edit.header"))); add(eventFormContainer); this.eventListContainer = new WebMarkupContainer("event-list-container"); eventListContainer.setOutputMarkupId(true); this.eventDataProvider = new EventDataProvider(); DataView<AttendanceEvent> attendanceEventDataView = new DataView<AttendanceEvent>("event-list", eventDataProvider) { @Override protected void populateItem(final Item<AttendanceEvent> item) { ConfirmationLink<Void> deleteLink = new ConfirmationLink<Void>("delete-link", getString("attendance.delete.confirm")) { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { String name = item.getModelObject().getName(); if (attendanceLogic.deleteAttendanceEvent(item.getModelObject())) { getSession().info(name + " deleted successfully."); refreshPageComponents(ajaxRequestTarget); } else { getSession().error("Failed to delete " + name); refreshPageComponents(ajaxRequestTarget); } } }; item.add(deleteLink); Link<Void> editLink = new Link<Void>("edit-link") { @Override public void onClick() { setResponsePage(new AddEventPage(item.getModelObject())); } }; item.add(editLink); Link<Void> eventLink = new Link<Void>("event-link") { private static final long serialVersionUID = 1L; public void onClick() { setResponsePage(new EventView(item.getModelObject(), BasePage.ITEMS_PAGE)); } }; eventLink.add(new Label("event-name", item.getModelObject().getName())); item.add(eventLink); item.add(new Label("item-date", item.getModelObject().getStartDateTime())); } }; eventListContainer.add(attendanceEventDataView); eventListContainer.add(new Label("items-list-header", getString("attendance.items.list.header"))); add(eventListContainer); }
From source file:org.sakaiproject.attendance.tool.pages.EventView.java
License:Educational Community License
private void createTable() { Set<AttendanceRecord> records = this.attendanceEvent.getRecords(); add(new Label("student-name", new ResourceModel("attendance.event.view.student.name"))); add(new AttendanceRecordFormHeaderPanel("record-header")); // Generate records if none exist if (records == null || records.isEmpty()) { List<AttendanceRecord> recordList = attendanceLogic.updateAttendanceRecordsForEvent( this.attendanceEvent, this.attendanceEvent.getAttendanceSite().getDefaultStatus()); records = new HashSet<>(recordList); } else {/*from w w w . java 2 s .c o m*/ // Generate records for added students List<String> currentStudentIds = sakaiProxy.getCurrentSiteMembershipIds(); for (AttendanceRecord record : records) { currentStudentIds.remove(record.getUserID()); } List<AttendanceRecord> recordList = attendanceLogic.updateMissingRecordsForEvent(this.attendanceEvent, this.attendanceEvent.getAttendanceSite().getDefaultStatus(), currentStudentIds); records.addAll(recordList); } this.attendanceEvent.setRecords(records); // Add form to filter table final Form<?> filterForm = new Form<Void>("filter-table-form") { @Override protected void onSubmit() { setResponsePage(new EventView(attendanceEvent, returnPage, groupChoice.getModelObject())); } }; add(filterForm); List<String> groupIds = sakaiProxy.getAvailableGroupsForCurrentSite(); Collections.sort(groupIds, new Comparator<String>() { @Override public int compare(String o1, String o2) { return sakaiProxy.getGroupTitleForCurrentSite(o1) .compareTo(sakaiProxy.getGroupTitleForCurrentSite(o2)); } }); groupChoice = new DropDownChoice<>("group-choice", new PropertyModel<>(this, "selectedGroup"), groupIds, new IChoiceRenderer<String>() { @Override public Object getDisplayValue(String s) { return sakaiProxy.getGroupTitleForCurrentSite(s); } @Override public String getIdValue(String s, int i) { return s; } }); groupChoice.setNullValid(true); groupChoice.add(new AjaxFormSubmitBehavior("onchange") { @Override protected void onSubmit(AjaxRequestTarget target) { super.onSubmit(target); } }); filterForm.add(groupChoice); filterForm.add(new Label("group-choice-label", new ResourceModel("attendance.event.view.filter"))); add(new DataView<AttendanceRecord>("records", new AttendanceRecordProvider(this.attendanceEvent, selectedGroup)) { @Override protected void populateItem(final Item<AttendanceRecord> item) { final String stuId = item.getModelObject().getUserID(); final String sortName = sakaiProxy.getUserSortName(stuId); final String displayId = sakaiProxy.getUserDisplayId(stuId); Label stuName = new Label("stu-name", sortName + " (" + displayId + ")"); Link<Void> studentLink = new Link<Void>("stu-link") { @Override public void onClick() { setResponsePage(new StudentView(stuId, item.getModelObject().getAttendanceEvent().getId(), returnPage)); } }; studentLink.add(stuName); item.add(studentLink); item.add(new AttendanceRecordFormDataPanel("record", item.getModel(), returnPage, feedbackPanel)); } }); }
From source file:org.sakaiproject.attendance.tool.pages.Overview.java
License:Educational Community License
private void createHeaders() { // Main header Label headerOverview = new Label("header-overview", new ResourceModel("attendance.overview.header")); String addButtonText = (new ResourceModel("attendance.add.button")).getObject(); String takeAttendanceNowText = (new ResourceModel("attendance.now.button")).getObject(); Label headerInfo = new Label("overview-header-info", new StringResourceModel( "attendance.overview.header.info", null, new Object[] { addButtonText, takeAttendanceNowText })); headerInfo.setEscapeModelStrings(false); //headers for the table Label headerEventName = new Label("header-event-name", new ResourceModel("attendance.overview.header.event.name")); Label headerEventDate = new Label("header-event-date", new ResourceModel("attendance.overview.header.event.date")); DataView<AttendanceStatus> statusHeaders = new DataView<AttendanceStatus>("status-headers", attendanceStatusProvider) {/*from w w w . java2 s . c o m*/ @Override protected void populateItem(Item<AttendanceStatus> item) { item.add(new Label("header-status-name", getStatusString(item.getModelObject().getStatus()))); } }; add(statusHeaders); Label headerEventEdit = new Label("header-event-edit", new ResourceModel("attendance.overview.header.event.edit")); Label headerPrintLinks = new Label("header-print-links", new ResourceModel("attendance.overview.header.print")); add(headerOverview); add(headerInfo); add(headerEventName); add(headerEventDate); add(headerEventEdit); add(headerPrintLinks); }
From source file:org.sakaiproject.attendance.tool.pages.Overview.java
License:Educational Community License
private void createTable() { EventDataProvider eventDataProvider = new EventDataProvider(); DataView<AttendanceEvent> attendanceEventDataView = new DataView<AttendanceEvent>("events", eventDataProvider) {// w ww . j ava 2 s . co m @Override protected void populateItem(final Item<AttendanceEvent> item) { final AttendanceEvent modelObject = item.getModelObject(); final String name = modelObject.getName(); final AttendanceItemStats itemStats = attendanceLogic.getStatsForEvent(modelObject); Link<Void> eventLink = new Link<Void>("event-link") { private static final long serialVersionUID = 1L; public void onClick() { setResponsePage(new EventView(modelObject, BasePage.OVERVIEW_PAGE)); } }; eventLink.add(new Label("event-name", name)); item.add(eventLink); item.add(new Label("event-date", modelObject.getStartDateTime())); DataView<AttendanceStatus> activeStatusStats = new DataView<AttendanceStatus>("active-status-stats", attendanceStatusProvider) { @Override protected void populateItem(Item<AttendanceStatus> item) { Status status = item.getModelObject().getStatus(); int stat = attendanceLogic.getStatsForStatus(itemStats, status); item.add(new Label("event-stats", stat)); } }; item.add(activeStatusStats); final AjaxLink eventEditLink = getAddEditWindowAjaxLink(modelObject, "event-edit-link"); eventEditLink.add(new Label("event-edit-alt", new StringResourceModel("attendance.icon.edit.alt", null, new String[] { name }))); item.add(eventEditLink); final AjaxLink printLink = new AjaxLink<Void>("print-link") { @Override public void onClick(AjaxRequestTarget ajaxRequestTarget) { printPanel = new PrintPanel("print-panel", item.getModel()); printContainer.setOutputMarkupId(true); printContainer.addOrReplace(printPanel); printHiddenClass.setObject("printVisible"); ajaxRequestTarget.add(printContainer); } }; printLink.add(new Label("event-print-alt", new StringResourceModel("attendance.icon.print.event.alt", null, new String[] { name }))); item.add(printLink); } }; add(attendanceEventDataView); // Create empty table placeholder and make visible based on empty data provider Label noEvents = new Label("no-events", getString("attendance.overview.no.items")); noEvents.setEscapeModelStrings(false); if (eventDataProvider.size() > 0) { noEvents.setVisible(false); } add(noEvents); }
From source file:org.sakaiproject.attendance.tool.pages.panels.AttendanceRecordFormDataPanel.java
License:Educational Community License
private void createStatusRadio(final Form<AttendanceRecord> rF) { AttendanceStatusProvider attendanceStatusProvider = new AttendanceStatusProvider( attendanceLogic.getCurrentAttendanceSite(), AttendanceStatusProvider.ACTIVE); DataView<AttendanceStatus> attendanceStatusRadios = new DataView<AttendanceStatus>("status-radios", attendanceStatusProvider) {// w w w . j a v a 2 s . c o m @Override protected void populateItem(Item<AttendanceStatus> item) { Radio statusRadio = new Radio<Status>("record-status", new Model<Status>(item.getModelObject().getStatus())); item.add(statusRadio); statusRadio.add(new AjaxFormSubmitBehavior(rF, "onclick") { protected void onSubmit(AjaxRequestTarget target) { for (Component c : ajaxTargets) { target.add(c); } } }); ajaxTargets.add(statusRadio); } }; RadioGroup group = new RadioGroup<Status>("attendance-record-status-group", new PropertyModel<Status>(this.recordIModel, "status")); group.setOutputMarkupPlaceholderTag(true); group.setRenderBodyOnly(false); group.add(attendanceStatusRadios); group.setEnabled(!this.restricted); rF.add(group); }
From source file:org.sakaiproject.attendance.tool.pages.panels.AttendanceRecordFormHeaderPanel.java
License:Educational Community License
private WebMarkupContainer createStatusHeader() { WebMarkupContainer status = new WebMarkupContainer("status"); AttendanceStatusProvider attendanceStatusProvider = new AttendanceStatusProvider( attendanceLogic.getCurrentAttendanceSite(), AttendanceStatusProvider.ACTIVE); DataView<AttendanceStatus> statusHeaders = new DataView<AttendanceStatus>("status-headers", attendanceStatusProvider) {/*from w ww . ja v a2s. c o m*/ @Override protected void populateItem(Item<AttendanceStatus> item) { item.add(new Label("header-status-name", getStatusString(item.getModelObject().getStatus()))); } }; status.add(statusHeaders); return status; }
From source file:org.sakaiproject.attendance.tool.pages.panels.StatisticsPanel.java
License:Educational Community License
private WebMarkupContainer createTable() { WebMarkupContainer infoContainer = new WebMarkupContainer("info-container"); infoContainer.add(createRefreshLink()); infoContainer.setOutputMarkupId(true); if (attendanceEvent != null) { infoContainer.add(new Label("item-info-header", new ResourceModel("attendance.event.view.item.info"))); stats = attendanceLogic.getStatsForEvent(attendanceEvent); } else {//from ww w . ja v a 2 s .com infoContainer .add(new Label("item-info-header", new ResourceModel("attendance.student.view.item.info"))); stats = attendanceLogic.getStatsForUser(userId); } AttendanceStatusProvider attendanceStatusProvider = new AttendanceStatusProvider( attendanceLogic.getCurrentAttendanceSite(), AttendanceStatusProvider.ACTIVE); DataView<AttendanceStatus> statusHeaders = new DataView<AttendanceStatus>("status-headers", attendanceStatusProvider) { @Override protected void populateItem(Item<AttendanceStatus> item) { item.add(new Label("header-status-name", getStatusString(item.getModelObject().getStatus()))); } }; infoContainer.add(statusHeaders); DataView<AttendanceStatus> activeStatusStats = new DataView<AttendanceStatus>("active-status-stats", attendanceStatusProvider) { @Override protected void populateItem(Item<AttendanceStatus> item) { item.add(new Label("stats", stats.get(item.getModelObject().getStatus()))); } }; infoContainer.add(activeStatusStats); infoContainer.add(new Label("info", new ResourceModel("attendance.statistics.info"))); return infoContainer; }