List of usage examples for org.apache.wicket.markup.html.list ListView setDefaultModelObject
@SuppressWarnings("unchecked") public final Component setDefaultModelObject(final Object object)
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); }