Example usage for org.apache.wicket.markup.html.list ListView setModelObject

List of usage examples for org.apache.wicket.markup.html.list ListView setModelObject

Introduction

In this page you can find the example usage for org.apache.wicket.markup.html.list ListView setModelObject.

Prototype

public final void setModelObject(List<T> object) 

Source Link

Document

Sets model object

Usage

From source file:com.axway.ats.testexplorer.pages.reports.compare.ComparePage.java

License:Apache License

private Form<Object> getItemsToCompareForm(final Label noRunsLabel, final Label noTestcasesLabel) {

    final Form<Object> itemsToCompareForm = new Form<Object>("itemsToCompareForm");
    itemsToCompareForm.setOutputMarkupId(true);

    IModel<? extends List<Run>> runsListModel = new LoadableDetachableModel<List<Run>>() {
        private static final long serialVersionUID = 1L;

        protected List<Run> load() {

            return getTESession().getCompareContainer().getRunsList();
        }//from w ww  . ja  v  a 2 s .c o m
    };
    final ListView<Run> runsToCompare = new ListView<Run>("runsToCompare", runsListModel) {
        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Run> item) {

            final ListView<Run> runsToCompareComponent = this;

            if (item.getIndex() % 2 != 0) {
                item.add(AttributeModifier.replace("class", "oddRow"));
            }
            Map<Run, Model<Boolean>> runs = getTESession().getCompareContainer().getRuns();
            item.add(new CheckBox("checkbox", runs.get(item.getModelObject())));
            item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false));
            item.add(new Label("version", item.getModelObject().versionName).setEscapeModelStrings(false));
            item.add(new Label("build", item.getModelObject().buildName).setEscapeModelStrings(false));
            item.add(new Label("startDate", item.getModelObject().getDateStart()).setEscapeModelStrings(false));
            item.add(new Label("endDate", item.getModelObject().getDateEnd()).setEscapeModelStrings(false));
            item.add(new AjaxButton("removeIcon") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onSubmit(AjaxRequestTarget target, Form<?> form) {

                    CompareContainer compareContainer = getTESession().getCompareContainer();
                    compareContainer.removeObject(item.getModelObject());
                    runsToCompareComponent.setModelObject(compareContainer.getRunsList());

                    noRunsLabel.setVisible(compareContainer.getRuns().size() == 0);

                    target.add(noRunsLabel);
                    target.add(itemsToCompareForm);
                }
            });
        }
    };
    itemsToCompareForm.add(runsToCompare);

    AjaxButton removeAllRunsButton = new AjaxButton("removeAllRuns") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {

            CompareContainer compareContainer = getTESession().getCompareContainer();
            compareContainer.getRuns().clear();
            runsToCompare.setModelObject(compareContainer.getRunsList());
            noRunsLabel.setVisible(true);

            target.add(noRunsLabel);
            target.add(itemsToCompareForm);
        }
    };
    itemsToCompareForm.add(removeAllRunsButton);

    IModel<? extends List<Testcase>> testcasesListModel = new LoadableDetachableModel<List<Testcase>>() {
        private static final long serialVersionUID = 1L;

        protected List<Testcase> load() {

            return getTESession().getCompareContainer().getTestcasesList();
        }
    };
    final TestcaseListView<Testcase> testcasesToCompare = new TestcaseListView<Testcase>("testcasesToCompare",
            testcasesListModel) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(final ListItem<Testcase> item) {

            final ListView<Testcase> testcasesToCompareComponent = this;

            if (item.getIndex() % 2 != 0) {
                item.add(AttributeModifier.replace("class", "oddRow"));
            }
            Map<Testcase, Model<Boolean>> testcases = getTESession().getCompareContainer().getTestcases();
            item.add(new CheckBox("checkbox", testcases.get(item.getModelObject())));
            item.add(new Label("runName", item.getModelObject().runName).setEscapeModelStrings(false));
            item.add(new Label("suiteName", item.getModelObject().suiteName).setEscapeModelStrings(false));
            item.add(
                    new Label("scenarioName", item.getModelObject().scenarioName).setEscapeModelStrings(false));
            item.add(new Label("testcaseName", item.getModelObject().name).setEscapeModelStrings(false));
            item.add(new Label("dateStart", item.getModelObject().getDateStart()).setEscapeModelStrings(false));
            item.add(new TextField<String>("testcaseAlias",
                    new PropertyModel<String>(item.getModelObject(), "alias")));

            item.add(moveLinkUp("moveUpLink", item));
            item.add(new AjaxButton("removeIcon") {

                private static final long serialVersionUID = 1L;

                @Override
                public void onSubmit(AjaxRequestTarget target, Form<?> form) {

                    CompareContainer compareContainer = getTESession().getCompareContainer();
                    compareContainer.removeObject(item.getModelObject());
                    testcasesToCompareComponent.setModelObject(compareContainer.getTestcasesList());

                    noTestcasesLabel.setVisible(compareContainer.getTestcases().size() == 0);

                    target.add(noTestcasesLabel);
                    target.add(itemsToCompareForm);
                }
            });
        }
    };
    itemsToCompareForm.add(testcasesToCompare);

    AjaxButton removeAllTestcasesButton = new AjaxButton("removeAllTestcases") {

        private static final long serialVersionUID = 1L;

        @Override
        public void onSubmit(AjaxRequestTarget target, Form<?> form) {

            CompareContainer compareContainer = getTESession().getCompareContainer();
            compareContainer.getTestcases().clear();
            testcasesToCompare.setModelObject(compareContainer.getTestcasesList());
            noTestcasesLabel.setVisible(true);

            target.add(noTestcasesLabel);
            target.add(itemsToCompareForm);
        }
    };
    itemsToCompareForm.add(removeAllTestcasesButton);

    // Standard Runs Compare buttons
    itemsToCompareForm.add(getStandardRunsCompareButtons());

    // Custom Runs Compare buttons
    itemsToCompareForm.add(getCustomRunsCompareButtons());

    // Standard Testcases Compare buttons
    itemsToCompareForm.add(getStandardTestcasesCompareButtons());

    // Custom Testcases Compare buttons
    itemsToCompareForm.add(getCustomTestcasesCompareButtons());

    noRunsLabel.setVisible(getTESession().getCompareContainer().getRuns().size() == 0);
    itemsToCompareForm.add(noRunsLabel);
    noTestcasesLabel.setVisible(getTESession().getCompareContainer().getTestcases().size() == 0);
    itemsToCompareForm.add(noTestcasesLabel);

    return itemsToCompareForm;
}

From source file:org.hippoecm.frontend.editor.plugins.field.MultipleTextFieldWidget.java

License:Apache License

public MultipleTextFieldWidget(String id, final IModel<IPluginConfig> model, final IClusterConfig cluster,
        final String name, final boolean editable) {
    super(id, model);
    setOutputMarkupId(true);//from   w  w  w  .  j a  v a  2 s . c  om

    add(CssClass.append("hippo-multiple-text-field-widget"));

    IPluginConfig config = model.getObject();
    final ListView<String> list = new MultipleValueListView(name, config, cluster, editable);
    add(list);

    AjaxButton button = new AjaxButton("add") {
        @Override
        protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
            List<String> values = list.getModelObject();
            values.add("");
            list.setModelObject(values);
            target.add(MultipleTextFieldWidget.this);
        }
    };
    button.setVisible(editable);
    button.setDefaultFormProcessing(false);
    add(button);

    button.add(HippoIcon.fromSprite("icon", Icon.PLUS));
}