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, long itemsPerPage) 

Source Link

Usage

From source file:eu.uqasar.web.pages.adapterdata.IssueTrackerDataManagementPage.java

License:Apache License

/**
 * Constructor building the page//w  w w  .  j  a v  a2s. c  om
 *
 * @param parameters
 */
public IssueTrackerDataManagementPage(final PageParameters parameters) {

    super(parameters);

    Long adapterId = parameters.get("id").toLongObject();

    final Form<JiraMetricMeasurement> deleteForm = new Form<>("deleteForm");
    add(deleteForm);

    // add checkgroup for selecting multiple measurements
    deleteForm.add(jiraGroup = newJiraCheckGroup());

    // add the container holding list of existing measurements
    jiraGroup.add(jiraContainer.setOutputMarkupId(true));

    jiraContainer.add(new CheckGroupSelector("jiraGroupSelector", jiraGroup));

    DataView<JiraMetricMeasurement> jiraMeasurements = new DataView<JiraMetricMeasurement>("jiraMeasurements",
            new JiraProvider(adapterId), itemsPerPage) {

        private static final long serialVersionUID = -2997007102890828835L;

        @Override
        protected void populateItem(final Item<JiraMetricMeasurement> item) {
            final JiraMetricMeasurement jiraMetricMeasurement = item.getModelObject();

            item.add(new Check<>("jiraCheck", item.getModel(), jiraGroup));

            item.add(new Label("key", new PropertyModel<String>(jiraMetricMeasurement, "jiraKey")));

            item.add(new Label("self", new PropertyModel<String>(jiraMetricMeasurement, "self")));

            item.add(new Label("jiraMetric", new PropertyModel<String>(jiraMetricMeasurement, "jiraMetric")));

            item.add(new Label("jsonContent", new PropertyModel<String>(jiraMetricMeasurement, "jsonContent")));

            item.add(new Label("timeStamp", new PropertyModel<Date>(jiraMetricMeasurement, "timeStamp")));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<IssueTrackerDataManagementEditPage>("edit",
                    IssueTrackerDataManagementEditPage.class,
                    forTableEntity(jiraMetricMeasurement, parameters)));
        }
    };
    jiraContainer.add(jiraMeasurements);

    // add links for table pagination
    jiraContainer.add(new BootstrapAjaxPagingNavigator("navigatorHead", jiraMeasurements));
    jiraContainer.add(new BootstrapAjaxPagingNavigator("navigatorFoot", jiraMeasurements));

    // add button to delete selected items
    jiraContainer.add(deleteSelectedButton = newDeleteSelectedButton(jiraGroup));

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.adapterdata.JenkinsDataManagementPage.java

License:Apache License

/**
 * Constructor building the page// w  w  w  . j  av a  2s .c  o m
 *
 * @param parameters
 */
public JenkinsDataManagementPage(final PageParameters parameters) {

    super(parameters);

    Long adapterId = parameters.get("id").toLongObject();

    final Form<JenkinsMetricMeasurement> deleteForm = new Form<>("deleteForm");
    add(deleteForm);

    // add checkgroup for selecting multiple products
    deleteForm.add(jenkinsGroup = newJenkinsCheckGroup());

    // add the container holding list of existing products
    jenkinsGroup.add(jenkinsContainer.setOutputMarkupId(true));

    jenkinsContainer.add(new CheckGroupSelector("jenkinsGroupSelector", jenkinsGroup));

    DataView<JenkinsMetricMeasurement> jenkinsMeasurements = new DataView<JenkinsMetricMeasurement>(
            "jenkinsMeasurements", new JenkinsProvider(adapterId), itemsPerPage) {

        @Override
        protected void populateItem(final Item<JenkinsMetricMeasurement> item) {
            final JenkinsMetricMeasurement jenkinsMetricMeasurement = item.getModelObject();

            item.add(new Check<>("jenkinsCheck", item.getModel(), jenkinsGroup));

            item.add(new Label("name", new PropertyModel<String>(jenkinsMetricMeasurement, "name")));

            item.add(new Label("metric", new PropertyModel<String>(jenkinsMetricMeasurement, "jenkinsMetric")));

            item.add(new Label("value", new PropertyModel<String>(jenkinsMetricMeasurement, "value")));

            item.add(new Label("timeStamp", new PropertyModel<Date>(jenkinsMetricMeasurement, "timeStamp")));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<JenkinsDataManagementEditPage>("edit",
                    JenkinsDataManagementEditPage.class, forTableEntity(jenkinsMetricMeasurement, parameters)));

        }
    };
    jenkinsContainer.add(jenkinsMeasurements);

    // add links for table pagination
    jenkinsContainer.add(new BootstrapAjaxPagingNavigator("navigatorHead", jenkinsMeasurements));
    jenkinsContainer.add(new BootstrapAjaxPagingNavigator("navigatorFoot", jenkinsMeasurements));

    // add button to delete selected items
    jenkinsContainer.add(deleteSelectedButton = newDeleteSelectedButton(jenkinsGroup));

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.adapterdata.StaticAnalysisDataManagementPage.java

