Example usage for org.apache.wicket.markup.repeater.data DataView DataView

List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater.data DataView DataView.

Prototype

protected DataView(String id, IDataProvider<T> dataProvider) 

Source Link

Usage

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"));
}