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

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

Introduction

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

Prototype

@Override
    public MarkupContainer setDefaultModel(final IModel<?> model) 

Source Link

Usage

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);
}