Example usage for org.apache.wicket.markup.html.list ListView ListView

List of usage examples for org.apache.wicket.markup.html.list ListView ListView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView ListView.

Prototype

public ListView(final String id, final List<T> list) 

Source Link

Usage

From source file:com.userweave.pages.configuration.study.FilterOverviewPage.java

License:Open Source License

/**
 * Factory method to create a list view of filters.
 * /*  w w  w. java 2  s. c  o  m*/
 * @return
 *       A container with a list view as child component.
 */
private WebMarkupContainer createListView() {
    WebMarkupContainer container = new WebMarkupContainer("listViewContainer");

    container.setOutputMarkupId(true);

    ListView<Group> lv = new ListView<Group>("groups", getFilterGroups()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<Group> item) {
            final Group group = item.getModelObject();

            item.add(new Label("filterName", group.getName()));

            if (group instanceof QuestionnaireGroup) {
                item.add(new Label("type",
                        new LocalizedPropertyModel(group, "question.name", getStudy().getLocale())));

                final QuestionnaireGroup questionnaireGroup = (QuestionnaireGroup) item.getModelObject();

                final Class<? extends QuestionnaireGroup> class1 = questionnaireGroup.getClass();

                final Integer groupId = questionnaireGroup.getId();

                item.add(new AuthOnlyAjaxLink("delete") {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        QuestionnaireConfigurationEntity configuration = questionnaireConfigurationDao
                                .findById(questionnaireGroup.getQuestion().getConfiguration().getId());

                        QuestionnaireGroup deleteGroup = questionnaireGroupDao.findById(class1, groupId);

                        configuration.removeFromGroups(deleteGroup);

                        questionnaireGroupDao.delete(deleteGroup);

                        replaceListView(target);

                        UserWeaveSession.get().setHasStateToBeChanged(true);
                    }

                });
            } else {
                item.add(new WebMarkupContainer("type"));

                StudyGroup studyGroup = (StudyGroup) item.getModelObject();

                final Class<? extends StudyGroup> class1 = studyGroup.getClass();

                final Integer groupId = studyGroup.getId();

                item.add(new AuthOnlyAjaxLink("delete") {
                    private static final long serialVersionUID = 1L;

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        StudyGroup deleteGroup = studyGroupDao.findById(class1, groupId);

                        getStudy().removeFromGroups(deleteGroup);

                        studyGroupDao.delete(deleteGroup);

                        replaceListView(target);

                        UserWeaveSession.get().setHasStateToBeChanged(true);
                    }

                });
            }
        }
    };

    container.add(lv);

    return container;
}

From source file:com.userweave.pages.configuration.study.localization.LanguageActivationPanel.java

License:Open Source License

protected void init() {

    User user = UserWeaveSession.get().getUser();

    final boolean isAuthorized = user.getCurrentProjectRoles().hasRole(Role.PROJECT_ADMIN)
            || user.getCurrentProjectRoles().hasRole(Role.PROJECT_PARTICIPANT);

    Form form = new Form("form");

    form.setVisible(isAuthorized);//from  w ww .  ja v a2 s  .  com

    CheckGroup group = new CheckGroup("group", new PropertyModel(getDefaultModel(), "supportedLocales"));

    group.add(new ListView("checkboxes", getAdditionalLocales()) {
        @Override
        protected void populateItem(ListItem item) {
            item.add(new Check("check", item.getModel()));
            item.add(new Label("locale", new LocaleModel(item.getModel(), getLocale())));
        }

    });

    group.add(new AjaxFormChoiceComponentUpdatingBehavior() {
        @Override
        protected void onUpdate(AjaxRequestTarget target) {
            Study study = getStudy();
            study.getSupportedLocales().add(study.getLocale());
            studyDao.save(study);
            onChange(target);
        }
    });

    form.add(group);

    // dispay a list of available languages if user is visitor
    ListView langList = new ListView("langList", new PropertyModel(getDefaultModel(), "supportedLocales")) {
        @Override
        protected void populateItem(ListItem item) {
            Locale locale = (Locale) item.getModelObject();

            item.add(new Label("locale", locale.getDisplayLanguage(getLocale())));
        }

        @Override
        public boolean isVisible() {
            return !isAuthorized;
        }
    };

    add(langList);
    add(form);
}

From source file:com.userweave.pages.configuration.study.localization.StudyLocalizationPanel.java

License:Open Source License

/**
 * Factory method to create a new list view, which displays 
 * all configurable locales./*from w w  w  .ja  va  2s  . c o m*/
 * 
 * @return
 *       A web markup container, wrapping a list view.
 */
