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

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

Introduction

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

Prototype

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

Source Link

Document

Construct with a "small," unmodeled List.

Usage

From source file:com.genericconf.bbbgateway.web.pages.HomePage.java

License:Apache License

public HomePage(final PageParameters parameters) {
    IModel<? extends List<? extends Meeting>> model = new LoadableDetachableModel<List<? extends Meeting>>() {
        private static final long serialVersionUID = 1L;

        @Override//from   ww  w.j a  v a 2s  . c om
        protected List<? extends Meeting> load() {
            return new ArrayList<Meeting>(meetingService.getMeetings());
        }
    };

    final WebMarkupContainer joinContainer = new WebMarkupContainer("joinContainer");
    joinContainer.setOutputMarkupPlaceholderTag(true).setVisible(false);
    add(joinContainer);

    final WebMarkupContainer placeholder = new WebMarkupContainer("tablePlaceholder");
    placeholder.add(new AbstractAjaxTimerBehavior(
            Duration.seconds(TimerSettings.INSTANCE.getSecondsBetweenHomePagePolls())) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void onTimer(AjaxRequestTarget target) {
            target.addComponent(placeholder);
            target.appendJavascript("initializeTableStuff();");
        }

    });
    final PropertyListView<Meeting> meetingList = new PropertyListView<Meeting>("meetings", model) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Meeting> item) {
            item.add(new Label("name"));
            item.add(new DateTimeLabel("startTime"));
            item.add(new Label("attendeesInMeeting"));
            item.add(new Label("attendeesWaiting"));
            item.add(new AjaxLink<Void>("join") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    JoinMeetingFormPanel panel = new JoinMeetingFormPanel(joinContainer.getId(),
                            item.getModel());
                    joinContainer.replaceWith(panel);
                    target.addComponent(panel);

                    panel.add(new SimpleAttributeModifier("style", "display: none;"));
                    panel.onAjaxRequest(target);

                    StringBuffer js = new StringBuffer().append("$('#").append(panel.getMarkupId())
                            .append("').dialog({ modal: true, title: 'Join Meeting' });");
                    target.appendJavascript(js.toString());
                }
            });
        }

    };
    meetingList.setOutputMarkupId(true);
    add(placeholder.setOutputMarkupId(true));
    placeholder.add(meetingList);
}

From source file:com.genericconf.bbbgateway.web.panels.AttendeeAndWaitingListPanel.java

License:Apache License

private Component createAttendeeList(final String id, IModel<? extends List<? extends Attendee>> listmodel) {
    ListView<Attendee> lv = new PropertyListView<Attendee>(id, listmodel) {
        private static final long serialVersionUID = 1L;

        @Override/*from   www. j a  v a 2  s  .co m*/
        protected void populateItem(final ListItem<Attendee> item) {
            item.setOutputMarkupId(true);
            item.add(new Label("name"));
            item.add(new Label("userID") {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return getDefaultModelObject() != null;
                }
            });
            item.add(new Label("role"));

            final WebMarkupContainer admin = new WebMarkupContainer("admin") {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible() {
                    return "waiters".equals(id) && allowAdminControls;
                }
            };
            item.add(admin.setOutputMarkupId(true));
            admin.add(new AjaxLink<Void>("allowToJoin") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    item.getModelObject().setAllowedToJoin(true);
                    target.addComponent(admin);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    final Attendee att = item.getModelObject();
                    String text = att.isAllowedToJoin() ? "already allowed in" : "allow to join";
                    replaceComponentTagBody(markupStream, openTag, text);
                }

                @Override
                public boolean isEnabled() {
                    return item.getModelObject().isAllowedToJoin() == false;
                }

            });
            admin.add(new AjaxLink<Void>("swapRole") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick(AjaxRequestTarget target) {
                    Role newRole = Role.VIEWER.equals(item.getModelObject().getRole()) ? Role.MODERATOR
                            : Role.VIEWER;
                    item.getModelObject().setRole(newRole);
                    target.addComponent(AttendeeAndWaitingListPanel.this);
                }

                @Override
                protected void onComponentTagBody(MarkupStream markupStream, ComponentTag openTag) {
                    final Attendee att = item.getModelObject();
                    String text = Role.VIEWER.equals(att.getRole()) ? "make moderator" : "make viewer";
                    replaceComponentTagBody(markupStream, openTag, text);
                }

            });
        }
    };
    lv.setOutputMarkupId(true);
    return lv;
}

From source file:com.github.mvollebregt.calendar.pages.SummaryPage.java

License:Open Source License

public SummaryPage() {
    add(new Label("itemCount",
            "You have " + Calendar.getInstance().getItems().size() + " items in your calendar"));
    add(new BookmarkablePageLink("addNewItemLink", CalendarItemFormPage.class));
    add(new BookmarkablePageLink("viewMonthLink", MonthPage.class));
    List<CalendarItem> calendarItemList = new ArrayList<CalendarItem>(Calendar.getInstance().getItems());
    Collections.sort(calendarItemList, new Comparator<CalendarItem>() {
        public int compare(CalendarItem o1, CalendarItem o2) {
            return o1.getStart().compareTo(o2.getStart());
        }/*from ww w .j  av  a 2 s  .  co  m*/
    });

    add(new PropertyListView<CalendarItem>("calendarItemList", calendarItemList) {
        @Override
        protected void populateItem(ListItem<CalendarItem> calendarItem) {
            calendarItem.add(new Label("start"));
            calendarItem.add(new Label("name"));
        }
    });
}

