16,7 → 16,7 |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.HorizontalAlignment; |
import com.extjs.gxt.ui.client.event.ComponentEvent; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.HorizontalPanel; |
32,7 → 32,6 |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormData; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.google.gwt.user.client.Window; |
import com.google.gwt.user.client.ui.HTML; |
|
public class PublicationForm extends LayoutContainer implements Rafraichissable { |
39,15 → 38,15 |
|
private Mediateur mediateur = null; |
|
FormPanel panel = null ; |
FormPanel panel = null; |
|
private String idStructureEdition = "" ; |
private String idPublication = "" ; |
private String idProjet = "" ; |
private String metaPubli = "" ; |
private String idStructureEdition = ""; |
private String idPublication = ""; |
private String idProjet = ""; |
private String metaPubli = ""; |
|
private PersonneListe listePersonneAuteur = null ; |
private ListStore<Personne> storeAuteurs = null ; |
private PersonneListe listePersonneAuteur = null; |
private ListStore<Personne> storeAuteurs = null; |
private ArrayList<ComboBox<Personne>> listeAuteurs = null; |
|
private TextField<String> nomArticle = null; |
62,13 → 61,11 |
private TextField<String> pagesPub = null; |
private String mode = "AJOUT"; |
|
FieldSet fieldSetAuteurs = null ; |
FieldSet fieldSetAuteurs = null; |
|
private Publication publi; |
|
|
public PublicationForm() { |
|
setLayout(new FitLayout()); |
mediateur = Registry.get(RegistreId.MEDIATEUR); |
|
78,7 → 75,7 |
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset = new FormLayout(); |
layoutFieldset.setLabelWidth(200); |
layoutFieldset.setPadding(4); |
//layoutFieldset.setPadding(4); |
|
//+-----------------------------------------------------------------------------------------------------------+ |
// Création du panneau Formulaire |
100,12 → 97,12 |
|
panel.add(fieldSetAuteurs); |
|
genererChampsAuteur("",false); |
genererChampsAuteur("", false); |
|
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset2 = new FormLayout(); |
layoutFieldset.setLabelWidth(200); |
layoutFieldset.setPadding(4); |
//layoutFieldset.setPadding(4); |
|
// Fieldset Infos Générales |
FieldSet fieldSetInfosGen = new FieldSet(); |
113,7 → 110,6 |
fieldSetInfosGen.setCollapsible(true); |
fieldSetInfosGen.setLayout(layoutFieldset2); |
|
|
panel.add(fieldSetInfosGen); |
|
nomArticle = new TextField<String>(); |
132,7 → 128,7 |
|
// Création de la disposition : FIELDSET |
FormLayout layoutFieldset3 = new FormLayout(); |
layoutFieldset.setPadding(4); |
//layoutFieldset.setPadding(4); |
|
// Fieldset Edition |
FieldSet fieldSetEdition = new FieldSet(); |
164,31 → 160,27 |
pagesPub = new TextField<String>(); |
pagesPub.setFieldLabel("Pages"); |
|
fieldSetEdition.add(comboListeEditeurs,new FormData(500,20)); |
fieldSetEdition.add(datePub, new FormData(75,20)); |
fieldSetEdition.add(comboListeEditeurs, new FormData(500, 20)); |
fieldSetEdition.add(datePub, new FormData(75, 20)); |
fieldSetEdition.add(tomPub); |
fieldSetEdition.add(fasciculePub); |
fieldSetEdition.add(pagesPub, new FormData(100,20)); |
fieldSetEdition.add(pagesPub, new FormData(100, 20)); |
|
// Ajout des boutons au panneau formulaire |
Button annulerBtn = new Button("Annuler"); |
annulerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() { |
|
annulerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() { |
@Override |
public void componentSelected(ComponentEvent ce) { |
public void componentSelected(ButtonEvent be) { |
mediateur.clicMenu("Publications"); |
} |
|
}); |
panel.addButton(annulerBtn); |
Button validerBtn = new Button("Valider"); |
validerBtn.addSelectionListener(new SelectionListener<ComponentEvent>() { |
|
validerBtn.addSelectionListener(new SelectionListener<ButtonEvent>() { |
@Override |
public void componentSelected(ComponentEvent ce) { |
public void componentSelected(ButtonEvent be) { |
soumettreFormulaire(); |
} |
|
}); |
panel.addButton(validerBtn); |
|
199,12 → 191,11 |
public void rafraichir(Object nouvelleDonnees) { |
|
// Si on a reçu les details d'une publication |
if(nouvelleDonnees instanceof Publication) { |
|
if (nouvelleDonnees instanceof Publication) { |
mode = "MODIF" ; |
|
publi = (Publication)nouvelleDonnees; |
genererChampsAuteur(publi.getIdAuteur(),false); |
publi = (Publication) nouvelleDonnees; |
genererChampsAuteur(publi.getIdAuteur(), false); |
|
nomArticle.setValue(publi.getTitre()); |
intituleCollPub.setValue(publi.getCollection()); |
222,37 → 213,36 |
} |
|
// Si on a reçu une liste des editeurs |
if(nouvelleDonnees instanceof StructureListe) { |
if (nouvelleDonnees instanceof StructureListe) { |
storeEditeurs.removeAll(); |
StructureListe listeStructure = (StructureListe) nouvelleDonnees; |
storeEditeurs.add((List<Structure>) listeStructure.toList()); |
|
if(mode.equals("MODIF")) { |
if (mode.equals("MODIF")) { |
comboListeEditeurs.setValue((Structure) listeStructure.get(idStructureEdition)); |
} |
comboListeEditeurs.expand(); |
} |
|
if(nouvelleDonnees instanceof PersonneListe) { |
if (nouvelleDonnees instanceof PersonneListe) { |
storeAuteurs.removeAll(); |
listePersonneAuteur = (PersonneListe)nouvelleDonnees; |
Set<String> listeStructureSet = listePersonneAuteur.keySet(); |
for(Iterator<String> it = listeStructureSet.iterator() ; it.hasNext() ;) { |
for (Iterator<String> it = listeStructureSet.iterator(); it.hasNext();) { |
storeAuteurs.add(listePersonneAuteur.get(it.next())); |
} |
|
if(mode.equals("MODIF")) { |
genererChampsAuteur(publi.getIdAuteur(),false); |
if (mode.equals("MODIF")) { |
genererChampsAuteur(publi.getIdAuteur(), false); |
} |
} |
} |
|
private void soumettreFormulaire() { |
|
String auteur = "" ; |
for(int i = 0 ; i < listeAuteurs.size() ; i++) { |
String auteur = ""; |
for (int i = 0; i < listeAuteurs.size(); i++) { |
auteur += listeAuteurs.get(i).getValue(); |
if(i != listeAuteurs.size() -1) { |
if (i != listeAuteurs.size() -1) { |
auteur += "|"; |
} |
} |
276,14 → 266,12 |
} |
|
private void genererChampsAuteur(String auteursStr, boolean ajouter) { |
|
String[] auteurs = auteursStr.split(";;"); |
LayoutContainer conteneurChamps = new LayoutContainer(); |
|
if(auteurs.length != 0) { |
if (auteurs.length != 0) { |
listeAuteurs = new ArrayList<ComboBox<Personne>>(auteurs.length); |
} |
else{ |
} else { |
listeAuteurs = new ArrayList<ComboBox<Personne>>(1); |
ajouter = true ; |
} |
295,38 → 283,33 |
fieldSetAuteurs.add(labelAuteur); |
int i = 0; |
|
for(i = 0 ; i < auteurs.length ; i++) { |
for (i = 0; i < auteurs.length; i++) { |
conteneurChamps.add(creerTextFieldEtBouton(auteurs[i])); |
} |
|
if(ajouter) { |
if (ajouter) { |
conteneurChamps.add(creerTextFieldEtBouton(null)); |
} |
|
Button ajoutAuteurBtn = new Button("Ajouter un auteur"); |
ajoutAuteurBtn.addSelectionListener(new SelectionListener<ComponentEvent>() { |
ajoutAuteurBtn.addSelectionListener(new SelectionListener<ButtonEvent>() { |
|
@Override |
public void componentSelected(ComponentEvent ce) { |
|
public void componentSelected(ButtonEvent be) { |
String idsAuteurs = "" ; |
|
for(int i = 0 ; i < listeAuteurs.size() ; i++) { |
|
Personne enCours = listeAuteurs.get(i).getValue() ; |
String valeurChampAuteur = " " ; |
Personne enCours = listeAuteurs.get(i).getValue(); |
String valeurChampAuteur = " "; |
if(enCours != null) { |
valeurChampAuteur = enCours.getId(); |
} else { |
valeurChampAuteur = null; |
} |
else |
{ |
valeurChampAuteur = null ; |
if(valeurChampAuteur != null) { |
idsAuteurs += valeurChampAuteur; |
} |
if(valeurChampAuteur != null) |
{ |
idsAuteurs += valeurChampAuteur ; |
} |
idsAuteurs += ";;" ; |
idsAuteurs += ";;"; |
} |
genererChampsAuteur(idsAuteurs,true); |
} |
339,14 → 322,13 |
} |
|
public HorizontalPanel creerTextFieldEtBouton(String valeurDefaut) { |
HorizontalPanel p = new HorizontalPanel(); |
|
HorizontalPanel p = new HorizontalPanel() ; |
|
// Création de la disposition : FIELDSET |
FormLayout layoutPanelTF = new FormLayout(); |
p.setLayout(layoutPanelTF); |
|
final ComboBox<Personne> tf = new ComboBox<Personne>() ; |
final ComboBox<Personne> tf = new ComboBox<Personne>(); |
tf.setDisplayField("fmt_nom_complet"); |
tf.setStore(storeAuteurs); |
if(valeurDefaut != null && !valeurDefaut.equals("") ) { |
357,36 → 339,30 |
listeAuteurs.add(tf); |
|
Button supp = new Button("-"); |
supp.addSelectionListener(new SelectionListener<ComponentEvent>() { |
supp.addSelectionListener(new SelectionListener<ButtonEvent>() { |
@Override |
public void componentSelected(ComponentEvent ce) { |
|
String idsAuteurs = "" ; |
public void componentSelected(ButtonEvent be) { |
String idsAuteurs = ""; |
listeAuteurs.remove(tf); |
|
for(int i = 0 ; i < listeAuteurs.size() ; i++) { |
for (int i = 0; i < listeAuteurs.size(); i++) { |
|
Personne enCours = listeAuteurs.get(i).getValue() ; |
String valeurChampAuteur = " " ; |
if(enCours != null) { |
String valeurChampAuteur = " "; |
if (enCours != null) { |
valeurChampAuteur = enCours.getId(); |
} else { |
valeurChampAuteur = null; |
} |
else |
{ |
valeurChampAuteur = null ; |
} |
|
if(valeurChampAuteur != null & !valeurChampAuteur.equals("")) |
{ |
idsAuteurs += valeurChampAuteur ; |
if (valeurChampAuteur != null & !valeurChampAuteur.equals("")) { |
idsAuteurs += valeurChampAuteur; |
} else { |
idsAuteurs += " "; |
} |
else |
{ |
idsAuteurs += " " ; |
if (i != listeAuteurs.size() - 1) { |
idsAuteurs += ";;"; |
} |
if(i != listeAuteurs.size() - 1) { |
idsAuteurs+= ";;"; |
} |
} |
genererChampsAuteur(idsAuteurs,false); |
} |
396,6 → 372,6 |
p.add(supp); |
fieldSetAuteurs.add(p); |
|
return p ; |
return p; |
} |
} |
} |