5,8 → 5,10 |
import java.util.List; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.i18n.Constantes; |
import org.tela_botanica.client.images.Images; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.MenuApplicationId; |
import org.tela_botanica.client.modeles.Personne; |
14,9 → 16,12 |
import org.tela_botanica.client.modeles.Projet; |
import org.tela_botanica.client.modeles.Structure; |
import org.tela_botanica.client.modeles.StructureListe; |
import org.tela_botanica.client.modeles.Valeur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.util.Pattern; |
import org.tela_botanica.client.util.UtilArray; |
|
import com.extjs.gxt.ui.client.Style.SortDir; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
34,12 → 39,22 |
import com.extjs.gxt.ui.client.widget.layout.FormData; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
|
|
public class ProjetForm extends Formulaire implements Rafraichissable { |
|
private Projet projet; |
|
|
private String listeValeurIndexationDureeId = "dureesIndexation"; |
private int listeValeurIndexationDureeInt = 1072; |
private String listeValeurIndexationFrequenceId = "frequencesIndexation"; |
private int listeValeurIndexationFrequenceInt = 1073; |
|
|
private ListStore<Valeur> listeIndexationDuree = null; |
private ListStore<Valeur> listeIndexationFrequence = null; |
|
private FieldSet generalitesFieldset = null; |
private TextField<String> nomChp = null; |
private TextField<String> abreviationChp = null; |
55,9 → 70,11 |
|
private FieldSet indexationFieldset = null; |
private TextField<String> indexationHeureChp = null; |
private TextField<String> indexationDureeChp = null; |
private TextField<String> indexationFrequenceChp = null; |
private ComboBox<Valeur> indexationDureeChp = null; |
private ComboBox<Valeur> indexationFrequenceChp = null; |
|
private boolean listeIndexationDureeChargee = false; |
private boolean listeIndexationFrequenceChargee = false; |
|
private boolean formulaireValideOk = false; |
private boolean projetValideOk = false; |
74,12 → 91,12 |
initialiserProjetForm(mediateurCourrant, projetId); |
} |
|
private void initialiserProjetForm(Mediateur mediateurCourrant, String projetId) { |
private void initialiserProjetForm(Mediateur mediateurCourant, String projetId) { |
projet = new Projet(); |
projet.setId(projetId); |
|
String modeDeCreation = (projet.getId().isEmpty() ? Formulaire.MODE_AJOUTER : Formulaire.MODE_MODIFIER); |
initialiserFormulaire(mediateurCourrant, modeDeCreation, MenuApplicationId.PUBLICATION); |
initialiserFormulaire(mediateurCourant, modeDeCreation, MenuApplicationId.PROJET); |
|
panneauFormulaire.setLayout(new FlowLayout()); |
String titre = genererTitreFormulaire(); |
95,14 → 112,17 |
panneauFormulaire.add(indexationFieldset); |
|
if (modeDeCreation.equals(Formulaire.MODE_MODIFIER)) { |
mediateurCourrant.selectionnerProjet(this, projetId); |
mediateurCourant.selectionnerProjet(this, projetId); |
} |
|
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationDureeId); |
mediateurCourant.obtenirListeValeurEtRafraichir(this, listeValeurIndexationFrequenceId); |
} |
|
private String genererTitreFormulaire() { |
String titre = "Ajout d'une projet"; |
if (mode.equals(Formulaire.MODE_MODIFIER)) { |
titre = "Modification d'une projet - "+i18nC.id()+": "+projet.getId(); |
titre = "Modification d'un projet - "+i18nC.id()+": "+projet.getId(); |
} |
return titre; |
} |
181,21 → 201,29 |
indexationFieldset.setLayout(layout); |
|
indexationHeureChp = new TextField<String>(); |
indexationHeureChp.setFieldLabel("Heure d'indexation"); |
indexationHeureChp.setFieldLabel(i18nC.projetIndexationHeure()); |
|
indexationFieldset.add(indexationHeureChp, new FormData(80, 0)); |
|
// liste 1073 |
listeIndexationFrequence = new ListStore<Valeur>(); |
indexationFrequenceChp = new ComboBox<Valeur>(); |
indexationFrequenceChp.setStore(listeIndexationFrequence); |
indexationFrequenceChp.setDisplayField("nom"); |
indexationFrequenceChp.setEditable(false); |
indexationFrequenceChp.setFieldLabel(i18nC.projetIndexationFrequence()); |
|
indexationFieldset.add(indexationFrequenceChp, new FormData(120, 0)); |
|
// liste 1072 |
indexationDureeChp = new TextField<String>(); |
indexationDureeChp.setFieldLabel("Durée d'indexation"); |
listeIndexationDuree = new ListStore<Valeur>(); |
indexationDureeChp = new ComboBox<Valeur>(); |
indexationDureeChp.setStore(listeIndexationDuree); |
indexationDureeChp.setDisplayField("nom"); |
indexationDureeChp.setEditable(false); |
indexationDureeChp.setFieldLabel(i18nC.projetIndexationDuree()); |
|
indexationFieldset.add(indexationDureeChp, new FormData(80, 0)); |
|
// liste 1073 |
indexationFrequenceChp = new TextField<String>(); |
indexationFrequenceChp.setFieldLabel("Fréquence d'indexation"); |
|
indexationFieldset.add(indexationFrequenceChp, new FormData(50, 0)); |
|
} |
|
203,9 → 231,30 |
if (nouvellesDonnees instanceof Projet) { |
// Si on a reçu les details d'une projet |
rafraichirProjet((Projet) nouvellesDonnees); |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
GWT.log("Un projet est arrivé : "+((Projet) nouvellesDonnees).getNom(), null); |
} |
|
if(nouvellesDonnees instanceof ValeurListe) { |
ValeurListe nValeurListe = (ValeurListe)nouvellesDonnees; |
|
if(nValeurListe.getId() == listeValeurIndexationDureeInt) { |
for(Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) { |
listeIndexationDuree.add(nValeurListe.get(it.next())); |
listeIndexationDuree.sort("id_valeur", SortDir.ASC); |
listeIndexationDureeChargee = true; |
} |
|
} |
|
if(nValeurListe.getId() == listeValeurIndexationFrequenceInt) { |
for(Iterator<String> it = nValeurListe.keySet().iterator(); it.hasNext();) { |
listeIndexationFrequence.add(nValeurListe.get(it.next())); |
listeIndexationFrequence.sort("id_valeur", SortDir.ASC); |
listeIndexationFrequenceChargee = true; |
} |
} |
} |
|
if (etreValide()) { |
initialiserValidation(); |
repandreRafraichissement(); |
234,9 → 283,9 |
|
private void repandreRafraichissement() { |
if (vueExterneARafraichirApresValidation != null) { |
String type = "projet_modifiee"; |
String type = "projet_modifie"; |
if (mode.equals(Formulaire.MODE_AJOUTER)) { |
type = "projet_ajoutee"; |
type = "projet_ajoute"; |
} |
Information info = new Information(type); |
info.setDonnee(0, projet); |
286,6 → 335,25 |
|
private void peuplerFormulaire() { |
|
nomChp.setValue(projet.getNom()); |
abreviationChp.setValue(projet.getAbreviation()); |
descriptionChp.setValue(projet.getDescription()); |
resumeChp.setValue(projet.getResume()); |
urlChp.setValue(projet.getUrl()); |
|
motsClesChp.setValue(projet.getMotsCles()); |
citationChp.setValue(projet.getCitation()); |
licenceChp.setValue(projet.getLicence()); |
markPublicChp.setValue(Boolean.parseBoolean(projet.getMarkPublic())); |
|
indexationHeureChp.setValue(projet.getIndexationHeure()); |
indexationFrequenceChp.select(listeIndexationFrequence.findModel(projet.getIndexationFreq())); |
indexationDureeChp.select(listeIndexationDuree.findModel(projet.getIndexationDuree())); |
|
doLayout(true); |
|
Window.alert("Gna !!"); |
|
} |
|
private Projet collecterProjet() { |
330,5 → 398,4 |
|
return ecouteur; |
} |
|
} |