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

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

import javax.enterprise.inject.Specializes;
import javax.inject.Inject;

import de.ivu.elect.jee.presentation.menu.MenuEntry;
import de.ivu.elect.jee.presentation.menu.SeparatorMenuEntry;

@Specializes
public class WasPraesentationMenuBuilder extends PraesentationMenuBuilder {

  @Inject
  private transient SeparatorMenuEntry separator;

  @Inject
  private transient PraesentationStatusMenuItemEntry praesentationStatusMenuItemEntry;

  @Inject
  private transient PraesentationOeffnenMenuItemEntry praesentationOeffnenMenuItemEntry;

  @Inject
  private transient PraesentationOeffnenExternMenuItemEntry praesentationOeffnenExternMenuItemEntry;

  @Inject
  private transient PraesentationGenerierenMenuItemEntry praesentationGenerierenMenuItemEntry;

  @Inject
  private transient PraesentationPlatzhalterEditMenuItemEntry praesentationPlatzhalterEditMenuItemEntry;

  @Inject
  private transient PraesentationStatistikSearchMenuItemEntry praesentationStatistikSearchMenuItemEntry;

//  @Inject
//  private transient PraesentationKonfigurierenMenuItemEntry praesentationKonfigurierenMenuItemEntry;

  @Inject
  private transient PraesentationExportMenuItemEntry praesentationExportMenuItemEntry;

  public WasPraesentationMenuBuilder() {
    super();
  }

  @Override
  public List<MenuEntry> getMenuEntries() {
    List<MenuEntry> result = new ArrayList<>();

    result.add(praesentationStatusMenuItemEntry);
    // result.add(praesentationKonfigurierenMenuItemEntry);
    result.add(separator);
    result.addAll(super.getMenuEntries());
    result.add(praesentationPlatzhalterEditMenuItemEntry);

    result.add(separator);
    result.add(praesentationOeffnenMenuItemEntry);
    result.add(praesentationOeffnenExternMenuItemEntry);
    result.add(praesentationGenerierenMenuItemEntry);
    result.add(praesentationExportMenuItemEntry);

    result.add(separator);
    result.add(praesentationStatistikSearchMenuItemEntry);

    return result;
  }
}
