package de.ivu.elect.presentation.edit;

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

import de.ivu.elect.business.benutzerverwaltung.control.PrincipalBenutzerParameterLoader;
import de.ivu.elect.business.benutzerverwaltung.entity.BenutzerEditorFeldEinstellung;
import de.ivu.elect.business.benutzerverwaltung.entity.BenutzerParameterWerte;
import de.ivu.elect.business.benutzerverwaltung.entity.BenutzerSuchparameterEinstellung;
import de.ivu.elect.jee.presentation.dynamicform.FormBuilderConfig;

@Specializes
public class ElectFormBuilderConfig extends FormBuilderConfig {

  public ElectFormBuilderConfig() {
    super();
  }

  @Inject
  private transient PrincipalBenutzerParameterLoader principalBenutzerParameterLoader;

  @Override
  public boolean isEditFormBuilderPropertiesHiddenOnPageLoad() {
    BenutzerEditorFeldEinstellung benutzerEditorFeldEinstellung = principalBenutzerParameterLoader
        .resolveEnumValue(BenutzerParameterWerte.EDITOR_FELD_SICHTBARKEIT, BenutzerEditorFeldEinstellung.class);
    return benutzerEditorFeldEinstellung!=null && benutzerEditorFeldEinstellung.isHidden();
  }

  @Override
  public boolean isSearchFormBuilderPropertiesHiddenOnPageLoad() {
    BenutzerSuchparameterEinstellung benutzerSuchparameterEinstellung = principalBenutzerParameterLoader
        .resolveEnumValue(BenutzerParameterWerte.SUCHPARAMTER_SICHTBARKEIT, BenutzerSuchparameterEinstellung.class);
    return benutzerSuchparameterEinstellung != null && benutzerSuchparameterEinstellung.isHidden();
  }
}
