List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView
protected DataView(String id, IDataProvider<T> dataProvider)
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.singledocument.SingleDocumentQuestionListPanel.java
License:Open Source License
public SingleDocumentQuestionListPanel(String id, IDataProvider<Question> dataProvider) { super(id);//w w w.j ava 2 s .c o m add(new DataView<Question>("questions", dataProvider) { private static final long serialVersionUID = -3937116965166887192L; @Override protected void populateItem(Item<Question> item) { if (item.getModel().getObject().getUIFactoryName() .contains(DropDownQuestionPanelFactory.class.getSimpleName())) { item.add(new DropDownQuestionPanel("questionPanel", item.getModel())); } else item.add(new SingleDocumentQuestionPanel("questionPanel", item.getModel())); } }); }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.singledocument.SingleDocumentQuestionnairePage.java
License:Open Source License
@SuppressWarnings("serial") public SingleDocumentQuestionnairePage(IModel<Questionnaire> model) { super(model); String label = model.getObject().getName() + " " + model.getObject().getVersion(); add(new Label("title", label)); add(new Label("questionnaire", label)); add(new DataView<Section>("sections", new AllSectionsProvider(model)) { @Override/*from ww w . j a va2 s . co m*/ protected void populateItem(Item<Section> item) { item.add(new SingleDocumentSectionPanel("sectionPanel", item.getModel())); } }); add(new DataView<Variable>("variables", new VariablesProvider(model)) { @Override protected void populateItem(Item<Variable> item) { item.add(new SingleDocumentVariablePanel("variablePanel", item.getModel())); } }); }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.singledocument.SingleDocumentSectionPanel.java
License:Open Source License
@SuppressWarnings("serial") public SingleDocumentSectionPanel(String id, IModel<Section> model) { super(id, model); // Adding section label or section name String sectionLabel = new QuestionnaireStringResourceModel(model.getObject(), "label").getString(); if (sectionLabel.trim().equals("")) { sectionLabel = model.getObject().getName(); }// w ww .ja v a2 s . c o m add(new Label("sectionLabel", sectionLabel).setEscapeModelStrings(false)); add(new SingleDocumentPageView("pages", new AllPagesProvider(model))); add(new DataView<Section>("subsections", new AllSubSectionsProvider(model)) { @Override protected void populateItem(Item<Section> item) { item.add(new SingleDocumentSectionPanel("sectionPanel", item.getModel())); } }); }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.standard.DefaultPageLayout.java
License:Open Source License
/** * Constructor, given a questionnaire page. * @param id/*from www . j av a2s. c o m*/ * @param pageModel */ @SuppressWarnings("serial") public DefaultPageLayout(String id, IModel<Page> pageModel) { super(id, pageModel); setOutputMarkupId(true); Page page = (Page) getDefaultModelObject(); Section section = page.getSection(); String sectionString = (new QuestionnaireStringResourceModel(section, "label")).getString(); section = section.getParentSection(); while (section != null) { String str = (new QuestionnaireStringResourceModel(section, "label")).getString(); if (str != null && str.trim().length() != 0) { sectionString = str + " / " + sectionString; } section = section.getParentSection(); } add(new Label("section", sectionString).setVisible(!isEmptyString(sectionString))); QuestionnaireStringResourceModel pageLabelModel = new QuestionnaireStringResourceModel(page, "label"); add(new Label("label", pageLabelModel).setVisible(!isEmptyString(pageLabelModel.getString()))); add(questionsView = new DataView<QuestionPanel>("questions", new PageQuestionsProvider(page)) { @Override protected void populateItem(Item item) { Question question = (Question) item.getModelObject(); QuestionPanel panel = createQuestionPanel("question", question, item.getModel()); item.add(panel); } }); questionsView.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance()); }
From source file:org.obiba.onyx.quartz.core.wicket.layout.impl.standard.DefaultQuestionListPanel.java
License:Open Source License
/** * @param id/*from w ww .ja va 2 s .c o m*/ * @param dataProvider */ public DefaultQuestionListPanel(String id, IDataProvider dataProvider) { super(id); add(new DataView("questions", dataProvider) { private static final long serialVersionUID = -3937116965166887192L; @Override protected void populateItem(Item item) { Question question = (Question) item.getModelObject(); QuestionPanel panel = questionPanelFactoryRegistry.get(question.getUIFactoryName()) .createPanel("question", item.getModel()); item.add(panel); } }.setItemReuseStrategy(ReuseIfModelsEqualStrategy.getInstance())); }
From source file:org.obiba.onyx.webapp.base.panel.MenuBuilder.java
License:Open Source License
/** * Build the default menu./* ww w. j av a 2s .com*/ * @param container where adding the menu items * @param fullMenu add logout menu item if true */ public static void build(final MarkupContainer container, boolean fullMenu) { final List<MenuItem> menuItems = new ArrayList<MenuItem>(); if (OnyxAuthenticatedSession.get().isSignedIn()) { menuItems.add(new MenuItem(Application.get().getHomePage(), "Home")); menuItems.add(new MenuItem(ParticipantSearchPage.class, "Participant")); if (hasWorkstationWidget(WorkstationPage.WORKSTATION_CONTENT) && Session.get().getAuthorizationStrategy().isInstantiationAuthorized(WorkstationPage.class)) { MenuItem item = new MenuItem(WorkstationPage.class, "Workstation"); menuItems.add(item); } } // Creating the DataView containing the whole menu container.add(new DataView<MenuItem>("menuItem", new ListDataProvider<MenuItem>(menuItems)) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<MenuItem> item) { MenuItem menuItem = menuItems.get(item.getIndex()); Component menuLink = getLink("menuLink", menuItem.getPage(), menuItem.getParameters(), "menuLabel", menuItem.getLabel(), container); item.add(menuLink); // Creating the DataView holding all items of a submenu DataView<MenuItem> menuItemDataView = new DataView<MenuItem>("subMenuItem", new ListDataProvider<MenuItem>(menuItem.getSubMenuItems())) { private static final long serialVersionUID = 1L; @Override protected void populateItem(Item<MenuItem> subItem) { MenuItem subMenuItem = subItem.getModelObject(); Component link = getLink("subMenuLink", subMenuItem.getPage(), subMenuItem.getParameters(), "subMenuLabel", subMenuItem.getLabel(), container); subItem.add(link); setPageview(subItem, subMenuItem); } }; item.add(menuItemDataView); if (menuItem.getRoles() != null) { MetaDataRoleAuthorizationStrategy.authorize(item, RENDER, menuItem.getRoles().toString()); } } }); }
From source file:org.patientview.radar.web.pages.admin.AdminConsultantsPage.java
License:Open Source License
public AdminConsultantsPage() { final ConsultantsDataProvider consultantsDataProvider = new ConsultantsDataProvider(utilityManager); add(new ResourceLink("exportPdf", RadarResourceFactory.getExportResource(exportManager.getConsultantsExportData(ExportType.PDF), "consultants" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.PDF))); add(new ResourceLink("exportExcel", RadarResourceFactory.getExportResource(exportManager.getConsultantsExportData(ExportType.EXCEL), "consultants" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.EXCEL))); add(new BookmarkablePageLink<AdminConsultantPage>("addNewConsultant", AdminConsultantPage.class)); final WebMarkupContainer consultantsContainer = new WebMarkupContainer("consultantsContainer"); consultantsContainer.setOutputMarkupId(true); add(consultantsContainer);/*w ww . ja v a 2 s. c o m*/ final DataView<Consultant> consultantList = new DataView<Consultant>("consultants", consultantsDataProvider) { @Override protected void populateItem(Item<Consultant> item) { builtDataViewRow(item); } }; consultantList.setItemsPerPage(RESULTS_PER_PAGE); consultantsContainer.add(consultantList); // add paging element consultantsContainer .add(new RadarAjaxPagingNavigator("navigator", consultantList, consultantsDataProvider.size())); // add sort links to the table column headers for (Map.Entry<String, String> entry : getSortFields().entrySet()) { add(new SortLink(entry.getKey(), entry.getValue(), consultantsDataProvider, consultantList, Arrays.asList(consultantsContainer))); } }
From source file:org.patientview.radar.web.pages.admin.AdminIssuesPage.java
License:Open Source License
public AdminIssuesPage() { final IssuesDataProvider issuesDataProvider = new IssuesDataProvider(issueManager); add(new BookmarkablePageLink<AdminIssuesPage>("addNewIssue", AdminIssuePage.class)); final WebMarkupContainer issuesContainer = new WebMarkupContainer("issuesContainer"); issuesContainer.setOutputMarkupId(true); add(issuesContainer);//from w ww. j a v a2 s. c o m final DataView<Issue> issueList = new DataView<Issue>("issues", issuesDataProvider) { @Override protected void populateItem(Item<Issue> item) { builtDataViewRow(item); } }; issueList.setItemsPerPage(RESULTS_PER_PAGE); issuesContainer.add(issueList); // add paging element issuesContainer.add(new RadarAjaxPagingNavigator("navigator", issueList, issuesDataProvider.size())); // button to clear all the filter fields for each colum final ClearLink clearButton = new ClearLink("clearButton", issuesDataProvider, issueList, issuesContainer); add(clearButton); // add sort links to the table column headers for (Map.Entry<String, String> entry : getSortFields().entrySet()) { add(new SortLink(entry.getKey(), entry.getValue(), issuesDataProvider, issueList, Arrays.asList(issuesContainer))); } // add a search field to the top of each column - these will AND each search for (Map.Entry<String, String> entry : getFilterFields().entrySet()) { add(new SearchField(entry.getKey(), entry.getValue(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); } // some of the sort fields are drop downs so add these add(new SearchDropDownChoice<IssueType>("searchType", Arrays.asList(IssueType.values()), IssueFilter.Field.TYPE.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); add(new SearchDropDownChoice<IssuePriority>("searchPriority", Arrays.asList(IssuePriority.values()), IssueFilter.Field.PRIORITY.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); add(new SearchDropDownChoice<IssueStatus>("searchStatus", Arrays.asList(IssueStatus.values()), IssueFilter.Field.STATUS.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); add(new SearchDateField("searchDateLogged", IssueFilter.Field.DATE_LOGGED.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); add(new SearchDateField("searchDateResolved", IssueFilter.Field.DATE_RESOLVED.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); add(new SearchDateField("searchUpdated", IssueFilter.Field.UPDATED.getDatabaseFieldName(), issuesDataProvider, issueList, Arrays.asList(issuesContainer, clearButton))); }
From source file:org.patientview.radar.web.pages.admin.AdminPatientsAllPage.java
License:Open Source License
public AdminPatientsAllPage() { final DemographicsDataProvider demographicsDataProvider = new DemographicsDataProvider(demographicsManager); // using ajax download - the data is created on request to speed up page load final AJAXDownload exportPdf = new AJAXDownload() { @Override/*from w w w. j ava2s. c om*/ protected IResourceStream getResourceStream() { return new AbstractResourceStreamWriter() { public void write(Response response) { response.write(exportManager.getDemographicsExportData(ExportType.PDF)); } }; } @Override protected String getFileName() { return "patients-all.pdf"; } }; // using ajax download - the data is created on request to speed up page load final AJAXDownload exportExcel = new AJAXDownload() { @Override protected IResourceStream getResourceStream() { return new AbstractResourceStreamWriter() { public void write(Response response) { response.write(exportManager.getDemographicsExportData(ExportType.EXCEL)); } @Override public String getContentType() { return "application/pdf"; } }; } @Override protected String getFileName() { return "patients-all.xls"; } }; add(exportPdf); add(exportExcel); add(new IndicatingAjaxLink("exportPdf") { @Override public void onClick(AjaxRequestTarget target) { exportPdf.initiate(target); } }); add(new IndicatingAjaxLink("exportExcel") { @Override public void onClick(AjaxRequestTarget target) { exportExcel.initiate(target); } }); final WebMarkupContainer demographicsContainer = new WebMarkupContainer("demographicsContainer"); demographicsContainer.setOutputMarkupId(true); add(demographicsContainer); final DataView<Patient> demographicsList = new DataView<Patient>("demographics", demographicsDataProvider) { @Override protected void populateItem(Item<Patient> item) { builtDataViewRow(item); } }; demographicsList.setItemsPerPage(RESULTS_PER_PAGE); demographicsContainer.add(demographicsList); // add paging element demographicsContainer .add(new RadarAjaxPagingNavigator("navigator", demographicsList, demographicsDataProvider.size())); // add sort links to the table column headers for (Map.Entry<String, String> entry : getSortFields().entrySet()) { add(new SortLink(entry.getKey(), entry.getValue(), demographicsDataProvider, demographicsList, Arrays.asList(demographicsContainer))); } // button to clear all the filter fields for each colum final ClearLink clearButton = new ClearLink("clearButton", demographicsDataProvider, demographicsList, demographicsContainer); add(clearButton); // add a search field to the top of each column - these will AND each search for (Map.Entry<String, String> entry : getFilterFields().entrySet()) { add(new SearchField(entry.getKey(), entry.getValue(), demographicsDataProvider, demographicsList, Arrays.asList(demographicsContainer, clearButton))); } // add a date filter add(new SearchDateField("searchDateRegistered", DemographicsFilter.UserField.REGISTRATION_DATE.getDatabaseFieldName(), demographicsDataProvider, demographicsList, Arrays.asList(demographicsContainer, clearButton))); }
From source file:org.patientview.radar.web.pages.admin.AdminPatientsPage.java
License:Open Source License
public AdminPatientsPage() { final PatientUserDataProvider patientsDataProvider = new PatientUserDataProvider(userManager); final FeedbackPanel feedback = new FeedbackPanel("feedback"); feedback.setOutputMarkupId(true);/* w w w .j a v a 2 s. c om*/ feedback.setOutputMarkupPlaceholderTag(true); add(feedback); // TODO: need to hook these up add(new ResourceLink("exportPdf", RadarResourceFactory.getExportResource(exportManager.getPatientsExportData(ExportType.PDF), "patients-users" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.PDF))); add(new ResourceLink("exportExcel", RadarResourceFactory.getExportResource(exportManager.getPatientsExportData(ExportType.EXCEL), "patients-users" + AdminsBasePage.EXPORT_FILE_NAME_SUFFIX, ExportType.EXCEL))); final WebMarkupContainer patientsContainer = new WebMarkupContainer("patientsContainer"); patientsContainer.setOutputMarkupId(true); add(patientsContainer); final DataView<PatientUser> patientList = new DataView<PatientUser>("patients", patientsDataProvider) { @Override protected void populateItem(Item<PatientUser> item) { builtDataViewRow(item, feedback); } }; patientList.setItemsPerPage(RESULTS_PER_PAGE); patientsContainer.add(patientList); // add paging element patientsContainer.add(new RadarAjaxPagingNavigator("navigator", patientList, patientsDataProvider.size())); // add sort links to the table column headers for (Map.Entry<String, String> entry : getSortFields().entrySet()) { add(new SortLink(entry.getKey(), entry.getValue(), patientsDataProvider, patientList, Arrays.asList(patientsContainer))); } }