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

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

Introduction

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

Prototype

@SuppressWarnings("unchecked")
public final Component setDefaultModelObject(final Object object) 

Source Link

Document

Sets the backing model object.

Usage

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

License:Apache License

public CompareRunsPage(PageParameters parameters) {

    super(parameters);

    final String runIds = extractParameter(parameters, "runIds").replace("_", ",");

    final WebMarkupContainer testsComparisonContainer = new WebMarkupContainer("testsComparison");
    testsComparisonContainer.setOutputMarkupId(true);
    add(testsComparisonContainer);//from www. j  av  a  2s .c o  m

    Form<Object> testsComparisonForm = new Form<Object>("testsComparisonForm");
    testsComparisonForm.setOutputMarkupId(true);
    testsComparisonForm.setMarkupId("testsComparisonForm");

    List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds);
    final ListView<List<TestcasesTableCell>> testcasesTable = getTestcasesTable(testcasesTableModel);
    testsComparisonForm.add(testcasesTable);
    testsComparisonContainer.add(testsComparisonForm);

    AjaxButton applyFilterButton = new AjaxButton("applyFilterButton") {

        private static final long serialVersionUID = 1L;

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

            List<List<TestcasesTableCell>> testcasesTableModel = getTestcasesTableModel(runIds);
            testcasesTable.setDefaultModelObject(testcasesTableModel);

            target.add(testsComparisonContainer);
        }
    };
    applyFilterButton.setOutputMarkupId(true);
    applyFilterButton.setMarkupId("applyFilterButton");

    testsComparisonForm.add(applyFilterButton);
    testsComparisonForm.setDefaultButton(applyFilterButton);
}

From source file:org.sakaiproject.delegatedaccess.tool.pages.EditablePanelList.java

License:Educational Community License

