List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:de.alpharogroup.wicket.data.provider.examples.dataview.SortableDataViewPanel.java
License:Apache License
/** * Instantiates a new sortable data view panel. * * @param id/*w w w.j ava2 s . c o m*/ * the id */ public SortableDataViewPanel(final String id) { super(id); final List<Person> persons = PersonDatabaseManager.getInstance().getPersons(); final SortableFilterPersonDataProvider dataProvider = new SortableFilterPersonDataProvider(persons) { private static final long serialVersionUID = 1L; @Override public List<Person> getData() { return PersonDatabaseManager.getInstance().getPersons(); } }; dataProvider.setSort("firstname", SortOrder.ASCENDING); final DataView<Person> dataView = new DataView<Person>("dataView", dataProvider) { /** * The serialVersionUID. */ private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<Person> item) { item.setDefaultModel(new CompoundPropertyModel<Person>(item.getModel())); item.add(new Label("firstname")); item.add(new Label("lastname")); item.add(new Label("dateOfBirth")); } }; dataView.setItemsPerPage(10); add(dataView); add(new OrderByBorder<String>("orderByFirstname", "firstname", dataProvider)); add(new OrderByBorder<String>("orderByLastname", "lastname", dataProvider)); add(new OrderByBorder<String>("orderByDateOfBirth", "dateOfBirth", dataProvider)); add(new NavigatorLabel("label", dataView)); add(new PagingNavigator("topNavigator", dataView)); add(new PagingNavigator("footernavigator", dataView)); }
From source file:de.inren.frontend.health.BmiDefinitionPanel.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); add(new Label("category.label", new StringResourceModel("category.label", BmiDefinitionPanel.this, null))); add(new Label("range.label", new StringResourceModel("range.label", BmiDefinitionPanel.this, null))); add(new Label("info.label", new StringResourceModel("info.label", BmiDefinitionPanel.this, null))); final AttributeAppender center = new AttributeAppender("align", Model.of("center")); final AttributeAppender newTab = new AttributeAppender("target", Model.of("_blank")); final AttributeAppender border = new AttributeAppender("style", Model.of("border-top: 1px solid #aaa;")); add(new DataView<BmiMeaning>("rows", getDataProvider()) { @Override/*from w ww. j a v a 2 s . c o m*/ protected void populateItem(Item<BmiMeaning> item) { BmiMeaning bmi = item.getModelObject(); item.add(new Label("color", "").add(new AttributeAppender("bgcolor", Model.of(bmi.getColor())))); item.add(new Label("category", new StringResourceModel(bmi.name() + ".label", BmiDefinitionPanel.this, null))); if (bmi.getbMax() != null) { if (bmi.getbMin() != 0) { item.add(new Label("range", String.valueOf(bmi.getbMin()) + "-" + String.valueOf(bmi.getbMax())).add(center)); } else { item.add(new Label("range", String.valueOf(" " + String.valueOf(bmi.getbMax()))) .add(center)); } } else { item.add( new Label("range", String.valueOf(" " + String.valueOf(bmi.getbMin()))).add(center)); } // Add wiki links switch (bmi) { case Normal: item.add(new ExternalLinkWithMarkup("info", new StringResourceModel(bmi.name() + ".info.url", BmiDefinitionPanel.this, null), new StringResourceModel(bmi.name() + ".info.label", BmiDefinitionPanel.this, null), newTab).add(center)); break; case Severely_Underweight: item.add(new ExternalLinkWithMarkup("info", new StringResourceModel(bmi.name() + ".info.url", BmiDefinitionPanel.this, null), new StringResourceModel(bmi.name() + ".info.label", BmiDefinitionPanel.this, null), newTab).add(center)); break; case Overweight: item.add(new ExternalLinkWithMarkup("info", new StringResourceModel(bmi.name() + ".info.url", BmiDefinitionPanel.this, null), new StringResourceModel(bmi.name() + ".info.label", BmiDefinitionPanel.this, null), newTab).add(center)); break; case Obese_Class_II: item.add(new ExternalLinkWithMarkup("info", new StringResourceModel(bmi.name() + ".info.url", BmiDefinitionPanel.this, null), new StringResourceModel(bmi.name() + ".info.label", BmiDefinitionPanel.this, null), newTab).add(center)); break; default: item.add(new Label("info", "")); } // Add borders to mark the groups switch (bmi) { case Normal: item.add(border); break; case Overweight: item.add(border); break; case Underweight: item.add(border); break; } } }); }
From source file:de.javakaffee.msm.bench.ListLightPage.java
License:Apache License
/** * Constructor that is invoked when page is invoked without a session. * //from w ww . j av a2 s . c o m * @param parameters * Page parameters */ public ListLightPage(final PageParameters parameters) { setStatelessHint(true); // Add the simplest type of label add(new Label("message", "Just a list of lightweight items. They're not stored directly in the session, but only their ids.")); final int page = parameters.getInt("page", 1) - 1; final String sortProperty = parameters.getString("orderby", "firstName"); final boolean ascending = parameters.getAsBoolean("asc", true); final SortableContactDataProvider dp = new SortableContactDataProvider(sortProperty, ascending); final DataView<Contact> dataView = new DataView<Contact>("sorting", dp) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<Contact> item) { final Contact contact = item.getModelObject(); item.add(new ActionPanel("actions", item.getModel())); item.add(new Label("contactid", String.valueOf(contact.getId()))); item.add(new Label("firstname", contact.getFirstName())); item.add(new Label("lastname", contact.getLastName())); item.add(new Label("homephone", contact.getHomePhone())); item.add(new Label("cellphone", contact.getCellPhone())); item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(8); dataView.setCurrentPage(page); add(new MyOrderByBorder("orderById", "id", dp)); add(new MyOrderByBorder("orderByFirstName", "firstName", dp)); add(new MyOrderByBorder("orderByLastName", "lastName", dp)); add(dataView); add(new PagingNavigator("navigator", dataView) { private static final long serialVersionUID = 1L; /* * (non-Javadoc) * * @see * org.apache.wicket.markup.html.navigation.paging.PagingNavigator * #newPagingNavigationIncrementLink(java.lang.String, * org.apache.wicket.markup.html.navigation.paging.IPageable, int) */ @Override protected AbstractLink newPagingNavigationIncrementLink(final String id, final IPageable pageable, final int increment) { return new PagingNavigationIncrementLink<Void>(id, pageable, increment) { private static final long serialVersionUID = 1L; /* * (non-Javadoc) * * @seeorg.apache.wicket.markup.html.navigation.paging. * PagingNavigationIncrementLink#onClick() */ @Override public void onClick() { throw new UnsupportedOperationException("OnClick not supported by bookmarkable link"); } /* * (non-Javadoc) * * @see org.apache.wicket.markup.html.link.Link#getURL() */ @Override protected CharSequence getURL() { final PageParameters params = new PageParameters(); final SortParam sort = dp.getSort(); params.add("page", String.valueOf(getPageNumber() + 1)); params.add("orderby", sort.getProperty()); params.add("asc", String.valueOf(sort.isAscending())); return urlFor(ListLightPage.class, params); } /* * (non-Javadoc) * * @see * org.apache.wicket.markup.html.link.Link#getStatelessHint * () */ @Override protected boolean getStatelessHint() { return true; } }; } /* * (non-Javadoc) * * @see * org.apache.wicket.markup.html.navigation.paging.PagingNavigator * #newPagingNavigationLink(java.lang.String, * org.apache.wicket.markup.html.navigation.paging.IPageable, int) */ @Override protected AbstractLink newPagingNavigationLink(final String id, final IPageable pageable, final int pageNumber) { return new MyPagingNavigationLink<Void>(id, pageable, pageNumber, dp); } /* * (non-Javadoc) * * @see * org.apache.wicket.markup.html.navigation.paging.PagingNavigator * #newNavigation * (org.apache.wicket.markup.html.navigation.paging.IPageable, * org.apache * .wicket.markup.html.navigation.paging.IPagingLabelProvider) */ @Override protected PagingNavigation newNavigation(final IPageable pageable, final IPagingLabelProvider labelProvider) { return new PagingNavigation("navigation", pageable, labelProvider) { private static final long serialVersionUID = 1L; /* * (non-Javadoc) * * @seeorg.apache.wicket.markup.html.navigation.paging. * PagingNavigation * #newPagingNavigationLink(java.lang.String, * org.apache.wicket * .markup.html.navigation.paging.IPageable, int) */ @Override protected AbstractLink newPagingNavigationLink(final String id, final IPageable pageable, final int pageIndex) { return new MyPagingNavigationLink<Void>(id, pageable, pageIndex, dp); } }; } }); }
From source file:de.objectcode.pages.Main.java
License:Apache License
public Main(final PageParameters parameters) { hotelSearch = ((HotelBookingWebSession) this.getSession()).getHotelSearchingAction(); hotelBooking = ((HotelBookingWebSession) this.getSession()).getHotelBookingAction(); // ((HotelBookingWebSession)this.getSession()).setBookings( // bookingDao.findBookingsByUserId(((HotelBookingWebSession)this.getSession()).getUser().getUsername())); bookings = ((HotelBookingWebSession) this.getSession()).getBookings(); Template body = new Template("body"); add(body);// w ww.ja v a 2s. co m hotelSearchForm = new HotelSearchForm("searchCriteria"); body.add(hotelSearchForm); messages = new FeedbackPanel("messages", new ContainerFeedbackMessageFilter(this)).setOutputMarkupId(true); body.add(messages); /* * Hotel Search results */ noHotelsFound = new Label("noResults", "No Hotels Found") { /** * Only display the message if no hotels are found * */ @Override public boolean isVisible() { return hotelSearch.getHotels().size() == 0; } }; body.add(noHotelsFound.setOutputMarkupId(true)); hotelDataView = new DataView("hotel", new SimpleDataProvider() { public Iterator iterator(int from, int count) { return hotelSearch.getHotels().subList(from, from + count).iterator(); } public int size() { return hotelSearch.getHotels().size(); } }) { /** * You specify the tr in the html, and populate each one here */ @Override protected void populateItem(Item item) { final Hotel hotel = (Hotel) item.getModelObject(); item.add(new Label("hotelName", hotel.getName())); item.add(new Label("hotelAddress", hotel.getAddress())); item.add(new Label("hotelCityStateCountry", hotel.getCity() + ", " + hotel.getState() + ", " + hotel.getCountry())); item.add(new Label("hotelZip", hotel.getZip())); item.add(new Link("viewHotel") { @Override public void onClick() { hotelBooking.selectHotel(hotel); setResponsePage(new de.objectcode.pages.Hotel(new PageParameters())); } }); } }; // Set the maximum items per page hotelDataView.setItemsPerPage(hotelSearchForm.getPageSize()); hotelDataView.setOutputMarkupId(true); hotels = new WebMarkupContainer("hotels"); hotels.add(hotelDataView).setOutputMarkupId(true); // Add a pager hotels.add(new AjaxPagingNavigator("hotelPager", hotelDataView) { @Override public boolean isVisible() { return hotelDataView.isVisible(); } }); body.add(hotels); /* * Existing hotel booking */ bookedHotelDataView = new DataView("bookedHotel", new SimpleDataProvider() { public Iterator iterator(int from, int count) { return bookings.subList(from, from + count).iterator(); } public int size() { return bookings.size(); } }) { @Override protected void populateItem(Item item) { final Booking booking = (Booking) item.getModelObject(); item.add(new Label("hotelName", booking.getHotel().getName())); item.add(new Label("hotelAddress", booking.getHotel().getAddress())); item.add(new Label("hotelCityStateCountry", booking.getHotel().getCity() + ", " + booking.getHotel().getState() + ", " + booking.getHotel().getState())); item.add(new Label("hotelCheckInDate", booking.getCheckinDate().toString())); item.add(new Label("hotelCheckOutDate", booking.getCheckoutDate().toString())); item.add(new Label("hotelConfirmationNumber", booking.getId().toString())); item.add(new Link("cancel") { @Override public void onClick() { bookingDao.cancelBooking(booking); bookings = bookingDao.findBookingsByUserId( ((HotelBookingWebSession) this.getSession()).getUser().getUsername()); } }); } @Override public boolean isVisible() { return bookings.size() > 0; } }; body.add(bookedHotelDataView); body.add(new Label("noHotelsBooked", "No Bookings Found") { @Override public boolean isVisible() { return bookings.size() == 0; } }); }
From source file:de.voolk.marbles.web.pages.admin.auth.ListUserPage.java
License:Open Source License
@SuppressWarnings("serial") public ListUserPage() { action = new WebComponent("action"); add(action);/*from w w w . ja v a2s . com*/ add(new DataView<User>("userList", new UserDataProvider(authentificationService)) { @SuppressWarnings("rawtypes") private Link removeLink; @Override @SuppressWarnings("rawtypes") protected void populateItem(Item<User> userItem) { final User user = userItem.getModelObject(); removeLink = new Link("remove") { @Override public void onClick() { selectedUsertoRemove = user; ValueMap info = new ValueMap(); info.put("user", user.getName()); new ReplacingConfirmationActionPanel(action, new StringResourceModel("remove.confirmation", ListUserPage.this, new Model<ValueMap>(info))) { @Override public void execute() { pageService.removeAllPages(user); authentificationService.removeUser(user.getId()); setResponsePage(ListUserPage.this.getClass()); } @Override public void cancel() { super.cancel(); selectedUsertoRemove = null; } }; } }; String crossPic = "cross.png"; if (authentificationService.userHasRole(user, IdentSession.SYSTEM_ROLE) || selectedUsertoRemove != null) { removeLink.setEnabled(false); crossPic = "cross_gray.png"; } removeLink.add(new Image("crossImg", new ResourceReference(ListUserPage.class, crossPic))); userItem.add(removeLink); userItem.add(new Label("id", String.valueOf(user.getId()))); userItem.add(new Label("name", user.getName())); userItem.add(new Label("email", user.getEmail())); } }); }
From source file:eu.uqasar.web.pages.admin.meta.MetaDataEditPanel.java
License:Apache License
private DataView<T> getListing() { return new DataView<T>("data", getMetaDataProvider(this.clazz)) { @Override//from ww w . j ava2s . c o m protected void populateItem(Item<T> item) { Check<T> check = new Check<>("check", item.getModel(), checkGroup); item.add(check); TextField nameField = new TextField("name", new PropertyModel(item.getModel(), "name")); item.add(new InputBeanValidationBorder<>("nameValidationBorder", nameField)); item.add(newIsInUseIndicator("inUse", item.getModelObject())); } }; }
From source file:eu.uqasar.web.pages.admin.settings.panels.LdapEntityListPanel.java
License:Apache License
@Override protected void onConfigure() { super.onConfigure(); checkGroup = newCheckGroup();//from w ww . j a v a 2 s. c o m checkGroupSelector = new CheckGroupSelector("entityGroupSelector", checkGroup); provider.setMaximumNoOfEntities(maxEntitiesToShow); dataView = new DataView<Entity>("entities", provider) { @Override protected void populateItem(Item<Entity> item) { Check<Entity> check = new Check<>("check", item.getModel(), checkGroup); check.setVisible(isSelectionEnabled()); item.add(check); LdapEntityListPanel.this.populateItem(item, check); } }; tableContainer = new WebMarkupContainer("tableContainer"); tableContainer.addOrReplace(dataView); listHeader = new WebMarkupContainer("listHeader"); listHeader.addOrReplace(checkGroupSelector); tableContainer.addOrReplace(listHeader); tableContainer.addOrReplace( new Label("javascript", headerFixed ? getJavaScript() : "").setEscapeModelStrings(false)); checkGroup.addOrReplace(tableContainer.setOutputMarkupId(true)); addOrReplace(checkGroup); checkGroupSelector.setVisible(this.selectionEnabled); tableContainer.setVisible(dataView.getItemCount() > 0); if (!StringUtils.isEmpty(getContainerCSSClass())) { tableContainer.add(new AttributeAppender("class", getContainerCSSClass())); } if (!StringUtils.isEmpty(getContainerCSSClass())) { listHeader.add(new AttributeAppender("class", getListHeaderCSSClass())); } }
From source file:eu.uqasar.web.pages.admin.settings.panels.LdapGroupListPanel.java
License:Apache License
private DataView<LdapUser> newGroupMembersListView(LdapGroup group) { List<LdapUser> users;/* ww w . j av a 2 s . c o m*/ try { users = group.getMembers(); } catch (NamingException e) { logger.warn(e.getMessage(), e); users = new ArrayList<>(0); } DataView<LdapUser> members = new DataView<LdapUser>("membersList", new LdapGroupUsersProvider(users)) { @Override protected void populateItem(Item<LdapUser> item) { LdapUser user = item.getModelObject(); WebMarkupContainer container = new WebMarkupContainer("member"); ExternalLink mail = new ExternalLink("mail", Model.of("mailto:" + user.getMail()), new PropertyModel(user, "mail")); Label userName = new Label("username", new PropertyModel(user, "userName")); final String fullName = user.getFullName(); Label fullNameLabel = new Label("fullname", Model.of(fullName)); fullNameLabel.setVisible(fullName != null); container.add(mail); container.add(userName); container.add(fullNameLabel); item.add(container); } }; members.setOutputMarkupId(true); return members; }
From source file:eu.uqasar.web.pages.admin.teams.panels.EditTeamPanel.java
License:Apache License
public EditTeamPanel(final String markupId, final StyledFeedbackPanel feedbackPanel, final Team team) { super(markupId); this.team = team; Form<Team> formEdit = new InputValidationForm<>("form.edit", Model.of(team)); nameField = new TextField<>("name", new PropertyModel<String>(this.team, "name")); InputBorder<String> serverValidationBorder = new InputBorder<>("nameValidationBorder", nameField, new StringResourceModel("label.name", this, null)); formEdit.add(serverValidationBorder); add(formEdit);//www . j ava2 s . co m Form<TeamMembership> formAdd = new InputValidationForm<>("form.add", Model.of(membership)); AutoCompleteSettings settings = new AutoCompleteSettings().setPreselect(true).setShowListOnFocusGain(true) .setShowListOnEmptyInput(true); AutoCompleteTextField<User> userComplete = new AutoCompleteTextField<User>("add.userName", new PropertyModel(membership, "user"), User.class, getAutocompleteRenderer(), settings) { @Override protected Iterator<User> getChoices(String input) { return getTeamableUsers(input); } @Override public <User> IConverter<User> getConverter(Class<User> type) { return (IConverter<User>) getAutocompleteConverter(); } }; DropDownChoice<Role> userRole = new DropDownChoice<>("add.userRole", new PropertyModel(membership, "role"), Arrays.asList(Role.teamAssignableRoles())); userRole.setNullValid(false); AjaxSubmitLink addMember = new AjaxSubmitLink("add.member", formAdd) { @Override protected void onError(AjaxRequestTarget target, Form<?> form) { target.add(feedbackPanel); target.add(form); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { TeamMembership membership = (TeamMembership) form.getModelObject(); EditTeamPanel.this.team.getMembers().add(membership); teamMembersList.setModelObject(EditTeamPanel.this.team); target.add(teamMembersList); } }; addMember.add( new Label("button.add.save", new StringResourceModel("button.add.save", this, Model.of(team)))); formAdd.add(addMember); formAdd.add(userRole); formAdd.add(userComplete); add(formAdd); teamMembersList = new InputValidationForm<>("form.list", Model.of(team)); DataView<TeamMembership> usersView = new DataView<TeamMembership>("members", getMembershipProvider(team)) { @Override protected void populateItem(Item<TeamMembership> item) { final TeamMembership team = item.getModelObject(); Check<TeamMembership> check = newDeleteCheck(item); List<Role> roles = new ArrayList<>(Arrays.asList(Role.teamAssignableRoles())); item.add(check); item.add(new Label("td.membername", new PropertyModel<>(team.getUser(), "fullName"))); DropDownChoice<Role> roleSelector = new DropDownChoice<>("td.role", new PropertyModel<Role>(team, "role"), roles); roleSelector.setNullValid(false); item.add(roleSelector); item.setOutputMarkupId(true); } }; teamMembersList.add(teamGroup = newCheckGroup()); final WebMarkupContainer usersContainer = new WebMarkupContainer("membersContainer"); teamGroup.add(usersContainer.setOutputMarkupId(true)); CheckGroupSelector checkGroupSelector = new CheckGroupSelector("memberGroupSelector", teamGroup); usersContainer.add(checkGroupSelector); usersContainer.add(usersView); usersContainer.add(deleteSelectedButton = newDeleteSelectedButton(teamGroup)); deleteSelectedButton.add(new Label("td.members.actions.batch.remove", new StringResourceModel("td.members.actions.batch.remove", this, Model.of(team)))); add(teamMembersList.setOutputMarkupId(true)); add(new Label("label.add.title", new StringResourceModel("label.add.title", this, Model.of(team)))); add(new Label("label.list.title", new StringResourceModel("label.list.title", this, Model.of(team)))); }
From source file:eu.uqasar.web.pages.admin.teams.TeamEditPage.java
License:Apache License
private DataView<TeamMembership> getTeamMembersListing() { return new DataView<TeamMembership>("members", getMembershipProvider(team)) { @Override//from w ww. java 2 s . co m protected void populateItem(Item<TeamMembership> item) { final TeamMembership team = item.getModelObject(); Check<TeamMembership> check = new Check<>("memberCheck", item.getModel(), teamGroup); List<Role> roles = new ArrayList<>(Arrays.asList(Role.teamAssignableRoles())); item.add(check); BookmarkablePageLink<Object> editMemberLink = new BookmarkablePageLink<>("link.edit.member", UserEditPage.class, new PageParameters().add("id", team.getUser().getId())); editMemberLink.add(new Label("td.membername", new PropertyModel<>(team.getUser(), "fullName"))); item.add(editMemberLink); DropDownChoice<Role> roleSelector = new DropDownChoice<>("td.role", new PropertyModel<Role>(team, "role"), roles); roleSelector.setNullValid(false); item.add(roleSelector); item.setOutputMarkupId(true); } }; }