License:Apache License

/**
 * Constructor building the page//ww w.jav  a  2s  .  co m
 *
 * @param parameters
 */
public StaticAnalysisDataManagementPage(final PageParameters parameters) {

    super(parameters);

    Long adapterId = parameters.get("id").toLongObject();

    final Form<SonarMetricMeasurement> deleteForm = new Form<>("deleteForm");
    add(deleteForm);

    // add checkgroup for selecting multiple products
    deleteForm.add(sonarGroup = newSonarCheckGroup());

    // add the container holding list of existing products
    sonarGroup.add(sonarContainer.setOutputMarkupId(true));

    sonarContainer.add(new CheckGroupSelector("sonarGroupSelector", sonarGroup));

    DataView<SonarMetricMeasurement> sonarMeasurements = new DataView<SonarMetricMeasurement>(
            "sonarMeasurements", new SonarProvider(adapterId), itemsPerPage) {

        private static final long serialVersionUID = -392205969465703229L;

        @Override
        protected void populateItem(final Item<SonarMetricMeasurement> item) {
            final SonarMetricMeasurement sonarMetricMeasurement = item.getModelObject();

            item.add(new Check<>("sonarCheck", item.getModel(), sonarGroup));

            item.add(new Label("name", new PropertyModel<String>(sonarMetricMeasurement, "name")));

            item.add(new Label("key", new PropertyModel<String>(sonarMetricMeasurement, "sonarKey")));

            item.add(new Label("metric", new PropertyModel<String>(sonarMetricMeasurement, "sonarMetric")));

            item.add(new Label("value", new PropertyModel<String>(sonarMetricMeasurement, "value")));

            item.add(new Label("timeStamp", new PropertyModel<Date>(sonarMetricMeasurement, "timeStamp")));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<StaticAnalysisDataManagementEditPage>("edit",
                    StaticAnalysisDataManagementEditPage.class,
                    forTableEntity(sonarMetricMeasurement, parameters)));

        }
    };
    sonarContainer.add(sonarMeasurements);

    // add links for table pagination
    sonarContainer.add(new BootstrapAjaxPagingNavigator("navigatorHead", sonarMeasurements));
    sonarContainer.add(new BootstrapAjaxPagingNavigator("navigatorFoot", sonarMeasurements));

    // add button to delete selected items
    sonarContainer.add(deleteSelectedButton = newDeleteSelectedButton(sonarGroup));

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.adapterdata.TestFrameworkDataManagementPage.java

License:Apache License

/**
 * Constructor building the page//from  www.  j  a va 2s  .  c  o  m
 *
 * @param parameters
 */