From source file:com.jolira.enzian.tasks.ui.TasksViewer.java

License:Open Source License

/**
 * Create a new viewer//from  www  .ja v  a  2  s  . co m
 * 
 * @param executor
 *            the executor to be displayed
 */
@Inject
public TasksViewer(final TaskExecutor executor) {
    final IModel<? extends List<? extends Task>> mdl = new LoadableDetachableModel<List<Task>>() {
        private static final long serialVersionUID = -2820663100472235781L;

        @Override
        protected List<Task> load() {
            final Task[] tasks = executor.getTasks();

            return Arrays.asList(tasks);
        }
    };
    final ListView<Task> taskView = new PropertyListView<Task>("task", mdl) {
        private static final long serialVersionUID = -7625713403597488210L;

        @Override
        protected void populateItem(final ListItem<Task> item) {
            item.add(new Label("name"));
            item.add(new Label("status"));
            item.add(new Label("progress", "N/A"));
            item.add(new Link<Void>("cancel") {
                private static final long serialVersionUID = 2527181238727006875L;

                @Override
                public void onClick() {
                    final Task task = item.getModelObject();

                    task.cancel();
                }
            });
        }
    };

    add(taskView);
}

From source file:com.userweave.module.methoden.iconunderstandability.page.report.bmi.IconOrderPage.java

License:Open Source License

public IconOrderPage(ModalWindow modalWindow, List<TermAssignment> termAssignments, Locale aStudyLocale) {
    super(modalWindow);

    modalWindow.setTitle(new StringResourceModel("assi_diff", this, null));

    this.studyLocale = aStudyLocale;

    addToForm(new PropertyListView("termAssignments", termAssignments) {

        private static final long serialVersionUID = 1L;

        @Override//from  w  ww.j ava 2  s .c  o m
        protected void populateItem(ListItem item) {
            item.add(new Label("term", new LocalizedPropertyModel(item.getModelObject(), "term", studyLocale)));

            item.add(new Label("assignment"));
        }

    });
}

From source file:com.userweave.module.methoden.questionnaire.page.report.question.dimensions.DimensionsReportPanel.java

License:Open Source License

public DimensionsReportPanel(String id, final Locale locale, final DimensionsQuestion question,
        FilterFunctorCallback filterFunctorCallback) {
    super(id, locale, question);

    ratingStatistics = new AnswerStatistics<Integer>();

    FilterFunctor filterFunctor = filterFunctorCallback.getFilterFunctor();

    long startTime = System.currentTimeMillis();
    List<SingleDimensionAnswer> answers = answerDao.getValidAnswersForQuestion(question, filterFunctor);
    long overallTime = System.currentTimeMillis() - startTime;
    logger.info("OVERALLTIME: " + overallTime + " milliseconds");

    numberOfAnswers = answerDao.getGroupedValidAnswersForDimensionQuestion(question, filterFunctor);

    if (answers != null) {
        for (SingleDimensionAnswer singleDimensionAnswer : answers) {
            AntipodePair antipodePair = singleDimensionAnswer.getAntipodePair();
            Integer rating = singleDimensionAnswer.getRating();
            ratingStatistics.addRating(antipodePair.getId(), rating);
        }//  w  w  w.j  a v  a  2 s .  co m

        setTotalCount(numberOfAnswers.intValue());
    }

    add(new PropertyListView<AntipodePair>("objects", question.getAntipodePairs()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<AntipodePair> item) {

            final AntipodePair antipodePair = item.getModelObject();

            int answerCount = ratingStatistics.getTotalCount(antipodePair.getId());

            item.add(new Label("answerCount", Integer.toString(answerCount)));

            item.add(new Label("antipode1",
                    new LocalizedPropertyModel(item.getModel(), "antipode1", getStudyLocale())));

            item.add(new Label("antipode2",
                    new LocalizedPropertyModel(item.getModel(), "antipode2", getStudyLocale())));

            addAntipodeRatingReport(question, ratingStatistics, item, antipodePair.getId());
        }
    });

}

From source file:com.userweave.module.methoden.questionnaire.page.report.question.multiplerating.MultipleRatingReportPanel.java

License:Open Source License

