List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:org.apache.camel.example.reportincident.HomePage.java
License:Apache License
/** * Constructor that is invoked when page is invoked without a session. * /*from www. java 2 s . co m*/ * @param parameters * Page parameters */ public HomePage(final PageParameters parameters) { LOG.debug("Spring service : " + incidentService.toString()); // Add the simplest type of label add(new Label("message", "List of incidents coming from web services or file : ")); // Add paging final DataView dataView = new DataView("simple", new IncidentProvider()) { public void populateItem(final Item item) { final Incident incident = (Incident) item.getModelObject(); item.add(new Label("incidentId", String.valueOf(incident.getIncidentId()))); item.add(new Label("incidentDate", String.valueOf(incident.getIncidentDate()))); item.add(new Label("incidentRef", incident.getIncidentRef())); item.add(new Label("givenName", incident.getGivenName())); item.add(new Label("familyName", incident.getFamilyName())); item.add(new Label("summary", incident.getSummary())); item.add(new Label("details", incident.getDetails())); item.add(new Label("email", incident.getEmail())); item.add(new Label("phone", incident.getPhone())); item.add(new Label("creationUser", incident.getCreationUser())); item.add(new Label("creationDate", String.valueOf(incident.getCreationDate()))); item.add(new AttributeModifier("class", true, new AbstractReadOnlyModel() { @Override public Object getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(10); add(dataView); add(new PagingNavigator("navigator", dataView)); }
From source file:org.apache.con2012.karafee.web.view.Homepage.java
License:Apache License
/** * Constructor that is invoked when page is invoked without a session. * //from w w w. ja v a2 s .c om * @param parameters * Page parameters */ public Homepage(final PageParameters parameters) { LOG.debug("Coneference service : " + conferenceService); // Add the simplest type of label add(new Label("message", "List of conference coming from web services or file : ")); // Add paging final DataView<Conference> dataView = new DataView<Conference>("simple", new ConferenceDataProvider()) { @Override public void populateItem(final Item item) { final Conference conference = (Conference) item.getModelObject(); item.add(new Label("id", String.valueOf(conference.getId()))); item.add(new Label("date", String.valueOf(conference.getDate()))); item.add(new Label("ref", conference.getRef())); item.add(new Label("givenName", conference.getGivenName())); item.add(new Label("familyName", conference.getFamilyName())); item.add(new Label("summary", conference.getSummary())); item.add(new Label("details", conference.getDetails())); item.add(new Label("email", conference.getEmail())); item.add(new Label("phone", conference.getPhone())); item.add(new Label("creationUser", conference.getCreationUser())); item.add(new Label("creationDate", String.valueOf(conference.getCreationDate()))); item.add(new AttributeModifier("class", new AbstractReadOnlyModel() { @Override public Object getObject() { return (item.getIndex() % 2 == 1) ? "even" : "odd"; } })); } }; dataView.setItemsPerPage(10); add(dataView); add(new PagingNavigator("navigator", dataView)); }
From source file:org.apache.jetspeed.portlets.prm.ApplicationsListHome.java
License:Apache License
public ApplicationsListHome() { SearchForm form = new SearchForm("appSearchForm"); add(form);//from w w w.ja v a 2 s . co m // Construct Data View final JetspeedServiceLocator locator = ((AbstractAdminWebApplication) getApplication()).getServiceLocator(); final Locale locale = (((AbstractAdminWebApplication) getApplication()).getPortletRequest()).getLocale(); final ApplicationDataProvider applicationDataProvider = new ApplicationDataProvider(locator); final PortletDataProvider portletListDataProvider = new PortletDataProvider("j2-admin", locale, locator); final DataView<ApplicationBean> dataView = new DataView<ApplicationBean>(APP_TABLE, applicationDataProvider) { private static final long serialVersionUID = 1L; protected void populateItem(final Item<ApplicationBean> item) { final ApplicationBean pa = item.getModelObject(); Link<ApplicationBean> nameLink = new Link<ApplicationBean>("nameLink") { private static final long serialVersionUID = 1L; public void onClick() { String appName = this.get("nameLabel").getDefaultModelObjectAsString(); portletListDataProvider.changeAppName(appName); try { PortletMessaging.publish( ((AbstractAdminWebApplication) getApplication()).getPortletRequest(), ApplicationsListApplication.PRM_TOPIC, ApplicationsListApplication.SELECTED_APPLICATION_EVENT, pa); DataView portletView = (DataView) getPage().get(PORTLET_TABLE); PortletDataProvider pdp = (PortletDataProvider) portletView.getDataProvider(); if (pdp.getSearchMode() == true) { pdp.setSearchMode(false); pdp.refresh(); } } catch (NotSerializableException e) { logger.error("Message to publish is not serializable.", e); } } }; nameLink.add(new Label("nameLabel", pa.getApplicationName())); item.add(nameLink); item.add(new Label("version", pa.getVersion())); item.add(new Label("path", pa.getPath())); item.add(new RunningPanel("running", item.getModel())); item.add(new ActionPanel("actions", item.getModel())); } }; dataView.setItemsPerPage( ((AbstractAdminWebApplication) getApplication()).getPreferenceValueAsInteger("appRows")); add(new OrderByLink("appOrderByName", "name", applicationDataProvider, VoidCssProvider.getInstance()) { private static final long serialVersionUID = 1L; protected void onSortChanged() { if (applicationDataProvider.getOrderBy() == AppOrderBy.NAME_ASC) { applicationDataProvider.setOrderBy(AppOrderBy.NAME_DESC); } else { applicationDataProvider.setOrderBy(AppOrderBy.NAME_ASC); } applicationDataProvider.sort(); dataView.setCurrentPage(0); } }); add(new OrderByLink("appOrderByVersion", "version", applicationDataProvider, VoidCssProvider.getInstance()) { private static final long serialVersionUID = 1L; protected void onSortChanged() { if (applicationDataProvider.getOrderBy() == AppOrderBy.VERSION_ASC) { applicationDataProvider.setOrderBy(AppOrderBy.VERSION_DESC); } else { applicationDataProvider.setOrderBy(AppOrderBy.VERSION_ASC); } applicationDataProvider.sort(); dataView.setCurrentPage(0); } }); add(new OrderByLink("appOrderByPath", "path", applicationDataProvider, VoidCssProvider.getInstance()) { private static final long serialVersionUID = 1L; protected void onSortChanged() { if (applicationDataProvider.getOrderBy() == AppOrderBy.PATH_ASC) { applicationDataProvider.setOrderBy(AppOrderBy.PATH_DESC); } else { applicationDataProvider.setOrderBy(AppOrderBy.PATH_ASC); } applicationDataProvider.sort(); dataView.setCurrentPage(0); } }); add(dataView); add(new PagingNavigator("appNavigator", dataView)); FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setEscapeModelStrings(false); add(feedback); final DataView<PortletDefinitionBean> portletListView = new DataView<PortletDefinitionBean>(PORTLET_TABLE, portletListDataProvider) { private static final long serialVersionUID = 1L; protected void populateItem(final Item<PortletDefinitionBean> item) { final PortletDefinitionBean portletDefinitionBean = item.getModelObject(); Link<PortletDefinitionBean> link = new Link<PortletDefinitionBean>("nameLink", item.getModel()) { private static final long serialVersionUID = 1L; @Override public void onClick() { try { PortletMessaging.publish( ((AbstractAdminWebApplication) getApplication()).getPortletRequest(), ApplicationsListApplication.PRM_TOPIC, ApplicationsListApplication.SELECTED_PORTLET_EVENT, portletDefinitionBean); PortletMessaging.publish( ((AbstractAdminWebApplication) getApplication()).getPortletRequest(), ApplicationsListApplication.PRM_TOPIC, ApplicationsListApplication.SELECTED_APPLICATION_EVENT, new ApplicationBean( locator.getPortletRegistry().getPortletApplication( portletDefinitionBean.getApplicationName()), locator.getPortletFactory().isPortletApplicationRegistered( locator.getPortletRegistry().getPortletApplication( portletDefinitionBean.getApplicationName())))); } catch (NotSerializableException e) { logger.error("Message to publish is not serializable.", e); } } }; link.add(new Label("nameLabel", portletDefinitionBean.getDisplayName())); item.add(link); item.add(new CloneStatusPanel("status", item.getModel())); item.add(new PortletActionPanel("actions", item.getModel())); } }; portletListView.setItemsPerPage( ((AbstractAdminWebApplication) getApplication()).getPreferenceValueAsInteger("portletRows")); add(new OrderByBorder("plOrderByDisplayName", "name", portletListDataProvider) { private static final long serialVersionUID = 1L; protected void onSortChanged() { if (portletListDataProvider.getOrderBy() == PortletOrderBy.DISPLAY_NAME_ASC) { portletListDataProvider.setOrderBy(PortletOrderBy.DISPLAY_NAME_DESC); } else { portletListDataProvider.setOrderBy(PortletOrderBy.DISPLAY_NAME_ASC); } portletListDataProvider.sort(); dataView.setCurrentPage(0); } }); add(portletListView); add(new PagingNavigator("plNavigator", portletListView)); CloneModalWindow modalWindow = new CloneModalWindow("modalwindow"); add(modalWindow); Label modalWindowCloseScript = new Label("modalWindowCloseScript", new PropertyModel<String>(this, "currentModalWindowCloseScript")); modalWindowCloseScript.setOutputMarkupId(true); add(modalWindowCloseScript); }
From source file:org.apache.jetspeed.portlets.security.JetspeedPrincipalManagementPortlet.java
License:Apache License
public JetspeedPrincipalManagementPortlet() { super();/*from w w w.j a va 2 s . co m*/ List tabs; principalParam = getPreference(principalParamName); if (principalParam == null) { principalParam = getInitParam(principalParamName).toLowerCase(); } principalType = getServiceLocator().getJetspeedPrincipalManagerProvider().getPrincipalType(principalParam); String filteredRole = getPreference("filteredRole", ""); if (principalParam.equals(JetspeedPrincipalType.USER)) { principalDataProvider = new PrincipalDataProvider(getManager(), getRoleManager(), getSearchString(), filteredRole, true); } else { principalDataProvider = new PrincipalDataProvider(getManager(), getSearchString()); } ITab tab = null; tabs = new ArrayList(); group = new WebMarkupContainer("group"); group.setOutputMarkupId(true); final DataView<JetspeedPrincipal> principalView = new DataView<JetspeedPrincipal>("entries", principalDataProvider) { @Override protected void populateItem(Item<JetspeedPrincipal> item) { final JetspeedPrincipal user = (JetspeedPrincipal) item.getModelObject(); Link editLink = new Link("link", item.getModel()) { @Override public void onClick() { JetspeedPrincipal user = (JetspeedPrincipal) getModelObject(); setPrincipal(user); controlPannels(true); } }; editLink.add(new Label("name", user.getName())); item.add(editLink); } }; principalView.setItemsPerPage(10); group.add(principalView); OrderByLink orderLink = new OrderByLink("nameOrderLink", "name", principalDataProvider, VoidCssProvider.getInstance()) { protected void onSortChanged() { if (principalDataProvider.getOrderBy() == OrderBy.NAME_ASC) { principalDataProvider.setOrderBy(OrderBy.NAME_DESC); } else { principalDataProvider.setOrderBy(OrderBy.NAME_ASC); } principalDataProvider.sort(); principalView.setCurrentPage(0); }; }; group.add(new Label("principal", new ResourceModel(principalParam))); orderLink.add(new Label("nameSort", new ResourceModel(principalParam))); group.add(orderLink); group.add(new AjaxPagingNavigator("navigator", principalView)); add(group); Form searchForm = new Form("searchForm") { protected void onSubmit() { setPrincipal(null); } }; TextField searchStringField = new TextField("searchString", new PropertyModel(this, "searchString")); searchForm.add(searchStringField); Button searchbutton = new Button("searchButton", new ResourceModel("common.search")); searchForm.add(searchbutton); Button newPrincipal = new Button("newPrincipal", new ResourceModel(principalParam + ".new.button")) { public void onSubmit() { setPrincipal(null); controlPannels(false); } }; searchForm.add(newPrincipal); add(searchForm); Label label = new Label("userLabel", new ResourceModel(principalParam + ".name")); label.setVisible(false); add(label); TextField fld = new TextField("userName", new PropertyModel(this, "principal.name")); fld.setVisible(false); add(fld); add(new TabbedPanel("tabs", tabs)); controlPannels(false); }
From source file:org.apache.openmeetings.web.user.profile.MessagesContactsPanel.java
License:Apache License
public MessagesContactsPanel(String id) { super(id);/*from ww w . j a v a2s.co m*/ NOT_MOVE_FOLDER.setId(MOVE_CHOOSE); NOT_MOVE_FOLDER.setFolderName(Application.getString(1243)); foldersModel.setObject(getBean(PrivateMessageFolderDao.class).get(0, Integer.MAX_VALUE)); updateMoveModel(); final AddFolderDialog addFolder = new AddFolderDialog("addFolder") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target) { super.onSubmit(target); PrivateMessageFolderDao fDao = getBean(PrivateMessageFolderDao.class); fDao.addPrivateMessageFolder(getModelObject(), getUserId()); foldersModel.setObject(fDao.get(0, Integer.MAX_VALUE)); updateMoveModel(); target.add(folders, moveDropDown); } }; add(addFolder); add(new JQueryBehavior(".email.new", "button")); folders.add(inbox.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { selectFolder(inbox, INBOX_FOLDER_ID, target); } })); folders.add(sent.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { selectFolder(sent, SENT_FOLDER_ID, target); } })); folders.add(trash.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { selectFolder(trash, TRASH_FOLDER_ID, target); } })); folders.add(new WebMarkupContainer("newdir").add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { addFolder.open(target); } }).add(new JQueryBehavior(".email.newdir", "button"))); add(folders.add(new ListView<PrivateMessageFolder>("folder", foldersModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem<PrivateMessageFolder> item) { item.add(new Label("name", item.getModelObject().getFolderName())); item.add(new ConfirmableAjaxBorder("delete", getString("80"), getString("833")) { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { attributes.setEventPropagation(EventPropagation.STOP_IMMEDIATE); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { PrivateMessageFolderDao fDao = getBean(PrivateMessageFolderDao.class); fDao.delete(item.getModelObject(), getUserId()); foldersModel.setObject(fDao.get(0, Integer.MAX_VALUE)); updateMoveModel(); target.add(folders, moveDropDown); } }); item.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { selectFolder(item, item.getModelObject().getId(), target); } }); setFolderClass(item); } }).setOutputMarkupId(true)); SearchableDataProvider<PrivateMessage> sdp = new SearchableDataProvider<PrivateMessage>( PrivateMessageDao.class) { private static final long serialVersionUID = 1L; @Override protected PrivateMessageDao getDao() { return (PrivateMessageDao) super.getDao(); } @Override public Iterator<? extends PrivateMessage> iterator(long first, long count) { allMessages.clear(); readMessages.clear(); unreadMessages.clear(); String sort = getSort() == null ? "" : "m." + getSort().getProperty(); boolean isAsc = getSort() == null ? true : getSort().isAscending(); return getDao().get(getUserId(), selectedFolderModel.getObject(), search, sort, isAsc, (int) first, (int) count).iterator(); } @Override public long size() { return getDao().count(getUserId(), selectedFolderModel.getObject(), search); } }; final SearchableDataView<PrivateMessage> dv = new SearchableDataView<PrivateMessage>("messages", sdp) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<PrivateMessage> item) { PrivateMessage m = item.getModelObject(); final Long id = m.getId(); allMessages.add(id); if (m.getIsRead()) { readMessages.add(id); } else { unreadMessages.add(id); } item.add(new Label("id", id)); item.add(new Label("from", getDisplayName(m.getFrom()))); item.add(new Label("subject", m.getSubject())); item.add(new Label("send", getDateFormat().format(m.getInserted()))); item.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { long selected = id; if (selectedMessages.contains(id)) { selectedMessages.remove(id); selected = selectedMessages.isEmpty() ? -1 : selectedMessages.iterator().next(); } else { selectedMessages.add(id); } selectMessage(selected, target); target.add(container); } }); StringBuilder cssClass = new StringBuilder(m.getIsRead() ? "" : "unread"); if (selectedMessages.contains(id)) { if (cssClass.length() > 0) { cssClass.append(" "); } cssClass.append("ui-state-active"); } item.add(AttributeModifier.replace("class", cssClass.toString())); } }; PagedEntityListPanel navigator = new PagedEntityListPanel("navigator", dv) { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { emptySelection(target); target.add(container); } }; dataContainer = new DataViewContainer<PrivateMessage>(container, dv, navigator); dataContainer.addLink(new OmOrderByBorder<PrivateMessage>("orderById", "id", dataContainer)) .addLink(new OmOrderByBorder<PrivateMessage>("orderByFrom", "from.lastname", dataContainer)) .addLink(new OmOrderByBorder<PrivateMessage>("orderBySubject", "subject", dataContainer)) .addLink(new OmOrderByBorder<PrivateMessage>("orderBySend", "inserted", dataContainer)); add(dataContainer.getLinks()); add(navigator); add(unread.setOutputMarkupId(true)); add(buttons.setOutputMarkupId(true)); buttons.add(toInboxBtn.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, INBOX_FOLDER_ID); selectFolder(selectedFolder, selectedFolderModel.getObject(), target); } })); buttons.add(deleteBtn.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { if (TRASH_FOLDER_ID.equals(selectedFolderModel.getObject())) { getBean(PrivateMessageDao.class).delete(selectedMessages); } else { getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, TRASH_FOLDER_ID); } emptySelection(target); target.add(container); } })); buttons.add(readBtn.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { getBean(PrivateMessageDao.class).updateReadStatus(selectedMessages, true); emptySelection(target); target.add(container, unread); } })); buttons.add(unreadBtn.add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { getBean(PrivateMessageDao.class).updateReadStatus(selectedMessages, false); emptySelection(target); target.add(container); } })); buttons.add(selectDropDown.setOutputMarkupId(true).add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { switch (selectDropDown.getModelObject()) { case SELECT_CHOOSE: break; case SELECT_ALL: selectedMessages.clear(); selectedMessages.addAll(allMessages); break; case SELECT_NONE: selectedMessages.clear(); break; case SELECT_UNREAD: selectedMessages.clear(); selectedMessages.addAll(unreadMessages); break; case SELECT_READ: selectedMessages.clear(); selectedMessages.addAll(readMessages); break; } target.add(container); } })); buttons.add(moveDropDown.setOutputMarkupId(true).add(new OnChangeAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void onUpdate(AjaxRequestTarget target) { Long folderId = moveDropDown.getModelObject().getId(); if (!MOVE_CHOOSE.equals(folderId)) { getBean(PrivateMessageDao.class).moveMailsToFolder(selectedMessages, folderId); } selectFolder(selectedFolder, selectedFolderModel.getObject(), target); } })); selectMessage(-1, null); add(container.add(dv).setOutputMarkupId(true)); //TODO add valid autoupdate add(new AjaxSelfUpdatingTimerBehavior(seconds(15))); add(selectedMessage.add(roomContainer.setVisible(false)).setOutputMarkupId(true)); IDataProvider<UserContact> dp = new IDataProvider<UserContact>() { private static final long serialVersionUID = 1L; @Override public void detach() { } @Override public Iterator<? extends UserContact> iterator(long first, long count) { return getBean(UserContactDao.class).get(getUserId(), (int) first, (int) count).iterator(); } @Override public long size() { return getBean(UserContactDao.class).count(getUserId()); } @Override public IModel<UserContact> model(UserContact object) { return Model.of(object); } }; final DataView<UserContact> dw = new DataView<UserContact>("users", dp) { private static final long serialVersionUID = 1L; private String getName(UserContact uc) { return uc.getOwner().getFirstname() + " " + uc.getOwner().getLastname(); //FIXME salutation } @Override protected void populateItem(Item<UserContact> item) { UserContact uc = item.getModelObject(); final Long contactId = uc.getId(); final Long userId = uc.getOwner().getId(); if (uc.isPending()) { item.add(AttributeModifier.append("class", "unread")); } item.add(new Label("name", getName(uc))); item.add(new WebMarkupContainer("accept").add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { ContactsHelper.acceptUserContact(contactId); updateContacts(target); } }).setVisible(uc.isPending())); item.add(new WebMarkupContainer("decline").add(new AjaxEventBehavior("click") { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { getBean(UserContactDao.class).delete(contactId); updateContacts(target); } }).setVisible(uc.isPending())); item.add(new WebMarkupContainer("view") .add(AttributeAppender.append("onclick", String.format("showUserInfo(%s);", userId)))); item.add(new WebMarkupContainer("message") .add(AttributeAppender.append("onclick", String.format("privateMessage(%s);", userId))) .setVisible(!uc.isPending())); item.add(new ConfirmableAjaxBorder("delete", getString("80"), getString("833")) { private static final long serialVersionUID = 1L; @Override protected void updateAjaxAttributes(AjaxRequestAttributes attributes) { attributes.setEventPropagation(EventPropagation.STOP_IMMEDIATE); } @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { getBean(UserContactDao.class).delete(contactId); updateContacts(target); } }.setVisible(!uc.isPending())); } }; updateContacts(null); add(contacts.add(dw, pendingContacts, allContacts).setOutputMarkupId(true));//TODO update //hack to add FixedHeaderTable after Tabs. add(new AbstractDefaultAjaxBehavior() { private static final long serialVersionUID = 1L; @Override protected void respond(AjaxRequestTarget target) { selectFolder(inbox, INBOX_FOLDER_ID, target); selectMessage(-1, target); } @Override public void renderHead(Component component, IHeaderResponse response) { super.renderHead(component, response); response.render(OnDomReadyHeaderItem.forScript(getCallbackScript())); } }); }
From source file:org.apache.openmeetings.web.user.profile.UserSearchPanel.java
License:Apache License
public UserSearchPanel(String id) { super(id);/*from w w w .ja va2 s .co m*/ add(new Form<Void>("form") { private static final long serialVersionUID = 1L; { add(new TextField<String>("text", new PropertyModel<String>(UserSearchPanel.this, "text"))); add(new TextField<String>("offer", new PropertyModel<String>(UserSearchPanel.this, "offer"))); add(new TextField<String>("search", new PropertyModel<String>(UserSearchPanel.this, "search"))); add(new AjaxButton("submit") { private static final long serialVersionUID = 1L; @Override protected void onSubmit(AjaxRequestTarget target, Form<?> form) { searched = true; refresh(target); } }); } }); IDataProvider<User> dp = new IDataProvider<User>() { private static final long serialVersionUID = 1L; @Override public void detach() { } @Override public Iterator<? extends User> iterator(long first, long count) { return searched ? getBean(UserDao.class).searchUserProfile(getUserId(), text, offer, search, orderBy, (int) first, (int) count, asc).iterator() : new ArrayList<User>().iterator(); } @Override public long size() { return searched ? getBean(UserDao.class).searchCountUserProfile(getUserId(), text, offer, search) : 0; } @Override public IModel<User> model(User object) { return new CompoundPropertyModel<User>(object); } }; final DataView<User> dw = new DataView<User>("users", dp) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<User> item) { final UserContactDao contactsDao = getBean(UserContactDao.class); User u = item.getModelObject(); final long userId = u.getId(); item.add(new WebMarkupContainer("status") .add(AttributeModifier.append("class", isUserOnline(userId) ? "online" : "offline"))); item.add(new Label("name", getName(u))); item.add(new Label("tz", getBean(TimezoneUtil.class).getTimeZone(u).getID())); item.add(new Label("offer", u.getUserOffers())); item.add(new Label("search", u.getUserSearchs())); item.add(new WebMarkupContainer("view") .add(AttributeAppender.append("onclick", String.format("showUserInfo(%s);", userId)))); item.add(new WebMarkupContainer("add") .setVisible(userId != getUserId() && !contactsDao.isContact(userId, getUserId())) .add(AttributeAppender.append("onclick", String.format("addContact(%s);", userId)))); item.add(new WebMarkupContainer("message").setVisible(userId != getUserId()) .add(AttributeAppender.append("onclick", String.format("privateMessage(%s);", userId)))); item.add(new WebMarkupContainer("invite").setVisible(userId != getUserId()) .add(AttributeAppender.append("onclick", String.format("inviteUser(%s);", userId)))); //item.add(new TooltipBehavior(new Options("content", "TODO:: Picture will be displayed"))); //FIXME } }; add(container.add(dw, new PagingNavigatorPanel("navigator", dw, itemsPerPage, 100) { private static final long serialVersionUID = 1L; @Override protected void onEvent(AjaxRequestTarget target) { refresh(target); } }).setOutputMarkupId(true)); }
From source file:org.artifactory.common.wicket.component.deletable.listview.DeletableLabelGroup.java
License:Open Source License
public DeletableLabelGroup(String id, IModel<Collection<T>> collectionModel, IChoiceRenderer<T> renderer) { super(id, collectionModel); setRenderer(renderer);/*from w w w . j a va2 s .c o m*/ setOutputMarkupId(true); dataView = new DataView<T>("item", new LabelsDataProvider()) { @Override protected void populateItem(Item<T> item) { final T value = item.getModelObject(); String itemText = getDisplayValue(value); item.add(newLabel(value, itemText)); } }; add(dataView); add(new MoreIndicator("more")); }
From source file:org.artifactory.webapp.wicket.page.browse.simplebrowser.VirtualRepoBrowserPanel.java
License:Open Source License
public VirtualRepoBrowserPanel(String id, RepoPath repoPath, Properties requestProps) { super(id);//from w w w.j a v a2 s .c o m add(new CssClass("virtual-repo-browser")); add(new BreadCrumbsPanel("breadCrumbs", repoPath.getId())); final String hrefPrefix = RequestUtils.getWicketServletContextUrl(); //Try to get a virtual repo List<BaseBrowsableItem> browsableChildren; try { BrowsableItemCriteria.Builder builder = new BrowsableItemCriteria.Builder(repoPath) .requestProperties(requestProps); boolean includeChecksums = !ConstantValues.uiHideChecksums.getBoolean(); builder.includeChecksums(includeChecksums); BrowsableItemCriteria criteria = builder.build(); browsableChildren = repoBrowsingService.getVirtualRepoBrowsableChildren(criteria); if (!includeChecksums) { browsableChildren = BrowseUtils.filterChecksums(browsableChildren); } } catch (Exception e) { log.debug("Exception occurred while trying to get browsable children for repo path " + repoPath, e); throw new AbortWithHttpErrorCodeException(HttpServletResponse.SC_NOT_FOUND); } browsableChildren.add(getPseudoUpLink(repoPath)); final String repoKey = repoPath.getRepoKey(); //Add a table for the dirItems DirectoryItemsDataProvider dataProvider = new DirectoryItemsDataProvider( Lists.newArrayList(browsableChildren)); DataView table = new DataView<BaseBrowsableItem>("items", dataProvider) { @Override protected void populateItem(final Item<BaseBrowsableItem> listItem) { BaseBrowsableItem browsableItem = listItem.getModelObject(); String itemRelativePath = browsableItem.getRelativePath(); AbstractLink itemLink; if (StringUtils.isEmpty(browsableItem.getRepoKey())) { //Up link to the list of repositories itemLink = createRootLink(); } else { String itemName = browsableItem.getName(); if (browsableItem.isFolder() && StringUtils.isNotBlank(itemRelativePath)) { itemRelativePath += "/"; itemName += itemName.equals(BrowsableItem.UP) ? "" : "/"; } String hrefBuilder = hrefPrefix + "/" + SIMPLE_BROWSING_PATH + "/" + repoKey + "/" + itemRelativePath; itemLink = new ExternalLink("link", hrefBuilder, itemName); } itemLink.add(new CssClass(getCssClass(browsableItem))); listItem.add(itemLink); addGlobeIcon(listItem, browsableItem.isRemote()); final List<String> repoKeys = (browsableItem instanceof VirtualBrowsableItem) ? ((VirtualBrowsableItem) browsableItem).getRepoKeys() : Collections.<String>emptyList(); final String finalRelativePath = itemRelativePath; ListView<String> repositoriesList = new ListView<String>("repositoriesList", repoKeys) { @Override protected void populateItem(ListItem<String> repoKeyListItem) { String repoItemKey = repoKeyListItem.getModelObject(); String localRepoHref = hrefPrefix + "/" + repoItemKey + "/" + finalRelativePath; ExternalLink repoItemLink = new ExternalLink("repoKey", localRepoHref, repoItemKey); repoItemLink.add(new CssClass("item-link")); repoKeyListItem.add(repoItemLink); } }; listItem.add(repositoriesList); listItem.add(new AttributeModifier("class", new AbstractReadOnlyModel() { @Override public Object getObject() { return (listItem.getIndex() % 2 == 0) ? "even" : "odd"; } })); } }; //Add sorting decorator add(new OrderByBorder("orderByName", "name", dataProvider)); add(table); }
From source file:org.artifactory.webapp.wicket.page.config.repos.virtual.VirtualRepoBasicPanel.java
License:Open Source License
public VirtualRepoBasicPanel(String id, CreateUpdateAction action, VirtualRepoDescriptor repoDescriptor, CachingDescriptorHelper cachingDescriptorHelper) { super(id);// w w w . j a v a 2 s . co m this.action = action; this.repoDescriptor = repoDescriptor; this.cachingDescriptorHelper = cachingDescriptorHelper; add(new RepoGeneralSettingsPanel("generalSettings")); // resolved repos final WebMarkupContainer resolvedRepo = new WebMarkupContainer("resolvedRepoWrapper"); resolvedRepo.setOutputMarkupId(true); add(resolvedRepo); add(new HelpBubble("resolvedRepo.help", new ResourceModel("resolvedRepo.help"))); resolvedRepo.add(new DataView<RealRepoDescriptor>("resolvedRepo", new ResolvedReposDataProvider()) { @Override protected void populateItem(Item<RealRepoDescriptor> item) { RepoDescriptor repo = item.getModelObject(); item.add(new Label("key", repo.getKey())); WebMarkupContainer note = new WebMarkupContainer("note"); item.add(note); if (!isLayoutCompatible(repo)) { note.replaceWith(new Label("note", "!")); } } }); // repositories List<RepoDescriptor> repos = getReposExcludingCurrent(); DragDropSelection<RepoDescriptor> reposSelection = new IconDragDropSelection<RepoDescriptor>("repositories", repos) { @Override protected void onOrderChanged(AjaxRequestTarget target) { super.onOrderChanged(target); target.add(resolvedRepo); ModalHandler.resizeCurrent(); } }; add(reposSelection); add(new SchemaHelpBubble("repositories.help")); }
From source file:org.cast.cwm.admin.SiteListPage.java
License:Open Source License
public SiteListPage(PageParameters parameters) { super(parameters); IDataProvider<Site> siteProvider = siteService.listSitesPageable(); // If no sites in datastore, jump directly to creating a site if (siteProvider.size() == 0) { setResponsePage(adminPageService.getSiteEditPage()); return;/*from w w w.ja v a 2 s . c om*/ } // A list of Site objects for the application siteList = new DataView<Site>("siteList", siteProvider) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<Site> item) { // Link to edit site directly item.add(adminPageService.getSiteEditPageLink("siteLink", item.getModel()) .add(new Label("name", item.getModelObject().getName()))); DeletePersistedObjectDialog<Site> dialog = new DeletePersistedObjectDialog<Site>("deleteSiteModal", item.getModel()) { private static final long serialVersionUID = 1L; @Override protected void deleteObject() { cwmService.delete(getModel()); } }; item.add(dialog); item.add(new WebMarkupContainer("deleteSiteLink") .add(dialog.getDialogBorder().getClickToOpenBehavior())); // List of periods for the site RepeatingView rv = new RepeatingView("periodList"); item.add(rv); for (Period p : item.getModelObject().getPeriods()) { WebMarkupContainer c = new WebMarkupContainer(rv.newChildId()); rv.add(c); c.add(adminPageService.getPeriodEditPageLink("periodLink", modelProvider.modelOf(p)) .add(new Label("name", p.getName()))); } // Link to add a new period to the site directly item.add(adminPageService.getNewPeriodEditPageLink("newPeriodLink", item.getModel())); } }; siteList.setOutputMarkupId(true); add(siteList); // Link to add a new site add(adminPageService.getNewSiteEditPageLink("newSiteLink")); }