private WebMarkupContainer getListView() {
    IModel<List<Locale>> localeChoiceModel = new LoadableDetachableModel<List<Locale>>() {
        private static final long serialVersionUID = 1L;

        @Override
        protected List<Locale> load() {
            return getStudy().getSupportedLocalesWithoutMainLocale();
        }

    };

    // each list view item has a label for the locale name,
    // a link to his translation page an a delete button.
    ListView<Locale> lv = new ListView<Locale>("localeList", localeChoiceModel) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Locale> item) {
            item.add(new Label("locale", new LocaleModel(item.getModel(), getLocale())));

            PageParameters parameters = new PageParameters();

            parameters.set(1, item.getModelObject().toString());
            parameters.set(0, getStudy().getHashCode());

            item.add(new AuthOnlyBookmarkablePageLink("open", TranslationPage.class, parameters));

            item.add(createDeleteLink(item));
        }
    };

    WebMarkupContainer container = new WebMarkupContainer("localesContainer");
    container.add(lv);
    container.setOutputMarkupId(true);

    return container;
}

From source file:com.userweave.pages.grouping.StudyLocalesGroupingPanel.java

License:Open Source License

public StudyLocalesGroupingPanel(String id, Study study, StudyLocalesGroup group, Locale locale,
        GroupAddedCallback groupAddedCallback) {
    super(id, group, locale, groupAddedCallback);

    studyId = study.getId();/*from   www .j a  v  a 2 s.c  o m*/

    CheckGroup locales = new CheckGroup("locales", new PropertyModel(this, "locales"));

    add(locales);

    IModel possibleLocalesModel = new LoadableDetachableModel() {
        @Override
        protected Object load() {
            Study study = studyDao.findById(studyId);
            return study.getSupportedLocales();
        }
    };

    locales.add(new ListView("values", possibleLocalesModel) {
        @Override
        protected void populateItem(ListItem item) {
            item.add(new Check("check", item.getModel()));
            item.add(new Label("content", item.getModelObject().toString()));
        };
    });
}

From source file:com.userweave.pages.user.overview.UserOverviewPanel.java

License:Open Source License

private void initUI() {
    LoadableDetachableModel userListModel = new LoadableDetachableModel() {

        @Override/*w  w w .jav a2s. co m*/
        protected Object load() {
            /*
             * GroupingComparator comparator = GroupingComparator .build(new
             * Comparator[] { new StudyStateComparator(), new
             * EntityBaseComparator() }); Set<Study> sorted = new TreeSet<Study>(comparator);
             * User user = UserWeaveSession.get().getUser();
             * if(user.isAdmin()) { sorted.addAll(studyDao.findAll()); }
             * else { sorted.addAll(studyDao.findByOwner(user)); } return
             * new ArrayList<Study>(sorted);
             */
            return userDao.findAllByEmail();
        }
    };

    add(new AjaxLink("create") {
        @Override
        public void onClick(AjaxRequestTarget target) {
            onEditUser(target, null);
        }
    });

    add(new ListView("listview", userListModel) {

        @Override
        protected IModel getListItemModel(IModel model, int index) {
            IModel listItemModel = super.getListItemModel(model, index);
            final int userId = ((User) listItemModel.getObject()).getId();

            return new CompoundPropertyModel(new LoadableDetachableModel() {

                @Override
                protected Object load() {
                    return userDao.findById(userId);
                }
            });
        }

        @Override
        protected void populateItem(final ListItem item) {
            final int userId = ((User) item.getModelObject()).getId();

            item.add(new AjaxLink("edit") {

                @Override
                public void onClick(AjaxRequestTarget target) {
                    onEditUser(target, userId);
                }
            }.add(new Label("email")));

            item.add(new AjaxCheckBox("subscription") {

                @Override
                protected void onUpdate(AjaxRequestTarget target) {
                    User cur = ((User) item.getModelObject());
                    userDao.save(cur);
                }

                @Override
                public boolean isVisible() {
                    return !((User) item.getModelObject()).isAdmin();
                }
            });

            item.add(
                    new Label("subscription_label", new StringResourceModel("subscription_label", this, null)) {
                        @Override
                        public boolean isVisible() {
                            return !((User) item.getModelObject()).isAdmin();
                        }
                    });

            if (item.getIndex() == 0) {
                item.add(new SimpleAttributeModifier("class", "even_first"));
            } else if (isOdd)
                item.add(new SimpleAttributeModifier("class", "odd"));
            else
                item.add(new SimpleAttributeModifier("class", "even"));

            isOdd = !isOdd;

            /*
             * Link deleteLink = new DeleteLink("delete", item);
             * 
             * deleteLink.add(new SimpleAttributeModifier("onclick", "return
             * confirm('Are you sure?');"));
             * 
             * item.add(deleteLink);
             */
        }
    });
}

From source file:com.visural.stereotyped.ui.StereotypeListPanel.java

License:Mozilla Public License