public TestFrameworkDataManagementPage(final PageParameters parameters) {
    super(parameters);

    Long adapterId = parameters.get("id").toLongObject();

    final Form<TestLinkMetricMeasurement> deleteForm = new Form<>("deleteForm");
    add(deleteForm);

    // add checkgroup for selecting multiple products
    deleteForm.add(testLinkGroup = newTestLinkCheckGroup());

    // add the container holding list of existing products
    testLinkGroup.add(testLinkContainer.setOutputMarkupId(true));

    testLinkContainer.add(new CheckGroupSelector("testLinkGroupSelector", testLinkGroup));

    DataView<TestLinkMetricMeasurement> testLinkMeasurements = new DataView<TestLinkMetricMeasurement>(
            "testLinkMeasurements", new TestLinkProvider(adapterId), itemsPerPage) {

        /**
        * 
        */
        private static final long serialVersionUID = -4323485288017314459L;

        @Override
        protected void populateItem(final Item<TestLinkMetricMeasurement> item) {
            final TestLinkMetricMeasurement testLinkMetricMeasurement = item.getModelObject();

            item.add(new Check<>("testLinkCheck", item.getModel(), testLinkGroup));

            item.add(new Label("name", new PropertyModel<String>(testLinkMetricMeasurement, "name")));

            item.add(new Label("key", new PropertyModel<String>(testLinkMetricMeasurement, "testLinkKey")));

            item.add(new Label("metric",
                    new PropertyModel<String>(testLinkMetricMeasurement, "testLinkMetric")));

            item.add(new Label("value", new PropertyModel<String>(testLinkMetricMeasurement, "value")));

            item.add(new Label("timeStamp", new PropertyModel<Date>(testLinkMetricMeasurement, "timeStamp")));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<TestFrameworkDataManagementEditPage>("edit",
                    TestFrameworkDataManagementEditPage.class,
                    forTableEntity(testLinkMetricMeasurement, parameters)));

        }
    };
    testLinkContainer.add(testLinkMeasurements);

    // add links for table pagination
    testLinkContainer.add(new BootstrapAjaxPagingNavigator("navigatorHead", testLinkMeasurements));
    testLinkContainer.add(new BootstrapAjaxPagingNavigator("navigatorFoot", testLinkMeasurements));

    // add button to delete selected items
    testLinkContainer.add(deleteSelectedButton = newDeleteSelectedButton(testLinkGroup));

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.admin.companies.CompanyListPage.java

License:Apache License

