List of usage examples for org.apache.wicket.markup.html.list PropertyListView PropertyListView
public PropertyListView(final String id, final List<T> list)
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")); } }; }