Package fr.openwide.maven.artifact.notifier.web.application.administration.component

Source Code of fr.openwide.maven.artifact.notifier.web.application.administration.component.AdministrationArtifactSearchPanel

package fr.openwide.maven.artifact.notifier.web.application.administration.component;

import org.apache.wicket.markup.html.form.Form;
import org.apache.wicket.markup.html.form.SubmitLink;
import org.apache.wicket.markup.html.form.TextField;
import org.apache.wicket.markup.html.navigation.paging.IPageable;
import org.apache.wicket.markup.html.panel.Panel;
import org.apache.wicket.model.IModel;
import org.retzlaff.select2.Select2Settings;

import fr.openwide.maven.artifact.notifier.core.business.artifact.model.ArtifactDeprecationStatus;
import fr.openwide.maven.artifact.notifier.web.application.artifact.component.ArtifactDeprecationStatusDropDownChoice;

public class AdministrationArtifactSearchPanel extends Panel {
 
  private static final long serialVersionUID = -6224313886789870489L;
 
  private IPageable pageable;
 
  private IModel<String> searchTermModel;
 
  private IModel<ArtifactDeprecationStatus> deprecationModel;
 
  public AdministrationArtifactSearchPanel(String id, IPageable pageable, IModel<String> searchTermModel, IModel<ArtifactDeprecationStatus> deprecationModel) {
    super(id);
   
    this.pageable = pageable;
   
    this.searchTermModel = searchTermModel;
    this.deprecationModel = deprecationModel;
   
    Form<Void> form = new Form<Void>("form") {
      private static final long serialVersionUID = -584576228542906811L;
      @Override
      protected void onSubmit() {
        // Lors de la soumission d'un formulaire de recherche, on retourne sur la première page
        AdministrationArtifactSearchPanel.this.pageable.setCurrentPage(0);
        super.onSubmit();
      }
    };
   
    TextField<String> searchInput = new TextField<String>("searchInput", this.searchTermModel);
    form.add(searchInput);
   
    ArtifactDeprecationStatusDropDownChoice deprecationField = new ArtifactDeprecationStatusDropDownChoice("deprecation", deprecationModel) {
      private static final long serialVersionUID = 1L;

      @Override
      protected void fillSelect2Settings(Select2Settings settings) {
        super.fillSelect2Settings(settings);
        settings.setAllowClear(true);
      }
    };
    deprecationField.setNullValid(true);
    form.add(deprecationField);
   
    form.add(new SubmitLink("submit"));
   
    add(form);
  }

  @Override
  protected void onDetach() {
    super.onDetach();
    if (searchTermModel != null) {
      searchTermModel.detach();
    }
    if (deprecationModel != null) {
      deprecationModel.detach();
    }
  }
}
TOP

Related Classes of fr.openwide.maven.artifact.notifier.web.application.administration.component.AdministrationArtifactSearchPanel

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.