public StereotypeListPanel(String id, IModel<String> title, IModel<List<UUID>> model,
        final StereotypeManagePanel managePanel) {
    super(id);// w w  w.  j  a va2s  .  com
    add(new Label("title", title));
    add(previewStateDialog = new PreviewStatePreviewDialog("previewStateDialog"));
    ListView<UUID> list = new ListView<UUID>("list", model) {

        @Override
        protected void populateItem(final ListItem<UUID> item) {
            Stereotype st = service.read(item.getModelObject());
            if (st == null) {
                item.setVisible(false);
                return; // shouldn't happen, but in case a bad UUID get's added to list
            }
            final String stName = st.getName();
            final AjaxLink desc = new AjaxLink("itemOpen") {
                @Override
                public void onClick(AjaxRequestTarget target) {
                    managePanel.select(target, item.getModelObject());
                    target.addComponent(managePanel);
                }
            };
            desc.add(new Image("icon", new IconReference(Icon.PROPERTIES)));
            item.add(desc);

            StereotypeUIMetaData meta = service.readUIMeta(item.getModelObject());
            String userDesc = meta.getOwner().equals(userService.getCurrentUser()) ? ""
                    : "(" + meta.getOwner() + ")";
            item.add(new Label("userDesc", userDesc));

            WebMarkupContainer previewButton;
            if (service.read(item.getModelObject()).getPreviewStates().isEmpty()) {
                previewButton = new WebMarkupContainer("preview");
                previewButton.add(new SimpleAttributeModifier("href",
                        "preview/" + StringUtil.urlEncode(item.getModelObject().toString()) + "/"));
                previewButton.add(new SimpleAttributeModifier("target", item.getModelObject().toString()));
                item.add(previewButton);
            } else {
                item.add(previewButton = new AjaxLink("preview") {

                    @Override
                    public void onClick(AjaxRequestTarget target) {
                        previewStateDialog.open(target, item.getModelObject());
                    }

                });
            }
            previewButton.add(new Image("icon", new IconReference(Icon.PREVIEW)));

            item.add(new BookmarkablePageLink("itemDesc", PrototypeEditor.class,
                    new PageParameters(StdParam.LOAD_ID + "=" + item.getModelObject())) {
                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    replaceComponentTagBody(markupStream, openTag, StringUtil.htmlEscape(stName));
                }
            });
        }
    };
    add(list);
}

From source file:com.wickettasks.web.pages.TasksPage.java

License:Open Source License

public TasksPage(PageParameters parameters) {

    this.taskListId = Integer.valueOf(parameters.getInt("taskListId"));
    this.userId = WicketTasksSession.get().getUserId();

    final IModel tasks = new LoadableDetachableModel() {

        private static final long serialVersionUID = 6025219231860695439L;

        @Override//from   w w  w.  j av a 2 s.co m
        protected Object load() {
            return TasksPage.this.taskService.findByTaskListIdAndUserId(TasksPage.this.taskListId,
                    TasksPage.this.userId);
        }
    };

    add(new PageLink("taskListsPageLink", UserTaskListsPage.class));

    add(new Label("taskListName", new LoadableDetachableModel() {

        private static final long serialVersionUID = 1598798159290381978L;

        @Override
        protected Object load() {
            TaskList taskList = TasksPage.this.taskListService
                    .findByTaskListIdAndUserId(TasksPage.this.taskListId, TasksPage.this.userId);
            return taskList.getName();
        }

    }));

    WebMarkupContainer tasksDiv = new WebMarkupContainer("tasksDiv") {

        private static final long serialVersionUID = 3449396171479717013L;

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            return !((List<TaskList>) tasks.getObject()).isEmpty();
        }

    };

    add(tasksDiv);

    tasksDiv.add(new ListView("taskList", tasks) {

        private static final long serialVersionUID = 86745945345971L;

        @Override
        protected void populateItem(final ListItem item) {

            Task task = (Task) item.getModelObject();
            final String content = task.getContent();
            final Integer taskId = task.getId();
            final Boolean completed = task.getCompleted();

            Label contentLabel = new Label("content", content);
            item.add(contentLabel);
            if (completed.booleanValue()) {
                contentLabel.add(new SimpleAttributeModifier("class", "completed"));
            }

            item.add(new Link("complete") {

                private static final long serialVersionUID = -2560837622401317239L;

                @Override
                public void onClick() {
                    try {
                        TasksPage.this.taskService.complete(taskId, TasksPage.this.userId);
                        PageParameters tasksPageParameters = new PageParameters();
                        tasksPageParameters.put("taskListId", TasksPage.this.taskListId);
                        setResponsePage(TasksPage.class, tasksPageParameters);
                    } catch (AccessRestrictionException e) {
                        error("Error marking your task as completed");
                    }
                }

                @Override
                public boolean isVisible() {
                    return !completed.booleanValue();
                }

            });

        }

    });

    add(new NewTaskForm("newTaskForm", this.taskListId, this.userId));

}

