List of usage examples for org.apache.wicket.markup.html.list ListView ListView
public ListView(final String id, final List<T> list)
From source file:com.userweave.module.methoden.questionnaire.page.report.question.freeanswer.FreeQuestionReportPanel.java
License:Open Source License
public FreeQuestionReportPanel(String id, Locale locale, FreeQuestion question, com.userweave.pages.configuration.report.FilterFunctorCallback filterFunctorCallback) { super(id, locale, question); List<FreeAnwer> answers = answerDao.getValidAnswersForQuestion(question, filterFunctorCallback.getFilterFunctor()); List<FreeAnwer> notEmptyAnswers = new ArrayList<FreeAnwer>(); SummaryStatistics summaryStatistics = SummaryStatistics.newInstance(); boolean isNumber = false; if (answers != null) { for (FreeAnwer freeAnwer : answers) { String answerString = getAnswerString(freeAnwer); if (answerString != null && !answerString.isEmpty()) { notEmptyAnswers.add(freeAnwer); if (isFreeNumberAnswer(freeAnwer)) { double number = ((FreeNumberAnswer) freeAnwer).getNumber(); summaryStatistics.addValue(number); isNumber = true;/*from w w w. j a v a 2s .c o m*/ } } } } boolean isVisible = question.getAnswerType() == FreeQuestion.AnswerType.NUMBER; addNumber("mean", summaryStatistics.getMean(), isNumber, isVisible); addNumber("stdDeviation", summaryStatistics.getStandardDeviation(), isNumber, isVisible); setTotalCount(notEmptyAnswers.size()); add(new ListView("answers", notEmptyAnswers) { @Override protected void populateItem(ListItem item) { item.add(new Label("answer", getAnswerString((FreeAnwer) item.getModelObject()))); } }); }
From source file:com.userweave.module.methoden.questionnaire.page.report.question.multipleanswers.QuestionWithMultiplePossibleAnswersReportPanel.java
License:Open Source License
public QuestionWithMultiplePossibleAnswersReportPanel(String id, Locale locale, QuestionWithMultiplePossibleAnswers question) { super(id, locale, question); // append table sorter AjaxRequestTarget target = AjaxRequestTarget.get(); target.appendJavaScript("$(\"#ratingTable\").tablesorter();"); add(new ListView("answers", question.getPossibleAnswers()) { @Override/*from ww w . j ava2 s. co m*/ protected void populateItem(ListItem item) { LocalizedString possibleAnswer = (LocalizedString) item.getModelObject(); int absoluteCount = getAbsoluteCount(possibleAnswer); double relativeCount = getRealtiveCount(possibleAnswer); item.add(new Label("possibleAnswer", new LocalizedModel(possibleAnswer, getStudyLocale()))); item.add(new Label("absoluteCount", Integer.toString(absoluteCount))); item.add(new Label("relativeCount", FormatUtils.formatAsPercent(relativeCount))); } }); }
From source file:com.userweave.module.methoden.questionnaire.page.report.question.multiplerating.AntipodeRatingReport.java
License:Open Source License
public AntipodeRatingReport(String id, Locale locale, AntipodePair antipodePair, AntipodeRatingListModel ratingListModel) { super(id);/*from w ww .ja va 2s . c o m*/ final String antipode1 = LocalizationUtils.getValue(antipodePair.getAntipode1(), locale); final String antipode2 = LocalizationUtils.getValue(antipodePair.getAntipode2(), locale); final int numberOfRatingSteps = ratingListModel.getNumberOfRatingSteps(); add(new ListView("ratings", ratingListModel.getRatingModels()) { @Override protected void populateItem(ListItem item) { AntipodeRatingModel ratingModel = (AntipodeRatingModel) item.getModelObject(); Integer rating = ratingModel.getRating(); String antipode = ""; if (rating != null) { if (rating == 0) { antipode = antipode1; } else if (rating == numberOfRatingSteps - 1) { antipode = antipode2; } item.add(new Label("rating", new Model(rating + 1))); item.add(new Label("antipode", new Model(antipode))); } else { item.add(new Label("rating", "x")); item.add(new Label("antipode", "missing")); } item.add(new Label("absolute", new Model(ratingModel.getAbsoluteCount()))); item.add(new Label("relative", new Model(FormatUtils.formatAsPercent(ratingModel.getRelativeCount())))); } }); }
From source file:com.userweave.module.methoden.questionnaire.page.report.QuestionnaireReportUI.java
License:Open Source License
@Override protected Component createReportContainer(boolean showDetails) { if (!showDetails) { return new WebMarkupContainer("reportsContainer").add(new WebMarkupContainer("reports")) .add(new WebMarkupContainer("report")); }/*from w w w.j a va2 s . c o m*/ return new WebMarkupContainer("reportsContainer").add(new ListView("reports", new PropertyModel(QuestionnaireReportUI.this.getDefaultModel(), "questions")) { @Override protected void populateItem(ListItem item) { Component report = reportFactory.getReportComponent("report", locale, (Question) item.getModelObject(), getFilterFuctorCallback()); if (report != null) { item.add(report); } else { item.add(new Label("report", "Kein Report vorhanden")); } } }); }
From source file:com.userweave.module.methoden.rrt.page.report.RrtReportPanel.java
License:Open Source License
public RrtReportPanel(String id, final boolean showDetails, final RrtConfigurationEntity configuration, final FilterFunctorCallback filterFunctorCallback) { super(id);/*from w w w . ja va 2 s . c o m*/ termId2Positions = new HashMap<Integer, List<Double>>(); WebMarkupContainer container = new WebMarkupContainer("container"); add(container); if (showDetails) { // pavkovic 2009.06.12: we want to use the system and not the study // locale at report panel // final Locale studyLocale = getConfiguration().getStudy().getLocale(); final Locale studyLocale = getLocale(); addResultCount(configuration, filterFunctorCallback, container); List<Object[]> results = findValidResults(configuration, filterFunctorCallback); for (Object[] result : results) { // List<OrderedTerm> orderedTerms = result.getOrderedTerms(); // if (orderedTerms != null) // for (OrderedTerm orderedTerm : orderedTerms) // { // addOrderedTermToReport(orderedTerm); // } if (result != null && result[0] != null && result[1] != null) { addOrderedTermToReport((Integer) result[0], (Integer) result[1]); } } final Map<Integer, MeanAndStdDeviation> termId2Mean = computeMeansForTerms(termId2Positions); List<RrtTerm> terms = configuration.getTerms(); Collections.sort(terms, new Comparator<RrtTerm>() { // sort by mean and standard-deviation @Override public int compare(RrtTerm term1, RrtTerm term2) { final MeanAndStdDeviation meanAndStdDev1 = getMeanAndStdDevForTerm(termId2Mean, term1); final MeanAndStdDeviation meanAndStdDev2 = getMeanAndStdDevForTerm(termId2Mean, term2); Double mean1 = meanAndStdDev1 == null ? 0 : meanAndStdDev1.getMean(); Double mean2 = meanAndStdDev2 == null ? 0 : meanAndStdDev2.getMean(); int meanComparison = Double.compare(mean1, mean2); if (meanComparison != 0) { return meanComparison; } else { Double std1 = meanAndStdDev1 == null ? 0 : meanAndStdDev1.getStdDeviation(); Double std2 = meanAndStdDev2 == null ? 0 : meanAndStdDev2.getStdDeviation(); return Double.compare(std1, std2); } } }); container.add(new ListView("results", terms) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem item) { RrtTerm term = (RrtTerm) item.getModelObject(); item.add(new Label("term", new LocalizedPropertyModel(term, "value", studyLocale))); final MeanAndStdDeviation mean = getMeanAndStdDevForTerm(termId2Mean, term); if (mean != null) { String meanString = Double.toString(mean.getMean()); item.add(new Label("mean", formatNumber(meanString))); String stdDeviationString = Double.toString(mean.getStdDeviation()); item.add(new Label("stdDeviation", formatNumber(stdDeviationString))); } else { item.add(new Label("mean", "--")); item.add(new Label("stdDeviation", "--")); } } private String formatNumber(String stdDeviationString) { int indexPoint = stdDeviationString.indexOf('.'); int digitsAfterPoint = 3; int lastIndex = indexPoint + digitsAfterPoint > stdDeviationString.length() ? stdDeviationString.length() : indexPoint + digitsAfterPoint; stdDeviationString = stdDeviationString.substring(0, lastIndex); return stdDeviationString; } }); } else { container.setVisible(false); } }
From source file:com.userweave.module.methoden.rrt.page.survey.RrtSurveyUI.java
License:Open Source License
private void addDescriptionList(IModel termsModel) { final List<RrtTerm> terms = (List<RrtTerm>) termsModel.getObject(); // this is a hack!! add(new ListView("scale", Collections.singletonList(terms.size() + "")) { @Override/*from w w w . j a v a 2s .c o m*/ protected void populateItem(ListItem item) { String height = (String) item.getModelObject(); item.add(new StyleHeightAttributeModifier(true, new Model(height), "height")); } }); // this is a hack, as above!! // Beschreibung Start add(new ListView("desc_box", Collections.singletonList(terms.size() + "")) { @Override protected void populateItem(ListItem item) { String height = (String) item.getModelObject(); item.add(new StyleHeightAttributeModifier(true, new Model(height), "min-height")); RepeatingView termsRepeatingView = new RepeatingView("termValueAndDescription"); int count = 0; for (RrtTerm term : terms) { MarkupContainer markupContainer = new WebMarkupContainer(Integer.toString(count)); termsRepeatingView.add(markupContainer); markupContainer.add( new AttributeModifier("id", true, new Model("destermid_" + term.getId().toString()))); markupContainer.setEscapeModelStrings(false); markupContainer.add(new Label("value", new LocalizedPropertyModel(term, "value", RrtSurveyUI.this.getLocale()))); markupContainer.add(new Label("description", new LocalizedPropertyModel(term, "description", RrtSurveyUI.this.getLocale()))); count++; } item.add(termsRepeatingView); } }); }
From source file:com.userweave.module.methoden.rrt.page.survey.RrtSurveyUI.java
License:Open Source License
private void addCounterList(IModel termsModel) { add(new ListView("counterList", termsModel) { @Override// www. j av a2s . c o m protected void populateItem(ListItem item) { WebMarkupContainer counter = new WebMarkupContainer("counter"); item.add(counter); counter.add(new Label("value", Integer.toString(item.getIndex() + 1))); } }); }
From source file:com.userweave.pages.configuration.project.userpanel.UserListPanel.java
License:Open Source License
/** * Default constructor/*from ww w . j ava 2s. com*/ * * @param id * Markup id of component * @param projectUserModel * Purj list model * @param selectedProject * The current selected project */ public UserListPanel(String id, List<ProjectUserRoleJoin> projectUserList, final Project selectedProject, String resourceKey) { super(id); Label noUserLabel = new Label("noUserLabel", new StringResourceModel(resourceKey, this, null)); noUserLabel.setVisible(projectUserList == null || projectUserList.isEmpty()); add(noUserLabel); add(new ListView("userList", projectUserList) { private static final long serialVersionUID = 1L; @Override protected void populateItem(final ListItem item) { ProjectUserRoleJoin join = (ProjectUserRoleJoin) item.getModelObject(); User user = join.getUser(); // display name and email address of user String userName = user.getForename() + " " + user.getSurname(); item.add(new Label("userName", userName)); //item.add(new Label("userEmail", user.getEmail())); // add mailto link item.add(new ExternalLink("mailto", "mailto:" + user.getEmail())); // flag to indicate if the row in this list contains a // user, who has a project admin role. final boolean joinEqualsProjectAdmin = join.getRole().getRoleName().equals(Role.PROJECT_ADMIN); final List<ProjectUserRoleJoin> projectAdmins = purjDao.getProjectAdmins(selectedProject); final CustomModalWindow deleteModal = getDeleteModal("deleteModal", join); final CustomModalWindow unableToDeleteUserModal = getUnableToDeleteModal("unableToDeleteModal"); AjaxLink deleteLink = getDeleteLink(deleteModal, unableToDeleteUserModal, joinEqualsProjectAdmin, projectAdmins.size(), selectedProject); item.add(deleteLink); item.add(deleteModal); item.add(unableToDeleteUserModal); // workflow logic User currentUser = UserWeaveSession.get().getUser(); if (currentUser.hasRole(Role.PROJECT_ADMIN)) { /* * A project admin can delete everybody but himself, * if he is the only project admin. Also he can change * everybodies role, except his own, if he is the only * project admin. */ if (!joinEqualsProjectAdmin) { /* * The rendered row is a user, who is not * a project admin. */ item.add(new ListChoiceFragment("roleFragment", roleDao.findAll(), join, currentUser)); } else { /* * The rendered row is a user, who is a * project admin. Ensure, that at least * two admins are there before the active * user change the role of the row user. */ if (projectAdmins.size() > 1) { item.add(new ListChoiceFragment("roleFragment", roleDao.findAll(), join, currentUser)); } else { /* * there is only one project admin and the * current user can't change his role nor * delete him from this project. */ item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); deleteLink.setVisible(false); } } } else if (currentUser.hasRole(Role.PROJECT_PARTICIPANT) && !joinEqualsProjectAdmin) // <- participant can't change an admin { /* * A project participant can change roles of and * delete guests and other participants. */ List<Role> roles = roleDao.findAll(); List<Role> newRoles = new ArrayList<Role>(roles.size() - 1); /* * Populate a list choice with all roles equal * or lower to the current users role. */ for (Role r : roles) { if (!(r.getRoleName().compareTo(Role.PROJECT_ADMIN) == 0)) { newRoles.add(r); } } // @see: #1313 if (join.getUser().equals(currentUser)) { item.add(new ListChoiceFragment("roleFragment", newRoles, join, currentUser)); } else { item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); } // a project participant can only delete // project guests or himself deleteLink.setVisible( //join.getRole().getRoleName().equals(Role.PROJECT_GUEST) || @see: #1313 join.getUser().equals(currentUser)); } else { item.add(new LabelFragment("roleFragment", join.getRole().getRoleName())); // guests can always delete themselfs deleteLink.setVisible(join.getUser().equals(currentUser)); } } }); feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true); add(feedback); }
From source file:com.userweave.pages.configuration.project.userpanel.UserPanel.java
License:Open Source License
/** * List of pending not yet accepted invitations. * // w w w . j av a 2s .c o m * @param project * Project to load invitations for. */ private void addPendingInvitations(final Project project) { IModel listModel = new LoadableDetachableModel() { private static final long serialVersionUID = 1L; @Override protected Object load() { return projectInvitationDao.findByProject(project); } }; invitationsList = new ListView("pendingInvitations", listModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem item) { final ProjectInvitation invitation = (ProjectInvitation) item.getModelObject(); if (invitation.getAddressee() == null) { // user is not yet member of the platform item.add(new Label("addressee.email", invitation.getEmail())); } else { item.add(new Label("addressee.email", invitation.getAddressee().getEmail())); } item.add(new Label("role", new StringResourceModel(invitation.getRole().getRoleName(), UserPanel.this, null))); item.add(new AjaxLink("deleteInvitation") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { projectInvitationService.declineProjectInvitation(invitation.getId()); invitationsList.modelChanged(); target.addComponent(UserPanel.this); replaceNoInvitations(target); } @Override public boolean isVisible() { User currentUser = UserWeaveSession.get().getUser(); return invitation.getAddresser().equals(currentUser) || currentUser.hasRole(Role.PROJECT_ADMIN); } }); } }; invitationsList.setOutputMarkupId(true); noInvitations = new Label("noInvitations", new StringResourceModel("noInvitations", this, null)); noInvitations.setVisible(invitationsList.getList().isEmpty()); noInvitations.setOutputMarkupId(true); add(noInvitations); add(invitationsList); }
From source file:com.userweave.pages.configuration.report.ModuleReportListPanel.java
License:Open Source License
public ModuleReportListPanel(String id, IModel studyModel, IModel overallStatisticsModel, EventHandler moduleCreatedOrSelectedCallback, EventHandler addFilterCallback, FilterFunctorCallback filterFunctorCallback) { super(id, studyModel, addFilterCallback); this.filterFunctorCallback = filterFunctorCallback; this.overallStatisticsModel = overallStatisticsModel; add(new ListView("modules", moduleService.getModuleConfigurationsForStudy(getStudy())) { private static final long serialVersionUID = 1L; @Override/*www .ja v a 2 s .c o m*/ protected void populateItem(ListItem item) { ModuleReportListPanel.this.populateItem(item); } }); }