
package de.ivu.elect.presentation.wahlrechtspruefung.action;

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

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

import org.primefaces.event.SelectEvent;

import de.ivu.elect.business.wahlrechtspruefung.entity.Wahlrechtspruefung;
import de.ivu.elect.jee.presentation.action.AbstractActionMenuModelBuilder;
import de.ivu.elect.jee.presentation.action.ActionEntry;

@Named(WahlrechtspruefungActionMenu.COMPONENT_NAME)
public class WahlrechtspruefungActionMenu extends AbstractActionMenuModelBuilder<Wahlrechtspruefung> {

  private static final long serialVersionUID = 1L;

  public static final String COMPONENT_NAME = "wahlrechtspruefungActionMenu";

  @Inject
  private transient WahlrechtspruefungSetzePruefungUngeprueftAction wahlrechtspruefungSetzePruefungUngeprueftAction;

  @Inject
  private transient WahlrechtspruefungSetzePruefungErfuelltAction wahlrechtspruefungSetzePruefungErfuelltAction;

  @Inject
  private transient WahlrechtspruefungSetzePruefungFristSetzenAction wahlrechtspruefungSetzePruefungFristSetzenAction;

  @Inject
  private transient WahlrechtspruefungSetzePruefungNichtErfuelltAction wahlrechtspruefungSetzePruefungNichtErfuelltAction;

  @Inject
  private transient WahlrechtspruefungSetzePruefungIrrelevantAction wahlrechtspruefungSetzePruefungIrrelevantAction;

  @Inject
  private transient WahlrechtspruefungBemerkungAction wahlrechtspruefungBemerkungAction;

  public WahlrechtspruefungActionMenu() {
    super();
  }

  @Override
  protected List<ActionEntry<Wahlrechtspruefung>> getActionEntriesSorted() {
    List<ActionEntry<Wahlrechtspruefung>> result = new ArrayList<>();
    result.add(wahlrechtspruefungSetzePruefungUngeprueftAction);
    result.add(wahlrechtspruefungSetzePruefungErfuelltAction);
    result.add(wahlrechtspruefungSetzePruefungFristSetzenAction);
    result.add(wahlrechtspruefungSetzePruefungNichtErfuelltAction);
    result.add(wahlrechtspruefungSetzePruefungIrrelevantAction);
    result.add(wahlrechtspruefungBemerkungAction);

    return result;
  }

  @Override
  public void onRowDblselect(SelectEvent event) {
    // Nichts Sinnvolles zu tun...
  }
}
