List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:guru.mmp.application.web.template.pages.ReportDefinitionAdministrationPage.java
License:Apache License
/** * Constructs a new <code>ReportDefinitionAdministrationPage</code>. *///w w w.ja v a2s. c o m @SuppressWarnings("unused") public ReportDefinitionAdministrationPage() { super("Report Definitions"); try { /* * The table container, which allows the table and its associated navigator to be updated * using AJAX. */ WebMarkupContainer tableContainer = new WebMarkupContainer("tableContainer"); tableContainer.setOutputMarkupId(true); add(tableContainer); // The dialog used to confirm the removal of a group RemoveDialog removeDialog = new RemoveDialog(tableContainer); add(removeDialog); // The "addLink" link Link<Void> addLink = new Link<Void>("addLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { AddReportDefinitionPage page = new AddReportDefinitionPage(getPageReference()); setResponsePage(page); } }; tableContainer.add(addLink); ReportDefinitionSummaryDataProvider dataProvider = new ReportDefinitionSummaryDataProvider(); // The report definition data view DataView<ReportDefinitionSummary> dataView = new DataView<ReportDefinitionSummary>("reportDefinition", dataProvider) { private static final long serialVersionUID = 1000000; protected void populateItem(Item<ReportDefinitionSummary> item) { item.add(new Label("name", new PropertyModel<String>(item.getModel(), "name"))); // The "updateLink" link Link<Void> updateLink = new Link<Void>("updateLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { ReportDefinitionSummary reportDefinitionSummary = item.getModelObject(); try { ReportDefinition reportDefinition = reportingService .getReportDefinition(reportDefinitionSummary.getId()); UpdateReportDefinitionPage page = new UpdateReportDefinitionPage(getPageReference(), new Model<>(reportDefinition)); setResponsePage(page); } catch (Throwable e) { logger.error(String.format("Failed to retrieve the report definition (%s)", reportDefinitionSummary.getId()), e); error(String.format("Failed to retrieve the report definition (%s)", reportDefinitionSummary.getId())); } } }; item.add(updateLink); // The "removeLink" link AjaxLink<Void> removeLink = new AjaxLink<Void>("removeLink") { private static final long serialVersionUID = 1000000; @Override public void onClick(AjaxRequestTarget target) { ReportDefinitionSummary reportDefinitionSummary = item.getModelObject(); if (reportDefinitionSummary != null) { removeDialog.show(target, reportDefinitionSummary); } else { target.add(tableContainer); } } }; item.add(removeLink); } }; dataView.setItemsPerPage(10); dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); tableContainer.add(dataView); tableContainer.add(new PagingNavigator("navigator", dataView)); } catch (Throwable e) { throw new WebApplicationException("Failed to initialise the ReportDefinitionAdministrationPage", e); } }
From source file:guru.mmp.application.web.template.pages.UserAdministrationPage.java
License:Apache License
/** * Constructs a new <code>UserAdministrationPage</code>. *//* w w w .j a v a 2 s . c om*/ public UserAdministrationPage() { super("Users"); try { /* * Retrieve the list of user directories for the organisation the currently logged on user * is associated with and default to the first user directory. */ List<UserDirectory> userDirectories = getUserDirectories(); userDirectory = userDirectories.get(0); /* * The table container, which allows the table and its associated navigator to be updated * using AJAX. */ WebMarkupContainer tableContainer = new WebMarkupContainer("tableContainer"); tableContainer.setOutputMarkupId(true); add(tableContainer); // The dialog used to confirm the removal of a user RemoveDialog removeDialog = new RemoveDialog(tableContainer); add(removeDialog); // The "addLink" used to add a new user Link<Void> addLink = new Link<Void>("addLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { AddUserPage page = new AddUserPage(getPageReference(), userDirectory.getId()); setResponsePage(page); } }; tableContainer.add(addLink); FilteredUserDataProvider dataProvider = new FilteredUserDataProvider(userDirectory.getId()); // The "userDirectoryDropdownMenu" dropdown button DropdownMenu<UserDirectory> userDirectoryDropdownMenu = new DropdownMenu<UserDirectory>( "userDirectoryDropdownMenu", new PropertyModel<>(this, "userDirectory"), userDirectories, "fa fa-users") { @Override protected String getDisplayValue(UserDirectory menuItem) { return menuItem.getName(); } @Override protected void onMenuItemSelected(AjaxRequestTarget target, UserDirectory menuItem) { dataProvider.setUserDirectoryId(userDirectory.getId()); if (target != null) { target.add(tableContainer); target.appendJavaScript( "jQuery('[data-toggle=\"tooltip\"]').tooltip({container: 'body', animation: false});"); } } }; userDirectoryDropdownMenu.setVisible(userDirectories.size() > 1); tableContainer.add(userDirectoryDropdownMenu); // The "filterForm" form Form<Void> filterForm = new Form<>("filterForm"); filterForm.setMarkupId("filterForm"); filterForm.setOutputMarkupId(true); // The "filter" field TextField<String> filterField = new TextField<>("filter", new PropertyModel<>(dataProvider, "filter")); filterForm.add(filterField); // The "filterButton" button Button filterButton = new Button("filterButton") { private static final long serialVersionUID = 1000000; @Override public void onSubmit() { } }; filterButton.setDefaultFormProcessing(true); filterForm.add(filterButton); // The "resetButton" button Button resetButton = new Button("resetButton") { private static final long serialVersionUID = 1000000; @Override public void onSubmit() { dataProvider.setFilter(""); } }; filterForm.add(resetButton); tableContainer.add(filterForm); // The user data view DataView<User> dataView = new DataView<User>("user", dataProvider) { private static final long serialVersionUID = 1000000; @Override protected void populateItem(Item<User> item) { User user = item.getModelObject(); item.add(new Label("username", new PropertyModel<String>(item.getModel(), "username"))); item.add(new Label("firstName", new PropertyModel<String>(item.getModel(), "firstName"))); item.add(new Label("lastName", new PropertyModel<String>(item.getModel(), "lastName"))); // The "userGroupsLink" link Link<Void> userGroupsLink = new Link<Void>("userGroupsLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { User user = item.getModelObject(); if (!user.getUsername().equalsIgnoreCase("Administrator")) { UserGroupsPage page = new UserGroupsPage(getPageReference(), userDirectory.getId(), user.getUsername()); setResponsePage(page); } } }; item.add(userGroupsLink); // The "updateLink" link Link<Void> updateLink = new Link<Void>("updateLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { User user = item.getModelObject(); if (!user.getUsername().equalsIgnoreCase("Administrator")) { UpdateUserPage page = new UpdateUserPage(getPageReference(), item.getModel()); setResponsePage(page); } } }; updateLink.setVisible(!user.isReadOnly()); item.add(updateLink); // The "resetPassword" link Link<Void> resetPasswordLink = new Link<Void>("resetPasswordLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { ResetUserPasswordPage page = new ResetUserPasswordPage(getPageReference(), new Model<>(item.getModelObject())); setResponsePage(page); } }; resetPasswordLink.setVisible(!user.isReadOnly()); item.add(resetPasswordLink); // The "removeLink" link AjaxLink<Void> removeLink = new AjaxLink<Void>("removeLink") { private static final long serialVersionUID = 1000000; @Override public void onClick(AjaxRequestTarget target) { User user = item.getModelObject(); if (user != null) { if (!user.getUsername().equalsIgnoreCase("Administrator")) { removeDialog.show(target, user); } } else { target.add(tableContainer); } } }; removeLink.setVisible(!user.isReadOnly()); item.add(removeLink); } }; dataView.setItemsPerPage(10); dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); tableContainer.add(dataView); tableContainer.add(new PagingNavigator("navigator", dataView)); } catch (Throwable e) { throw new WebApplicationException("Failed to initialise the UserAdministrationPage", e); } }
From source file:guru.mmp.application.web.template.pages.UserDirectoryAdministrationPage.java
License:Apache License
/** * Constructs a new <code>UserDirectoryAdministrationPage</code>. *//*from w ww . ja v a 2 s . c o m*/ public UserDirectoryAdministrationPage() { super("User Directories"); try { /* * The table container, which allows the table and its associated navigator to be updated * using AJAX. */ WebMarkupContainer tableContainer = new WebMarkupContainer("tableContainer"); tableContainer.setOutputMarkupId(true); add(tableContainer); // The dialog used to confirm the removal of a user directory RemoveDialog removeDialog = new RemoveDialog(tableContainer); add(removeDialog); // The dialog used to select the type of user directory being added AddDialog selectUserDirectoryTypeDialog = new AddDialog(); add(selectUserDirectoryTypeDialog); // The "addLink" used to add a new user directory AjaxLink<Void> addLink = new AjaxLink<Void>("addLink") { private static final long serialVersionUID = 1000000; @Override public void onClick(AjaxRequestTarget target) { selectUserDirectoryTypeDialog.show(target); } }; tableContainer.add(addLink); FilteredUserDirectoryDataProvider dataProvider = new FilteredUserDirectoryDataProvider(); // The "filterForm" form Form<Void> filterForm = new Form<>("filterForm"); filterForm.setMarkupId("filterForm"); filterForm.setOutputMarkupId(true); // The "filter" field TextField<String> filterField = new TextField<>("filter", new PropertyModel<>(dataProvider, "filter")); filterForm.add(filterField); // The "filterButton" button Button filterButton = new Button("filterButton") { private static final long serialVersionUID = 1000000; @Override public void onSubmit() { } }; filterButton.setDefaultFormProcessing(true); filterForm.add(filterButton); // The "resetButton" button Button resetButton = new Button("resetButton") { private static final long serialVersionUID = 1000000; @Override public void onSubmit() { dataProvider.setFilter(""); } }; filterForm.add(resetButton); tableContainer.add(filterForm); // The user directory data view DataView<UserDirectory> dataView = new DataView<UserDirectory>("userDirectory", dataProvider) { private static final long serialVersionUID = 1000000; @Override protected void populateItem(Item<UserDirectory> item) { item.add(new Label("name", new PropertyModel<String>(item.getModel(), "name"))); item.add(new Label("type", new PropertyModel<String>(item.getModel(), "type.name"))); // The "updateLink" link Link<Void> updateLink = new Link<Void>("updateLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { UpdateUserDirectoryPage page = new UpdateUserDirectoryPage(getPageReference(), item.getModel()); setResponsePage(page); } }; item.add(updateLink); // The "removeLink" link AjaxLink<Void> removeLink = new AjaxLink<Void>("removeLink") { private static final long serialVersionUID = 1000000; @Override public void onClick(AjaxRequestTarget target) { UserDirectory userDirectory = item.getModelObject(); if (userDirectory != null) { removeDialog.show(target, userDirectory); } else { target.add(tableContainer); } } }; item.add(removeLink); } }; dataView.setItemsPerPage(10); dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); tableContainer.add(dataView); tableContainer.add(new PagingNavigator("navigator", dataView)); } catch (Throwable e) { throw new WebApplicationException("Failed to initialise the UserDirectoryAdministrationPage", e); } }
From source file:guru.mmp.application.web.template.pages.UserGroupsPage.java
License:Apache License
/** * Constructs a new <code>UserGroupsPage</code>. * * @param previousPage the previous page * @param userDirectoryId the Universally Unique Identifier (UUID) used to uniquely identify the * user directory * @param username the username identifying the user *///w w w. ja va 2 s .co m UserGroupsPage(PageReference previousPage, UUID userDirectoryId, String username) { super("User Groups", username); try { /* * The table container, which allows the table and its associated navigator to be updated * using AJAX. */ WebMarkupContainer tableContainer = new WebMarkupContainer("tableContainer"); tableContainer.setOutputMarkupId(true); add(tableContainer); // The "backLink" link Link<Void> backLink = new Link<Void>("backLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { setResponsePage(previousPage.getPage()); } }; tableContainer.add(backLink); // The "addUserToGroupForm" form DropDownChoice<String> groupNameField = new DropDownChoice<>("groupName", new PropertyModel<>(this, "groupName"), getGroupOptions(userDirectoryId, username)); groupNameField.setRequired(true); Form<Void> addUserToGroupForm = new Form<Void>("addUserToGroupForm") { private static final long serialVersionUID = 1000000; @Override protected void onSubmit() { WebSession session = getWebApplicationSession(); try { securityService.addUserToGroup(userDirectoryId, username, groupName); logger.info(String.format( "User (%s) added the user (%s) to the group (%s) for the user directory (%s)", session.getUsername(), username, groupName, userDirectoryId)); groupNameField.setChoices(getGroupOptions(userDirectoryId, username)); groupNameField.setModelObject(null); } catch (Throwable e) { logger.error(String.format( "Failed to add the user (%s) to the group (%s) for the user directory (%s): %s", username, groupName, userDirectoryId, e.getMessage()), e); UserGroupsPage.this.error( String.format("Failed to add the user %s to the group %s", username, groupName)); } } }; addUserToGroupForm.setMarkupId("addUserToGroupForm"); addUserToGroupForm.setOutputMarkupId(true); tableContainer.add(addUserToGroupForm); addUserToGroupForm.add(groupNameField); // The group data view GroupsForUserDataProvider dataProvider = new GroupsForUserDataProvider(userDirectoryId, username); DataView<Group> dataView = new DataView<Group>("group", dataProvider) { private static final long serialVersionUID = 1000000; @Override protected void populateItem(Item<Group> item) { Group group = item.getModelObject(); String name = group.getGroupName(); item.add(new Label("name", Model.of(name))); // The "removeLink" link Link<Void> removeLink = new Link<Void>("removeLink") { private static final long serialVersionUID = 1000000; @Override public void onClick() { WebSession session = getWebApplicationSession(); Group group = item.getModelObject(); try { securityService.removeUserFromGroup(userDirectoryId, username, group.getGroupName()); logger.info(String.format( "User (%s) removed the user (%s) from the group (%s) for the user directory (%s)", session.getUsername(), username, group.getGroupName(), userDirectoryId)); groupNameField.setChoices(getGroupOptions(userDirectoryId, username)); groupNameField.setModelObject(null); } catch (Throwable e) { logger.error(String.format( "Failed to remove the user (%s) from the group (%s) for the user directory (%s)" + ": %s", username, group.getGroupName(), userDirectoryId, e.getMessage()), e); UserGroupsPage.this .error(String.format("Failed to remove the user %s from the group %s", username, group.getGroupName())); } } }; item.add(removeLink); } }; dataView.setItemsPerPage(10); dataView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); tableContainer.add(dataView); tableContainer.add(new PagingNavigator("navigator", dataView)); } catch (Throwable e) { throw new WebApplicationException("Failed to initialise the UserGroupsPage", e); } }
From source file:jdave.wicket.DataViewSpec.java
License:Apache License
@Override protected DataView<String> newComponent(String id, IModel<List<String>> model) { return dataView = new DataView<String>(id, new ListDataProvider<String>(Arrays.asList("one", "two", "three"))) { @Override/*w w w .j a v a 2s . com*/ protected void populateItem(Item<String> item) { } }; }
From source file:jp.go.nict.langrid.management.web.view.component.list.AbstractListPanel.java
License:Open Source License
/** * //from w w w . jav a 2s.co m * */ public void makeList(IDataProvider<T> provider) { DataView<T> dataView = new DataView<T>(getListId(), provider) { @Override protected void populateItem(Item<T> item) { addListItem(gridId, newChildId(), item); } @Override protected int getViewSize() { int size = super.getViewSize(); emptyPanel.setVisible(size == 0); return size; } private static final long serialVersionUID = 1L; }; dataView.setItemsPerPage(getPAGING_COUNT()); boolean isVisible = (dataView.getRowCount() > getPAGING_COUNT()); topPagingNavigator = getPagingNavigator(gridId, getTopNavigatorId(), dataView); topPagingNavigator.setVisible(isVisible); rewriteWrapper.addOrReplace(topPagingNavigator); underPagingNavigator = getPagingNavigator(gridId, getUnderNavigatorId(), dataView); underPagingNavigator.setVisible(isVisible); rewriteWrapper.addOrReplace(underPagingNavigator); rewriteWrapper.addOrReplace(getHeaderPanel()); emptyPanel = getEmptyRowPanel(); rewriteWrapper.addOrReplace(emptyPanel); pageable = dataView; setCurrentIndex(0); rewriteWrapper.addOrReplace(dataView); }
From source file:net.mad.ads.manager.web.pages.manager.campaign.CampaignManagerPage.java
License:Open Source License
public CampaignManagerPage() { super();//from w ww .ja v a2 s . c o m add(new BookmarkablePageLink<Void>("newCampaign", NewCampaignPage.class).add(new ButtonBehavior())); DataView<Campaign> dataView = new DataView<Campaign>("pageable", new CampaignDataProvider()) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<Campaign> item) { final Campaign campaign = item.getModelObject(); item.add(new Label("id", String.valueOf(campaign.getId()))); item.add(new Label("name", campaign.getName())); item.add(new Label("created", DateUtil.format(campaign.getCreated()))); item.add(new EditPanel("editCampaign", item.getModel())); item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(5); add(dataView); add(new PagingNavigator("navigator", dataView)); }
From source file:net.mad.ads.manager.web.pages.manager.site.edit.EditSitePage.java
License:Open Source License
public EditSitePage(final Site site) { super();/*www .ja v a 2s . co m*/ add(new Label("sitename", site.getName())); add(new FeedbackPanel("feedback")); add(new InputForm("inputForm", site)); final FeedbackPanel placeFeed = new FeedbackPanel("placeFeedback"); add(placeFeed); add(new Link<Void>("newPlace") { @Override public void onClick() { setResponsePage(new NewPlacePage(site)); } }.add(new ButtonBehavior())); add(new Link<Void>("backLink") { @Override public void onClick() { setResponsePage(new SiteManagerPage()); } }.add(new ButtonBehavior())); DataView<Place> dataView = new DataView<Place>("pageable", new PlaceDataProvider(site)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<Place> item) { final Place place = item.getModelObject(); item.add(new Label("id", String.valueOf(place.getId()))); item.add(new Label("name", place.getName())); item.add(new Label("created", DateUtil.format(place.getCreated()))); item.add(new EditPanel("editPlace", item.getModel())); item.add(new ConfirmLink<Void>("deletePlace", getPage().getString("dialog.confirm.message")) { @Override public void onClick() { try { RuntimeContext.getPlaceService().delete(place); setResponsePage(getPage()); } catch (Exception e) { logger.error("", e); placeFeed.error(getPage().getString("place.delete.error")); } } }); item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(5); add(dataView); add(new PagingNavigator("navigator", dataView)); }
From source file:net.mad.ads.manager.web.pages.manager.site.SiteManagerPage.java
License:Open Source License
public SiteManagerPage() { super();//from w w w . j a v a2s .c om add(new BookmarkablePageLink<Void>("newSite", NewSitePage.class).add(new ButtonBehavior())); DataView<Site> dataView = new DataView<Site>("pageable", new SiteDataProvider()) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final Item<Site> item) { final Site site = item.getModelObject(); item.add(new Label("id", String.valueOf(site.getId()))); item.add(new Label("name", site.getName())); item.add(new Label("url", site.getUrl())); item.add(new Label("created", DateUtil.format(site.getCreated()))); item.add(new EditPanel("editSite", item.getModel())); item.add(AttributeModifier.replace("class", new AbstractReadOnlyModel<String>() { private static final long serialVersionUID = 1L; @Override public String getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(5); add(dataView); add(new PagingNavigator("navigator", dataView)); }
From source file:org.antbear.jee.wicket.PlainDataView.java
License:Apache License
@Override protected void onInitialize() { super.onInitialize(); add(new FeedbackPanel("feedback")); final DataView<Integer> dataView = new DataView<Integer>("list", new IntegerDataProvider()) { private static final long serialVersionUID = 1L; @Override/*from w ww.ja va 2s. c o m*/ protected void populateItem(Item item) { item.add(new Label("text", item.getDefaultModelObjectAsString())); } }; final Form<Void> form = new Form<Void>("form") { private static final long serialVersionUID = 1L; @Override protected void onSubmit() { ++submitCount; info("Form submitted " + submitCount + " times"); } }; final Button submitButton = new Button("submit") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { IntegerDatabase db = DatabaseLocator.locate(); if (db.size() > 0) { db.removeLast(); } else { error("No more items."); } } }; add(form); form.add(dataView); form.add(submitButton); form.add(new SubmitLink("restoreDatabase") { private static final long serialVersionUID = 1L; @Override public void onSubmit() { info("Database restored"); DatabaseLocator.locate().restore(); } }); }