public EditablePanelList(String id, IModel inputModel, final NodeModel nodeModel, final TreeNode node,
        final int userType, final int fieldType) {
    super(id);//from   ww w.  j a v a  2s  . co m

    this.nodeModel = nodeModel;
    this.node = node;

    final WebMarkupContainer editableSpan = new WebMarkupContainer("editableSpan");
    editableSpan.setOutputMarkupId(true);
    final String editableSpanId = editableSpan.getMarkupId();
    add(editableSpan);

    AjaxLink<Void> saveEditableSpanLink = new AjaxLink<Void>("saveEditableSpanLink") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            target.appendJavascript("document.getElementById('" + editableSpanId + "').style.display='none';");
            //In order for the models to refresh, you have to call "expand" or "collapse" then "updateTree",
            //since I don't want to expand or collapse, I just call whichever one the node is already
            //Refreshing the tree will update all the models and information (like role) will be generated onClick
            if (((BaseTreePage) target.getPage()).getTree().getTreeState().isNodeExpanded(node)) {
                ((BaseTreePage) target.getPage()).getTree().getTreeState().expandNode(node);
            } else {
                ((BaseTreePage) target.getPage()).getTree().getTreeState().collapseNode(node);
            }
            ((BaseTreePage) target.getPage()).getTree().updateTree(target);
        }
    };
    editableSpan.add(saveEditableSpanLink);

    Label editableSpanLabel = new Label("editableNodeTitle", nodeModel.getNode().title);
    editableSpan.add(editableSpanLabel);

    WebMarkupContainer toolTableHeader = new WebMarkupContainer("toolTableHeader") {
        @Override
        public boolean isVisible() {
            return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType;
        }
    };
    editableSpan.add(toolTableHeader);

    List<ListOptionSerialized[]> listOptions = new ArrayList<ListOptionSerialized[]>();

    final ListView<ListOptionSerialized[]> listView = new ListView<ListOptionSerialized[]>("list",
            listOptions) {

        private static final long serialVersionUID = 1L;

        @Override
        protected void populateItem(ListItem<ListOptionSerialized[]> item) {
            ListOptionSerialized wrapper = item.getModelObject()[0];
            item.add(new Label("name", wrapper.getName()));
            //Auth Checkbox:
            final CheckBox checkBox = new CheckBox("authCheck", new PropertyModel(wrapper, "selected"));
            checkBox.setOutputMarkupId(true);
            checkBox.setOutputMarkupPlaceholderTag(true);
            final String checkBoxId = checkBox.getMarkupId();
            final String toolId = wrapper.getId();
            checkBox.add(new AjaxFormComponentUpdatingBehavior("onClick") {
                protected void onUpdate(AjaxRequestTarget target) {
                    if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
                        nodeModel.setAuthToolRestricted(toolId, isChecked());
                    }
                }

                private boolean isChecked() {
                    final String value = checkBox.getValue();
                    if (value != null) {
                        try {
                            return Strings.isTrue(value);
                        } catch (Exception e) {
                            return false;
                        }
                    }
                    return false;
                }
            });
            item.add(checkBox);
            if (nodeModel.isPublicToolRestricted(toolId) && !nodeModel.isAuthToolRestricted(toolId)) {
                //disable the auth option because public is already selected (only disable if it's not already selected)
                checkBox.setEnabled(false);
            }

            //Public Checkbox:
            ListOptionSerialized publicWrapper = item.getModelObject()[1];
            final CheckBox publicCheckBox = new CheckBox("publicCheck",
                    new PropertyModel(publicWrapper, "selected")) {
                @Override
                public boolean isVisible() {
                    return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType;
                }
            };
            publicCheckBox.setOutputMarkupId(true);
            final String publicToolId = publicWrapper.getId();
            publicCheckBox.add(new AjaxFormComponentUpdatingBehavior("onClick") {
                protected void onUpdate(AjaxRequestTarget target) {
                    boolean checked = isPublicChecked();

                    if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
                        nodeModel.setPublicToolRestricted(publicToolId, checked);
                    }

                    if (checked) {
                        //if public is checked, we don't need the "auth" checkbox enabled (or selected).  Disabled and De-select it
                        checkBox.setModelValue(new String[] { "false" });
                        checkBox.setEnabled(false);
                        if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
                            nodeModel.setAuthToolRestricted(toolId, false);
                        }
                    } else {
                        checkBox.setEnabled(true);
                    }
                    target.addComponent(checkBox, checkBoxId);
                }

                private boolean isPublicChecked() {
                    final String value = publicCheckBox.getValue();
                    if (value != null) {
                        try {
                            return Strings.isTrue(value);
                        } catch (Exception e) {
                            return false;
                        }
                    }
                    return false;
                }
            });
            item.add(publicCheckBox);

        }
    };
    editableSpan.add(listView);

    AjaxLink<Void> restrictToolsLink = new AjaxLink<Void>("restrictToolsLink") {
        private static final long serialVersionUID = 1L;

        @Override
        public void onClick(AjaxRequestTarget target) {
            if (!loadedFlag) {
                loadedFlag = true;
                List<ListOptionSerialized[]> listOptions = null;
                if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
                    listOptions = getNodeModelToolsList(nodeModel);
                }
                listView.setDefaultModelObject(listOptions);
                target.addComponent(editableSpan);
            }
            target.appendJavascript("document.getElementById('" + editableSpanId + "').style.display='';");
        }
    };
    add(restrictToolsLink);

    add(new WebComponent("noToolsSelectedWarning") {
        @Override
        public boolean isVisible() {
            return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType
                    && nodeModel.getSelectedRestrictedAuthTools().isEmpty()
                    && nodeModel.getSelectedRestrictedPublicTools().isEmpty();
        }

        @Override
        protected void onComponentTag(ComponentTag tag) {
            super.onComponentTag(tag);
            tag.put("title", new ResourceModel("noToolsSelected").getObject());
        }
    });

    Label restrictToolsLinkLabel = new Label("restrictToolsSpan");
    if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
        if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) {
            restrictToolsLinkLabel.setDefaultModel(new StringResourceModel("showToolsHeader", null));
        } else {
            restrictToolsLinkLabel.setDefaultModel(new StringResourceModel("restrictedToolsHeader", null));
        }
    }
    restrictToolsLink.add(restrictToolsLinkLabel);

    Label editToolsTitle = new Label("editToolsTitle");
    if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
        if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) {
            editToolsTitle.setDefaultModel(new StringResourceModel("editableShowToolsTitle", null));
        } else {
            editToolsTitle.setDefaultModel(new StringResourceModel("editableRestrictedToolsTitle", null));
        }
    }
    editableSpan.add(editToolsTitle);

    Label editToolsInstructions = new Label("editToolsInstructions");
    if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) {
        if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) {
            editToolsInstructions
                    .setDefaultModel(new StringResourceModel("editableShowToolsDescription", null));
        } else {
            editToolsInstructions
                    .setDefaultModel(new StringResourceModel("editableRestrictedToolsDescription", null));
        }
    }
    editableSpan.add(editToolsInstructions);

}