From source file:com.wickettasks.web.pages.UserTaskListsPage.java

License:Open Source License

public UserTaskListsPage() {
    this.userId = WicketTasksSession.get().getUserId();

    final IModel taskListsModel = new LoadableDetachableModel() {

        private static final long serialVersionUID = -9221220907456213207L;

        protected Object load() {
            return UserTaskListsPage.this.taskListService.findByUserId(UserTaskListsPage.this.userId);
        }//from  www . ja  v  a  2  s.c  o m
    };

    add(new Label("tip", "Start by adding a task list") {

        private static final long serialVersionUID = -957582705825209906L;

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            return ((List<TaskList>) taskListsModel.getObject()).isEmpty();
        }

    });

    WebMarkupContainer taskListDiv = new WebMarkupContainer("taskListDiv") {

        private static final long serialVersionUID = 3449396171479717013L;

        @SuppressWarnings("unchecked")
        @Override
        public boolean isVisible() {
            return !((List<TaskList>) taskListsModel.getObject()).isEmpty();
        }

    };

    add(taskListDiv);

    taskListDiv.add(new ListView("taskLists", taskListsModel) {

        private static final long serialVersionUID = 123423424L;

        @Override
        protected void populateItem(ListItem item) {

            TaskList taskList = (TaskList) item.getModelObject();
            final Integer taskListId = taskList.getId();

            Link tasksLink = new Link("tasksLink") {

                private static final long serialVersionUID = -2560837622401317239L;

                @Override
                public void onClick() {
                    PageParameters tasksPageParameters = new PageParameters();
                    tasksPageParameters.put("taskListId", taskListId);
                    setResponsePage(TasksPage.class, tasksPageParameters);
                }

            };

            tasksLink.add(new Label("name", new PropertyModel(item.getModel(), "name")));

            item.add(tasksLink);

            item.add(new Link("delete") {

                private static final long serialVersionUID = -2560837622401317239L;

                @Override
                public void onClick() {
                    try {
                        UserTaskListsPage.this.taskListService.delete(taskListId,
                                UserTaskListsPage.this.userId);
                        setResponsePage(UserTaskListsPage.class);
                    } catch (AccessRestrictionException e) {
                        error("Error deleting tasklist");
                    }
                }

            });
        }

    });

    add(new NewTaskListForm("newTaskListForm", this.userId));
}

From source file:com.wickettraining.modelproxy.example.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    final IModel<? extends List<? extends Person>> ldm = new LoadAllPeopleModel();
    Form<Void> form = new Form<Void>("form");
    form.add(new Button("cancel") {
        private static final long serialVersionUID = 1L;

        @Override/*ww w.  jav  a2  s . c  o  m*/
        public void onSubmit() {
            logger.debug("Button('cancel').onSubmit()");
            setResponsePage(getPageClass());
        }
    });
    form.add(new Button("save") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit() {
            logger.debug("Button('save').onSubmit()");
            doSaveAll(ldm);
            setResponsePage(getPageClass());
        }
    });
    add(form);
    form.add(new ListView<Person>("people", ldm) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Person> item) {
            item.setModel(wrapListItemModel(item.getModel()));
            final PersonViewPanel personViewPanel = new PersonViewPanel("content", item.getModel()) {
                private static final long serialVersionUID = 1L;

                protected void onEditClicked() {
                    logger.debug("HomePage#PersonViewPanel#onEditClicked()");
                    final PersonViewPanel pvp = this;
                    replaceWith(new PersonEditPanel(getId(), item.getModel()) {
                        private static final long serialVersionUID = 1L;

                        protected void formSubmitted() {
                            replaceWith(pvp);
                        }
                    });
                };
            };
            item.add(personViewPanel);
        }
    }.setReuseItems(true));
}

From source file:com.zh.snmp.snmpweb.config.ConfigNodePanel.java

License:Open Source License

public ConfigNodePanel(String id, ConfigNode node) {
    super(id);//ww w  .j  av a  2s.  c  o m
    add(new Label("code", node.getCode()));
    add(new Label("description", node.getDescription()));
    add(new ListView<SnmpCommand>("command", node.getCommands()) {
        @Override
        protected void populateItem(ListItem<SnmpCommand> item) {
            SnmpCommand command = item.getModelObject();
            item.add(new Label("cmdprior", Integer.toString(command.getPriority())));
            item.add(new ListView<OidCommand>("oids", command.getCommands()) {
                @Override
                protected void populateItem(ListItem<OidCommand> item) {
                    OidCommand cmd = item.getModelObject();
                    item.add(new Label("name", cmd.getName()));
                    item.add(new Label("oid", cmd.getOid()));
                    item.add(new Label("value", cmd.getValue()));
                }
            });
        }
    });
}