
package de.ivu.elect.presentation.gruppeimgebiet.menu;

import java.util.ArrayList;
import java.util.List;

import javax.inject.Inject;
import javax.inject.Named;

import de.ivu.elect.business.gebietsbaum.boundary.GebietSessionSelect;
import de.ivu.elect.jee.presentation.menu.AbstractMenuModelBuilder;
import de.ivu.elect.jee.presentation.menu.MenuEntry;

@Named(GruppeImGebietSearchMenu.COMPONENT_NAME)
public class GruppeImGebietSearchMenu extends AbstractMenuModelBuilder {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "gruppeImGebietSearchMenu";

  @Inject
  private transient GruppeImGebietReihenfolgeBestaetigenMenuItemEntry reihenfolgeBestaetigenMenuItemEntry;

  @Inject
  private transient GruppeImGebietReihenfolgeEditMenuItemEntry reihenfolgeEditMenuItemEntry;

  @Inject
  private transient GruppeImGebietReihenfolgeGruppenMenuItemEntry gruppeImGebietReihenfolgeGruppenMenuItemEntry;

  @Inject
  private transient GruppeImGebietReihenfolgeZuruecksetzenMenuItemEntry reihenfolgeZuruecksetzenMenuItemEntry;

  @Inject
  protected transient GebietSessionSelect gebietSelect;

  @Override
  public boolean isRendered() {
    return super.isRendered() && gebietSelect.getEntity() != null && gebietSelect.getEntity().isWahlOderDirektwahlOderListenwahlgebietOderHatEntprechendesUntergebiet();
  }

  @Override
  protected List<MenuEntry> getMenuEntriesSorted() {
    List<MenuEntry> result = new ArrayList<>();

    result.add(reihenfolgeEditMenuItemEntry);
    result.add(reihenfolgeBestaetigenMenuItemEntry);
    result.add(gruppeImGebietReihenfolgeGruppenMenuItemEntry);
    result.add(reihenfolgeZuruecksetzenMenuItemEntry);

    return result;
  }
}
