Калитка хлебная крошка назад кнопка - PullRequest
0 голосов
/ 08 мая 2018

У меня есть страница панели, где я показываю две ссылки в виде хлебных крошек при нажатии кнопки со страницы.Я хочу иметь возможность вернуться на ту же страницу на кнопку назад.например, я нахожусь на странице панели «Группа» и при нажатии кнопки на странице группы отображаются две хлебные крошки
Группа >> элемент >> приложение.Я хочу вернуться на страницу группы со страницы приложения при нажатии кнопки «Назад».

public class GroupPanel extends Panel
{

private final IBreadCrumModel breadCrumbModel;


public GroupPanel(String id, final IBreadCrumbModel breadCrumbModel)
{
    super(id);
    this.breadCrumbModel = breadCrumbModel;
    addGroup();
}

public void addGroup()
{

    add(new ListView<GroupDetails>("rows", listData)
    {
        public void populateItem(final ListItem<GroupDetails> item)
        {
            item.add(new WebMarkupContainer("view")
            {
                private static final long serialVersionUID = 1L;

                @Override
                public boolean isVisible()
                {
                    return true;
                }
            }.add(new BreadCrumbLink<Void>("action", breadCrumbModel)
            {
                private static final long serialVersionUID = 1L;

                @Override
                public IBreadCrumbParticipant getBreadCrumbParticipant()
                {
                    breadCrumbModel.setActive(new ItemPanel(breadCrumbModel, ItemModel));// adding
                                                                                            // two
                                                                                            // breadcrumbs
                    return new ApplicationPanel(breadCrumbModel, ApplicationModel);

                }
            }));
        }
    });

}

}

public class ApplicationPanel extends BreadCrumbPanel
{

private IBreadCrumbParticipant breadCrumbReturn

public ApplicationPanel(final IBreadCrumbModel breadCrumbModel, IModel<Application> ApplicationModel){
    this(breadCrumbModel.getActive().getComponent().getId(), breadCrumbModel, ApplicationModel)
}

public ApplicationPanel(String id, final IBreadCrumbModel breadCrumbModel, IModel<Application> ApplicationModel){
    super(id, breadCrumbModel)
    setBreadCrumbModel(breadcrumbs.getActive())
}

@Override
protected void onInitialize() {
    super.onInitialize()
    form = new Form<Void>("form"){
    add(form);

    addBackButton();
}

public void setBreadCrumbReturn(IBreadCrumbParticipant breadCrumbReturn)
{
    this.breadCrumbReturn = breadCrumbReturn;
}

protected void addBackButton(){

    form.add(new BreadCrumbLink<Void>("back", getBreadCrumbModel()) {
        private static final long serialVersionUID = 1L;

        @Override
        public IBreadCrumbParticipant getBreadCrumbParticipant() {
            return breadCrumbReturn;    
        }

        @Override
        public boolean isVisible() {
            return true
        }
    }); 
}

/**
 * @see org.apache.wicket.extensions.breadcrumb.IBreadCrumbParticipant#getTitle()
 */
public String getTitle()
{
    return "Application";
}

}

public class Item extends BreadCrumbPanel{

public Item(IBreadCrumbModel breadCrumbModel, final IModel<Item> itemModel){
    super(breadCrumbModel.getActive().getComponent().getId(), breadCrumbModel)
}

}

...