List of usage examples for org.apache.wicket.markup.html.list ListView setDefaultModel
@Override public MarkupContainer setDefaultModel(final IModel<?> model)
From source file:hsa.awp.admingui.view.ProcedureListPanel.java
License:Open Source License
/** * default constuctor. create a list of all existing procedures and adds a edit link. * * @param id id of the ProcedureList//from w w w.ja va 2s . c o m */ public ProcedureListPanel(String id) { super(id); procs = controller.getProceduresByMandator(getSession()); // get the existing procedures // create a wicket ListView ListView<Procedure> lv = new ListView<Procedure>("procView", procs) { /** * generated UID */ private static final long serialVersionUID = 1049749247094208402L; @Override protected void populateItem(final ListItem<Procedure> item) { // adds the name of the procedure to the ListView item.add(new Label("listName", item.getModelObject().getName())); // adds the edit link to the ListView item.add(new Link<DrawProcedurePanel>("procLink", new PropertyModel<DrawProcedurePanel>(DrawProcedurePanel.class, "propModel")) { private static final long serialVersionUID = 2608105750093364620L; // creating the link for editing a procedure @Override public void onClick() { if (item.getModelObject().getClass() == DrawProcedure.class) { setResponsePage(new OnePanelPage(new DrawProcedurePanel(OnePanelPage.getPanelIdOne(), (DrawProcedure) item.getModelObject()))); } else if (item.getModelObject().getClass() == FifoProcedure.class) { setResponsePage(new OnePanelPage(new FifoProcedurePanel(OnePanelPage.getPanelIdOne(), (FifoProcedure) item.getModelObject()))); } } }); item.add(new AbstractDeleteLink<Procedure>("deleteLink", item.getModelObject()) { @Override public void modifyItem(Procedure procedure) { controller.deleteProcedure(procedure); setResponsePage(new OnePanelPage(new ProcedureListPanel(OnePanelPage.getPanelIdOne()))); } }); } }; // create a model which holds the procedures CollectionModel<Procedure> model = new CollectionModel<Procedure>(); Collection<Procedure> modelCollection = new LinkedList<Procedure>(); modelCollection.addAll(procs); model.setObject(modelCollection); lv.setDefaultModel(model); // adding the ListView to the panel add(lv); }
From source file:org.sakaiproject.delegatedaccess.tool.pages.EditablePanelListInherited.java
License:Educational Community License
public EditablePanelListInherited(String id, IModel inputModel, final NodeModel nodeModel, final TreeNode node, final int userType, final int fieldType) { super(id);//from ww w . j av a 2s . c o m final WebMarkupContainer inheritedSpan = new WebMarkupContainer("inheritedSpan"); inheritedSpan.setOutputMarkupId(true); final String inheritedSpanId = inheritedSpan.getMarkupId(); add(inheritedSpan); //Auth final IModel<List<? extends ListOptionSerialized>> inheritedRestrictedAuthToolsModel = new AbstractReadOnlyModel<List<? extends ListOptionSerialized>>() { private static final long serialVersionUID = 1L; @Override public List<? extends ListOptionSerialized> getObject() { if (loadedFlag) { List<ListOptionSerialized> selectedOptions = null; List<ListOptionSerialized> inheritedOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { selectedOptions = nodeModel.getSelectedRestrictedAuthTools(); inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getNodeShoppingPeriodAdmin()) { List<ListOptionSerialized> returnList = selectedOptions; if (returnList.isEmpty()) { returnList = inheritedOptions; } return returnList; } else { return inheritedOptions; } } else { return new ArrayList<ListOptionSerialized>(); } } }; //Public final IModel<List<? extends ListOptionSerialized>> inheritedRestrictedPublicToolsModel = new AbstractReadOnlyModel<List<? extends ListOptionSerialized>>() { private static final long serialVersionUID = 1L; @Override public List<? extends ListOptionSerialized> getObject() { if (loadedFlag) { List<ListOptionSerialized> selectedOptions = null; List<ListOptionSerialized> inheritedOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { selectedOptions = nodeModel.getSelectedRestrictedPublicTools(); inheritedOptions = nodeModel.getInheritedRestrictedPublicTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getNodeShoppingPeriodAdmin()) { List<ListOptionSerialized> returnList = selectedOptions; if (returnList.isEmpty()) { returnList = inheritedOptions; } return returnList; } else { return inheritedOptions; } } else { return new ArrayList<ListOptionSerialized>(); } } }; //Auth final ListView<ListOptionSerialized> inheritedAuthListView = new ListView<ListOptionSerialized>( "inheritedRestrictedAuthTools", inheritedRestrictedAuthToolsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ListOptionSerialized> item) { ListOptionSerialized tool = (ListOptionSerialized) item.getModelObject(); Label name = new Label("name", tool.getName()); item.add(name); } @Override public boolean isVisible() { if (loadedFlag) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); nodeOptions = nodeModel.getNodeRestrictedAuthTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (inheritedOptions != null && !inheritedOptions.isEmpty()) || (!nodeModel.getNodeShoppingPeriodAdmin() && nodeOptions.length > 0); } else { return inheritedOptions != null && !inheritedOptions.isEmpty(); } } else { return false; } } }; inheritedAuthListView.setOutputMarkupId(true); inheritedSpan.add(inheritedAuthListView); //public: final ListView<ListOptionSerialized> inheritedPublicListView = new ListView<ListOptionSerialized>( "inheritedRestrictedPublicTools", inheritedRestrictedPublicToolsModel) { private static final long serialVersionUID = 1L; @Override protected void populateItem(ListItem<ListOptionSerialized> item) { ListOptionSerialized tool = (ListOptionSerialized) item.getModelObject(); Label name = new Label("name", tool.getName()); item.add(name); } @Override public boolean isVisible() { if (loadedFlag && DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedPublicTools(); nodeOptions = nodeModel.getNodeRestrictedPublicTools(); } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (inheritedOptions != null && !inheritedOptions.isEmpty()) || (!nodeModel.getNodeShoppingPeriodAdmin() && nodeOptions.length > 0); } else { return inheritedOptions != null && !inheritedOptions.isEmpty(); } } else { return false; } } }; inheritedPublicListView.setOutputMarkupId(true); inheritedSpan.add(inheritedPublicListView); AjaxLink<Void> inheritedToolsLink = new AjaxLink<Void>("inheritedToolsLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { if (!loadedFlag) { loadedFlag = true; inheritedAuthListView.setDefaultModel(inheritedRestrictedAuthToolsModel); inheritedPublicListView.setDefaultModel(inheritedRestrictedPublicToolsModel); target.addComponent(inheritedSpan); } target.appendJavascript("document.getElementById('" + inheritedSpanId + "').style.display='';"); } }; add(inheritedToolsLink); AjaxLink<Void> closeInheritedSpanLink = new AjaxLink<Void>("closeInheritedSpanLink") { private static final long serialVersionUID = 1L; @Override public void onClick(AjaxRequestTarget target) { target.appendJavascript("document.getElementById('" + inheritedSpanId + "').style.display='none';"); } }; inheritedSpan.add(closeInheritedSpanLink); Label inheritedNodeTitle = new Label("inheritedNodeTitle", nodeModel.getNode().title); inheritedSpan.add(inheritedNodeTitle); Label noInheritedToolsLabel = new Label("noToolsInherited", new StringResourceModel("inheritedNothing", null)) { public boolean isVisible() { if (loadedFlag) { List<ListOptionSerialized> inheritedOptions = null; String[] nodeOptions = null; if (DelegatedAccessConstants.TYPE_LISTFIELD_TOOLS == fieldType) { inheritedOptions = nodeModel.getInheritedRestrictedAuthTools(); nodeOptions = nodeModel.getNodeRestrictedAuthTools(); if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { inheritedOptions.addAll(nodeModel.getInheritedRestrictedPublicTools()); String[] nodeOptions2 = nodeModel.getNodeRestrictedPublicTools(); //we only care about the length, so its fine to keep it empty: nodeOptions = new String[nodeOptions2.length + nodeOptions.length]; } } if (DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType) { return (nodeModel.getNodeShoppingPeriodAdmin() && (inheritedOptions == null || inheritedOptions.isEmpty())) || (!nodeModel.getNodeShoppingPeriodAdmin() && (nodeOptions == null || nodeOptions.length == 0)); } else { return inheritedOptions == null || inheritedOptions.isEmpty(); } } else { return false; } }; }; inheritedSpan.add(noInheritedToolsLabel); Label authHeader = new Label("authHeader", new ResourceModel(".auth")) { @Override public boolean isVisible() { return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getInheritedRestrictedAuthTools().isEmpty(); } }; inheritedSpan.add(authHeader); Label publicHeader = new Label("publicHeader", new ResourceModel(".anon")) { @Override public boolean isVisible() { return DelegatedAccessConstants.TYPE_ACCESS_SHOPPING_PERIOD_USER == userType && !nodeModel.getInheritedRestrictedPublicTools().isEmpty(); } }; inheritedSpan.add(publicHeader); }