Example usage for org.apache.wicket.extensions.breadcrumb.panel BreadCrumbPanelLink BreadCrumbPanelLink

List of usage examples for org.apache.wicket.extensions.breadcrumb.panel BreadCrumbPanelLink BreadCrumbPanelLink

Introduction

In this page you can find the example usage for org.apache.wicket.extensions.breadcrumb.panel BreadCrumbPanelLink BreadCrumbPanelLink.

Prototype

public BreadCrumbPanelLink(final String id, final IBreadCrumbModel breadCrumbModel,
        final IBreadCrumbPanelFactory breadCrumbPanelFactory) 

Source Link

Document

Construct.

Usage

From source file:gr.abiss.calipso.wicket.OptionsPanel.java

License:Open Source License

public OptionsPanel(String id, final IBreadCrumbModel breadCrumbModel) {
    super(id, breadCrumbModel);

    //        setVersioned(false);                      
    final User user = getPrincipal();

    //User Profile
    add(new BreadCrumbLink("profile", breadCrumbModel) {
        protected IBreadCrumbParticipant getParticipant(String componentId) {
            return new UserFormPanel(componentId, breadCrumbModel, getCalipso().loadUser(user.getId()));
        }//from  www  . j  av  a 2s .  c  o  m
    });

    final boolean isAdmin = user.isGlobalAdmin();
    final boolean isSpaceAdmin = user.isSpaceAdmin();

    add(new BreadCrumbPanelLink("users", this, UserListPanel.class).setVisible(isAdmin || isSpaceAdmin));

    add(new BreadCrumbPanelLink("spaces", this, SpaceListPanel.class).setVisible(isAdmin || isSpaceAdmin));

    add(new BreadCrumbPanelLink("settings", this, ConfigListPanel.class).setVisible(isAdmin));

    add(new BreadCrumbPanelLink("indexes", this, IndexRebuildPanel.class).setVisible(isAdmin));

    add(new BreadCrumbPanelLink("organizations", this, OrganizationPanel.class).setVisible(isAdmin));

    add(new Link("import") {
        public void onClick() {
        }
    }.setVisible(false));

    //Assets
    BreadCrumbLink breadCrumbLink = new BreadCrumbLink("assets", breadCrumbModel) {
        protected IBreadCrumbParticipant getParticipant(String componentId) {
            return new AssetsPanel(componentId, breadCrumbModel);
        }
    };
    breadCrumbLink.setVisible(isAdmin || isSpaceAdmin);
    add(breadCrumbLink);

    BreadCrumbLink validationLink = new BreadCrumbLink("validations", breadCrumbModel) {
        protected IBreadCrumbParticipant getParticipant(String componentId) {
            return new ValidationExpressionPanel(componentId, breadCrumbModel);
        }
    };
    validationLink.setVisible(isAdmin || isSpaceAdmin);
    add(validationLink);
}

From source file:gr.abiss.calipso.wicket.SpaceListPanel.java

License:Open Source License

public SpaceListPanel(String id, final IBreadCrumbModel breadCrumbModel) {
    super(id, breadCrumbModel);
    //BreadCrumbPanelLink createSpacePanelLink = new BreadCrumbPanelLink("create", this, SpaceFormPanel.class);

    user = getPrincipal();//w w  w  . ja v  a 2 s. c o m
    userIsSpaceAdmin = user.isSpaceAdmin();
    add(new BreadCrumbLink("create", getBreadCrumbModel()) {

        @Override
        protected IBreadCrumbParticipant getParticipant(String componentId) {
            return new SpacePanelLanguageSupport(componentId, getBreadCrumbModel());
        }
    });
    //add(createSpacePanelLink.setVisible(user.isAdminForAllSpaces()));

    LoadableDetachableModel spaceListModel = new LoadableDetachableModel() {
        protected Object load() {
            logger.debug("Loading space list from database...");

            if (userIsSpaceAdmin && !user.isGlobalAdmin()) {
                return user.getSpacesWhereUserIsAdmin();
            }

            return getCalipso().findAllSpaces();
        }
    };

    final SimpleAttributeModifier sam = new SimpleAttributeModifier("class", "alt");

    ListView listView = new ListView("spaces", spaceListModel) {
        protected void populateItem(ListItem listItem) {
            final Space space = (Space) listItem.getModelObject();
            if (selectedSpaceId == space.getId()) {
                listItem.add(new SimpleAttributeModifier("class", "selected"));
            } else if (listItem.getIndex() % 2 == 1) {
                listItem.add(sam);
            }
            listItem.add(new Label("prefixCode", new PropertyModel(space, "prefixCode")));
            listItem.add(new Label("name", localize(space)));

            //Edit ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            listItem.add(new BreadCrumbLink("edit", getBreadCrumbModel()) {

                private static final long serialVersionUID = 1L;

                protected IBreadCrumbParticipant getParticipant(String componentId) {
                    Space temp = getCalipso().loadSpace(space.getId());
                    //temp.getMetadata().getXmlString();  // hack to override lazy loading
                    return new SpacePanelLanguageSupport(componentId, getBreadCrumbModel(), temp);
                }
            });

            //Description ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            listItem.add(new Label("description", new PropertyModel(space, "description")));

            // space group name

            listItem.add(new Label("spaceGroupName", new PropertyModel(space, "spaceGroup.name")));

            //Allocate ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            listItem.add(new BreadCrumbLink("allocate", getBreadCrumbModel()) {
                private static final long serialVersionUID = 1L;

                protected IBreadCrumbParticipant getParticipant(String componentId) {
                    return new SpaceAllocatePanel(componentId, getBreadCrumbModel(), space.getId());
                }
            });

            //published ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            listItem.add(new Label("published", new PropertyModel(space, "published")));
            //Asset ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            if (space.isAssetEnabled() && (user.isGlobalAdmin() || user.isSpaceAdmin(space))) {
                listItem.add(new BreadCrumbLink("asset", breadCrumbModel) {
                    private static final long serialVersionUID = 1L;

                    protected IBreadCrumbParticipant getParticipant(String componentId) {
                        Asset asset = new Asset();
                        asset.setSpace(space);
                        return new AssetSpacePanel("panel", getBreadCrumbModel(), new AssetSearch(asset, this),
                                space.getId());
                    }
                });
            } else {
                listItem.add(new BlankPanel("asset").setVisible(true));
            }
        }
    };

    @SuppressWarnings("unchecked")
    boolean spacesExist = !((List<Space>) spaceListModel.getObject()).isEmpty();
    add(new WebMarkupContainer("listHead").setVisible(spacesExist));
    add(listView);
    WebMarkupContainer noData = new WebMarkupContainer("noData");
    noData.add(new BreadCrumbPanelLink("create", this, SpaceFormPanel.class).setVisible(user.isGlobalAdmin()));
    noData.setVisible(!spacesExist);

    add(noData);
}