public MultipleRatingReportPanel(String id, final Locale locale, final MultipleRatingQuestion question,
        FilterFunctorCallback filterFunctorCallback) {
    super(id, locale, question);

    ratingStatistics = new AnswerStatistics<Integer>();

    FilterFunctor filterFunctor = filterFunctorCallback.getFilterFunctor();

    long startTime = System.currentTimeMillis();
    List<Object[]> answers = answerDao.getValidAnswersForQuestion(question, filterFunctor);
    long overallTime = System.currentTimeMillis() - startTime;
    logger.info("OVERALLTIME: " + overallTime + " milliseconds");

    numberOfAnswers = answerDao.getGroupedValidAnswersForMultipleRatingQuestion(question, filterFunctor);

    if (answers != null) {
        for (Object[] answer : answers) {
            ratingStatistics.addRating((Integer) answer[1], ((SingleRatingAnswer) answer[0]).getRating());
        }/*from www .  j a  v a 2 s.  com*/
    }

    setTotalCount(numberOfAnswers.intValue());

    add(new PropertyListView<RatingTerm>("objects", question.getRatingTerms()) {
        private static final long serialVersionUID = 1L;

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

            int answerCount = ratingStatistics.getTotalCount(ratingTerm.getId());

            item.add(new Label("answerCount", Integer.toString(answerCount)));

            item.add(new Label("text", new LocalizedPropertyModel(item.getModel(), "text", getStudyLocale())));

            addAntipodeRatingReport(question, ratingStatistics, item, ratingTerm.getId());
        }
    });
}

From source file:com.userweave.pages.components.reorderable.ReorderableListPanel.java

License:Open Source License

/**
 * Default constructor.//from  w w w  .ja v a  2 s .  co m
 * 
 * @param id
 *       Component markup id.
 * @param editable
 *       Flag to declare this component as editable or not.
 * @param addButtonRowResourceString
 *       String to display on the add button.
 */
public ReorderableListPanel(String id, boolean editable, String addButtonRowResourceString) {
    super(id);

    this.editable = editable;

    setOutputMarkupId(true);

    addDeleteItemModalWindow();

    add(configurationsListView = new PropertyListView<T>("configurations", getListModel()) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<T> item) {
            final T orderedObject = item.getModel().getObject();

            // get position of current item
            final int position = item.getIndex();

            ReorderableListPanel.this.populateItem(item);

            AuthOnlyAjaxLink moveUp = createMovableLink("moveup", moveUpIsVisible(getIndex(orderedObject)),
                    true, position);

            AuthOnlyAjaxLink moveDown = createMovableLink("movedown",
                    moveDownIsVisible(getIndex(orderedObject)), false, position);

            item.add(moveUp);
            item.add(moveDown);

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

                @Override
                public void onClick(AjaxRequestTarget target) {
                    deleteItemPosition = position;

                    if (askBeforeDelete()) {
                        deleteModalWindow.show(target);
                    } else {
                        reallyDeleteItem = true;
                        deleteItem(target);
                    }
                }

                @Override
                public boolean isEnabled() {
                    return deleteIsEnabled(getIndex(orderedObject));
                }
            });
        }
    });

    configurationsListView.setOutputMarkupId(true);

    String addButtonRowId = "addButtonRow";
    Component addButtonRow = null;
    if (addIsVisible()) {
        addButtonRow = getAddButtonRow(addButtonRowId, addButtonRowResourceString);
    }
    if (addButtonRow == null) {
        addButtonRow = new WebMarkupContainer(addButtonRowId);
        addButtonRow.setEnabled(false);
    }
    add(addButtonRow);

    // create no item available label with empty list message as default
    add(new Label("emptyListMessage", new StringResourceModel("empty_list_message", this, null)) {
        private static final long serialVersionUID = 1L;

        @Override
        public boolean isVisible() {
            return getModelDisplayObjects() != null && getModelDisplayObjects().isEmpty();
        }
    });
}

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

License:Apache License

protected ListView<PhoneNumber> createPhoneNumberListView(final String id, final IModel<Person> personModel,
        final IModel<List<? extends PhoneNumber>> phoneNumbers) {
    PropertyListView<PhoneNumber> lv = new PropertyListView<PhoneNumber>(id, phoneNumbers) {
        private static final long serialVersionUID = 1L;

        @Override/*  ww  w . j a  v  a  2  s  .  c om*/
        protected void populateItem(final ListItem<PhoneNumber> item) {
            item.add(new TextField<String>("number"));
            item.add(new Link<Void>("delete") {
                private static final long serialVersionUID = 1L;

                @Override
                public void onClick() {
                    logger.debug("PersonEditPanel#phoneNumbers#" + item.getIndex() + "#delete#onClick()");
                    personModel.getObject().getPhoneNumbers().remove(item.getModelObject());
                    item.findParent(ListView.class)
                            .replaceWith(createPhoneNumberListView(id, personModel, phoneNumbers));
                }
            });
        }
    };
    lv.setReuseItems(false);
    return lv;
}

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

License:Apache License

protected ListView<PhoneNumber> createPhoneNumberListView(String id,
        IModel<List<? extends PhoneNumber>> collectionToListModel) {
    return new PropertyListView<PhoneNumber>(id, collectionToListModel) {
        private static final long serialVersionUID = 1L;

        @Override//from w ww  .  j  ava  2  s. c  o m
        protected void populateItem(ListItem<PhoneNumber> item) {
            item.add(new Label("number"));
        }
    };
}