public CompanyListPage(final PageParameters pageParameters) {
    super(pageParameters);

    Form<Void> form = new Form("form");
    companyContainer = new WebMarkupContainer("companyContainer");

    CompanyFilterPanel filterPanel = new CompanyFilterPanel("filter") {

        @Override/* w  ww.  j  a  v a 2 s  .c  o  m*/
        public void applyClicked(AjaxRequestTarget target, Form<?> form) {
            if (getFilter().getName() == null && getFilter().getShortName() == null
                    && getFilter().getCountry() == null) {
                companyProvider.setFilter(null);
            } else {
                companyProvider.setFilter(this.getFilter());
            }
            target.add(companyContainer);
        }

        @Override
        public void resetClicked(AjaxRequestTarget target, Form<?> form) {
            companyProvider.setFilter(null);
            target.add(companyContainer);
        }

    };
    add(filterPanel);
    if (filterPanel.getFilter().getName() == null && filterPanel.getFilter().getShortName() == null
            && filterPanel.getFilter().getCountry() == null) {
        companyProvider = new CompanyProvider();
    } else {
        companyProvider = new CompanyProvider(filterPanel.getFilter());
    }
    form.add(companyGroup = newCheckGroup());
    companyGroup.add(companyContainer.setOutputMarkupId(true));
    CheckGroupSelector checkGroupSelector = new CheckGroupSelector("companyGroupSelector", companyGroup);
    companyContainer.add(checkGroupSelector);
    companyContainer.add(deleteSelectedButton = newDeleteSelectedButton(companyGroup));

    DataView<Company> companiesView = new DataView<Company>("companies", companyProvider, itemsPerPage) {
        @Override
        protected void populateItem(Item<Company> item) {
            final Company company = item.getModelObject();

            Check<Company> check = newDeleteCheck(item);
            item.add(check);

            Link companyEditNameLink = new BookmarkablePageLink("link.name.edit.company", CompanyEditPage.class,
                    new PageParameters().add("id", company.getId()));
            item.add(companyEditNameLink.add(new Label("td.name", new PropertyModel<>(company, "name"))));

            item.add(new Label("td.shortName", new PropertyModel<>(company, "shortName")));

            item.add(new Label("td.street", new PropertyModel<>(company, "street")));
            item.add(new Label("td.zipcode", new PropertyModel<>(company, "zipcode")));
            item.add(new Label("td.city", new PropertyModel<>(company, "city")));
            item.add(new Label("td.country", new PropertyModel<>(company, "country")));

            item.add(new Label("td.phone", new PropertyModel<>(company, "phone")));
            item.add(new Label("td.fax", new PropertyModel<>(company, "fax")));

            Link companyEditLink = new BookmarkablePageLink("link.actions.edit.company", CompanyEditPage.class,
                    new PageParameters().add("id", company.getId()));
            item.add(companyEditLink);

            item.setOutputMarkupId(true);
        }
    };

    // add links for table pagination
    companyContainer.add(navigator = new BootstrapAjaxPagingNavigator("navigatorFoot", companiesView));
    companyContainer.add(companiesView);

    BookmarkablePageLink<CompanyEditPage> createUser = new BookmarkablePageLink<>("link.create.company",
            CompanyEditPage.class);
    companyContainer.add(createUser);
    add(form);

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.admin.settings.platform.PlatformSettingsPage.java

License:Apache License

public PlatformSettingsPage(PageParameters pageParameters) {
    super(pageParameters);

    final Form<PlatformSettings> form = new Form<>("form");
    add(form);// w w w.  ja v  a  2s .  c  om

    // add checkgroup for selecting multiple project-settings
    form.add(settingsGroup = newAdapterSettingsCheckGroup());

    container = new WebMarkupContainer("container", new Model<PlatformSettings>());
    // add the container holding list of existing products
    settingsGroup.add(container.setOutputMarkupId(true));

    container.add(new CheckGroupSelector("adapterGroupSelector", settingsGroup));

    DataView<PlatformSettings> settingsView = new DataView<PlatformSettings>("adapters",
            new ProjectSettingsProvider(), itemsPerPage) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final Item<PlatformSettings> item) {

            final PlatformSettings proposedProjectSetting = item.getModelObject();

            item.add(new Check<>("adapterCheck", item.getModel(), settingsGroup));

            item.add(new Label("settingKey", new PropertyModel<String>(proposedProjectSetting, "settingKey")));

            item.add(new Label("settingValue",
                    new PropertyModel<String>(proposedProjectSetting, "settingValue")));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<PlatformSettingsAddEditPage>("edit",
                    PlatformSettingsAddEditPage.class, forSetting(proposedProjectSetting)));

        }

    };

    // add list of adapters to container
    container.add(settingsView);

    // add button to new adapter settings
    container.add(new BookmarkablePageLink<PlatformSettingsAddEditPage>("addAdapterLink",
            PlatformSettingsAddEditPage.class));

    // add links for table pagination
    container.add(new BootstrapAjaxPagingNavigator("navigatorHead", settingsView));
    container.add(new BootstrapAjaxPagingNavigator("navigatorFoot", settingsView));
    // add button to delete selected adapters
    container.add(deleteSelectedButton = newDeleteSelectedButton(settingsGroup));

    // add confirmation modal for deleting settings
    add(deleteConfirmationModal = newDeleteConfirmationModal());

    form1 = new Form<Void>("form1") {

        @Override
        protected void onSubmit() {
            settingsService.create(new PlatformSettings(settings.getSettingKey(), settings.getSettingValue()));
            keyField.setModelObject(null);
            valueField.setModelObject(null);
        }
    };

    keyField = new TextField<>("keyField", new PropertyModel<String>(settings, "settingKey"));
    keyField.setRequired(true);
    form1.add(keyField);

    valueField = new TextField<>("valueField", new PropertyModel<String>(settings, "settingValue"));
    valueField.setRequired(true);
    form1.add(valueField);

    add(form);
    add(form1);
}

From source file:eu.uqasar.web.pages.admin.teams.TeamListPage.java

License:Apache License

