Example usage for org.apache.wicket.markup.repeater.data DataView DataView

List of usage examples for org.apache.wicket.markup.repeater.data DataView DataView

Introduction

In this page you can find the example usage for org.apache.wicket.markup.repeater.data DataView DataView.

Prototype

protected DataView(String id, IDataProvider<T> dataProvider) 

Source Link

Usage

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)));
    }
}