public TeamListPage(final PageParameters pageParameters) {
    super(pageParameters);

    if (!pageParameters.get("id").isEmpty()) {
        project = projectService.getById(pageParameters.get("id").toLong());
        if (project == null) {
            throw new EntityNotFoundException(Team.class, pageParameters.get("id").toOptionalString());
        }/*from w  ww .  j a va  2  s  .  c o m*/
    }

    Form<Void> form = new Form("form");
    provider = new TeamEntityProvider();
    DataView<Team> usersView = new DataView<Team>("teams", provider, itemsPerPage) {
        @Override
        protected void populateItem(Item<Team> item) {
            final Team team = item.getModelObject();
            item.add(new Check<>("teamCheck", item.getModel(), teamGroup));
            BookmarkablePageLink<TeamEditPage> editTeam = new BookmarkablePageLink<>("link.edit.team",
                    TeamEditPage.class, new PageParameters().add("id", team.getId()));
            item.add(editTeam.add(new Label("td.teamname", new PropertyModel<>(team, "name"))));
            item.add(new Label("td.description", new PropertyModel<>(team, "description")));
            item.add(newMembersPanel(team));
            Link editButton = new BookmarkablePageLink("button.edit", TeamEditPage.class,
                    new PageParameters().add("id", team.getId()));
            item.add(editButton);
            item.setOutputMarkupId(true);
        }
    };
    form.add(teamGroup = newCheckGroup());
    teamsContainer = new WebMarkupContainer("teamsContainer");
    teamGroup.add(teamsContainer.setOutputMarkupId(true));
    CheckGroupSelector checkGroupSelector = new CheckGroupSelector("teamGroupSelector", teamGroup);
    teamsContainer.add(checkGroupSelector);
    teamsContainer.add(usersView);
    teamsContainer.add(deleteSelectedButton = newDeleteSelectedButton(teamGroup));
    teamsContainer.add(addSelectedButton = addteamButton(teamGroup));
    BookmarkablePageLink<TeamEditPage> createTeam = new BookmarkablePageLink<>("link.create.team",
            TeamEditPage.class);
    teamsContainer.add(createTeam);
    add(form);

    teamsContainer.add(navigator = new BootstrapAjaxPagingNavigator("navigatorFoot", usersView));

    allProjects = treeNodeService.getAllProjects();

    // add confirmation modal for deleting items, and adding team to a project
    add(deleteConfirmationModal = newDeleteConfirmationModal());
    add(addConfirmationModal = newAddConfirmationModal());
}

From source file:eu.uqasar.web.pages.admin.users.UserListPage.java

License:Apache License

public UserListPage(final PageParameters pageParameters) {
    super(pageParameters);

    UserFilterPanel filter = new UserFilterPanel("filter") {

        @Override// w w w  . jav  a 2s.  c  om
        public void applyClicked(AjaxRequestTarget target, Form<?> form) {
            userProvider.setFilter(this.getFilter());
            target.add(usersContainer);
        }

        @Override
        public void resetClicked(AjaxRequestTarget target, Form<?> form) {
            userProvider.setFilter(new UserFilterStructure());
            target.add(usersContainer);
        }
    };
    add(filter);
    userProvider = new UserEntityProvider(filter.getFilter());

    Form<Void> form = new Form("form");
    usersContainer = new WebMarkupContainer("usersContainer");
    form.add(userGroup = newCheckGroup());
    userGroup.add(usersContainer.setOutputMarkupId(true));
    CheckGroupSelector checkGroupSelector = new CheckGroupSelector("userGroupSelector", userGroup);
    usersContainer.add(checkGroupSelector);
    usersContainer.add(deleteSelectedButton = newDeleteSelectedButton(userGroup));
    DataView<User> usersView = new DataView<User>("users", userProvider, itemsPerPage) {
        @Override
        protected void populateItem(Item<User> item) {
            final User user = item.getModelObject();
            Check<User> check = newDeleteCheck(item);
            item.add(check);
            Link userEditPictureLink = new BookmarkablePageLink("link.picture.edit.user", UserEditPage.class,
                    new PageParameters().add("id", user.getId()));

            WebMarkupContainer picture = new WebMarkupContainer("td.picture");
            picture.add(new UserProfilePictureBackgroundBehaviour(user, User.PictureDimensions.Badge));
            item.add(userEditPictureLink.add(picture));
            Link userEditNameLink = new BookmarkablePageLink("link.name.edit.user", UserEditPage.class,
                    new PageParameters().add("id", user.getId()));
            item.add(userEditNameLink
                    .add(new Label("td.username", new PropertyModel<>(user, "fullNameWithUserName"))));
            item.add(new Label("td.role", new PropertyModel<>(user, "role")));
            item.add(new Label("td.source", new PropertyModel<>(user, "source")));

            Link userEditLink = new BookmarkablePageLink("link.actions.edit.user", UserEditPage.class,
                    new PageParameters().add("id", user.getId()));
            item.add(userEditLink);

            Link teamEditLink = new AnchorableBookmarkablePageLink("link.actions.edit.team", UserEditPage.class,
                    new PageParameters().add("id", user.getId()), "teams");
            item.add(teamEditLink);

            item.add(getRegistrationStatusIcon(user));
            item.setOutputMarkupId(true);
        }
    };

    // add links for table pagination
    usersContainer.add(navigator = new BootstrapAjaxPagingNavigator("navigatorFoot", usersView));
    usersContainer.add(usersView);

    BookmarkablePageLink<UserEditPage> createUser = new BookmarkablePageLink<>("link.create.user",
            UserEditPage.class);
    usersContainer.add(createUser);
    add(form);

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}

From source file:eu.uqasar.web.pages.analytic.AnalyticWorkbench.java

License:Apache License

public AnalyticWorkbench(PageParameters parameters) {
    super(parameters);

    // TODO implement load analysis from a provide ID project 
    //      // String key = "U-QASAR";
    //      String key = getPageParameters().get("project-key").toOptionalString();
    //      Project project = treeNodeService.getProjectByKey(key);

    // Added button to create new Analysis
    add(newAnalysisButton());/*from  w  w w .  j  av a  2s .co  m*/

    // Add the list of all the Analysis
    DataView<Analysis> analysis = new DataView<Analysis>("analysis", new AnalysisProvider(), itemsPerPage) {

        private static final long serialVersionUID = -2496974746220295976L;

        @Override
        protected void populateItem(Item<Analysis> item) {
            final Analysis analysis = item.getModelObject();

            // Analysis title 
            item.add(viewAnalysisLink(analysis));

            // Analysis icon edit
            item.add(analysisEditorLink(analysis));

            // Analysis icon delete
            item.add(delAnalysis(analysis));

            // Analysis belonging Project label
            item.add(new Label("project", new PropertyModel<String>(analysis.getProject(), "name")));
        }
    };

    analysisContainer.add(analysis);

    analysisContainer.setOutputMarkupId(true);
    add(analysisContainer);

}

From source file:eu.uqasar.web.pages.processes.ProcessManagementPage.java

License:Apache License

/**
 * Constructor building the page/* ww  w .  j  av a 2s  . c o m*/
 * 
 * @param parameters
 */
public ProcessManagementPage(final PageParameters parameters) {

    super(parameters);

    final ProcessProvider processProvider = new ProcessProvider();

    final Form<Process> deleteForm = new Form<>("deleteForm");
    add(deleteForm);

    filterPanel = new ProcessManagementPanel("filter") {

        @Override
        public void applyClicked(AjaxRequestTarget target, Form<?> form) {
            processProvider.setFilter(this.getFilter());
            target.add(processesContainer);
        }

        @Override
        public void resetClicked(AjaxRequestTarget target, Form<?> form) {
            processProvider.setFilter(new ProcessesFilterStructure());
            target.add(processesContainer);

        }

    };
    deleteForm.add(filterPanel);

    // add checkgroup for selecting multiple processes
    deleteForm.add(processGroup = newProcessCheckGroup());

    // add the container holding list of existing processes
    processGroup.add(processesContainer.setOutputMarkupId(true));

    processesContainer.add(new CheckGroupSelector("processGroupSelector", processGroup));

    DataView<Process> processes = new DataView<Process>("processes", processProvider, itemsPerPage) {

        private static final long serialVersionUID = 789669450347695209L;

        @Override
        protected void populateItem(final Item<Process> item) {
            final Process Process = item.getModelObject();

            item.add(new Check<>("processCheck", item.getModel(), processGroup));

            item.add(new Label("name", new PropertyModel<String>(Process, "name")));

            item.add(new Label("description", new PropertyModel<String>(Process, "description")));

            item.add(new DateLabel("startDate", new PropertyModel<Date>(Process, "startDate"),
                    new PatternDateConverter("dd.MM.yyyy", true)));

            item.add(new DateLabel("endDate", new PropertyModel<Date>(Process, "endDate"),
                    new PatternDateConverter("dd.MM.yyyy", true)));

            // add button to show AddEditPage
            item.add(new BookmarkablePageLink<ProcessAddEditPage>("edit", ProcessAddEditPage.class,
                    ProcessAddEditPage.linkToEdit(Process)));
        }
    };
    // add list of processes to container
    processesContainer.add(processes);

    // add button to create new Process
    processesContainer
            .add(new BookmarkablePageLink<ProcessAddEditPage>("addProcessLink", ProcessAddEditPage.class));

    // add links for table pagination
    processesContainer.add(new BootstrapAjaxPagingNavigator("navigatorHead", processes));
    processesContainer.add(new BootstrapAjaxPagingNavigator("navigatorFoot", processes));

    // add button to delete selected products
    processesContainer.add(deleteSelectedButton = newDeleteSelectedButton(processGroup));

    // add confirmation modal for deleting products
    add(deleteConfirmationModal = newDeleteConfirmationModal());
}