1,11 → 1,22 |
package org.tela_botanica.client.vues; |
|
import java.util.ArrayList; |
import java.util.Collections; |
import java.util.Comparator; |
import java.util.Iterator; |
import java.util.List; |
|
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.Modele; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Configuration; |
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 com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.HorizontalAlignment; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.BasePagingLoader; |
32,12 → 43,22 |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.extjs.gxt.ui.client.widget.layout.FlowLayout; |
import com.extjs.gxt.ui.client.widget.layout.FormLayout; |
import com.google.gwt.core.client.GWT; |
|
public class FormStructureVue extends LayoutContainer implements Rafraichissable { |
|
private Modele coelModele = null ; |
private ListStore<Valeur> magazinLstpr = null; |
private ComboBox<Valeur> comboLstpr = null; |
private ListStore<Valeur> magazinLstpu = null; |
private ComboBox<Valeur> comboLstpu = null; |
|
public FormStructureVue() { |
setLayout(new FitLayout()); |
|
// Initialisation de variables |
coelModele = Registry.get(RegistreId.MODELE); |
|
// Création du panneau Formulaire |
FormPanel panel = new FormPanel(); |
panel.setFrame(true); |
80,42 → 101,67 |
gauche.add(mnhnChp); |
|
// Combobox |
String url = "http://localhost/jrest/CoelValeurListe/ab/12"; |
ScriptTagProxy<Object, PagingLoadResult<ModelData>> proxy = new ScriptTagProxy<Object, PagingLoadResult<ModelData>>(url); |
|
ModelType type = new ModelType(); |
type.root = "topics"; |
type.totalName = "totalCount"; |
type.addField("cmlv_id_valeur", "id"); |
type.addField("cmlv_ce_parent", "ce_parent"); |
type.addField("cmlv_ce_projet", "ce_projet"); |
type.addField("cmlv_nom", "nom"); |
type.addField("cmlv_abreviation", "abreviation"); |
type.addField("cmlv_description", "description"); |
type.addField("cmlv_ce_meta", "ce_meta"); |
coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpu")); |
magazinLstpu = new ListStore<Valeur>(); |
magazinLstpu.add(new ArrayList<Valeur>()); |
comboLstpu = new ComboBox<Valeur>(); |
comboLstpu.setFieldLabel("Statut des structures publiques"); |
comboLstpu.setDisplayField("nom"); |
comboLstpu.setTriggerAction(TriggerAction.ALL); |
comboLstpu.setStore(magazinLstpu); |
gauche.add(comboLstpu); |
|
JsonReader<PagingLoadConfig> reader = new JsonReader<PagingLoadConfig>(type) { |
protected ListLoadResult newLoadResult(PagingLoadConfig loadConfig, List<ModelData> models) { |
PagingLoadResult result = new BasePagingLoadResult(models, loadConfig.getOffset(), |
loadConfig.getLimit()); |
return result; |
} |
}; |
coelModele.obtenirListeValeurs(((Configuration) Registry.get(RegistreId.CONFIG)).getListeId("stpr")); |
magazinLstpr = new ListStore<Valeur>(); |
magazinLstpr.add(new ArrayList<Valeur>()); |
comboLstpr = new ComboBox<Valeur>(); |
comboLstpr.setFieldLabel("Statut des structures privées"); |
comboLstpr.setDisplayField("nom"); |
comboLstpr.setTriggerAction(TriggerAction.ALL); |
comboLstpr.setStore(magazinLstpr); |
gauche.add(comboLstpr); |
|
PagingLoader loader = new BasePagingLoader(proxy, reader); |
TextField<String> adrChp = new TextField<String>(); |
adrChp.setFieldLabel("Adresse"); |
gauche.add(adrChp); |
|
ListStore<ModelData> store = new ListStore<ModelData>(loader); |
TextField<String> cpChp = new TextField<String>(); |
cpChp.setFieldLabel("Code postal"); |
gauche.add(cpChp); |
|
ComboBox<ModelData> combo = new ComboBox<ModelData>(); |
combo.setFieldLabel("Statut des structures publiques"); |
combo.setDisplayField("nom"); |
combo.setItemSelector("div.search-item"); |
//combo.setTemplate(getTemplate()); |
combo.setStore(store); |
combo.setHideTrigger(false); |
combo.setPageSize(5); |
gauche.add(combo); |
TextField<String> villeChp = new TextField<String>(); |
villeChp.setFieldLabel("Ville"); |
gauche.add(villeChp); |
|
TextField<String> regionChp = new TextField<String>(); |
regionChp.setFieldLabel("Région"); |
gauche.add(regionChp); |
|
TextField<String> paysChp = new TextField<String>(); |
paysChp.setFieldLabel("Pays"); |
gauche.add(paysChp); |
|
TextField<String> telChp = new TextField<String>(); |
telChp.setFieldLabel("Téléphone"); |
gauche.add(telChp); |
|
TextField<String> faxChp = new TextField<String>(); |
faxChp.setFieldLabel("Fax"); |
gauche.add(faxChp); |
|
TextField<String> emailChp = new TextField<String>(); |
emailChp.setFieldLabel("Courriel"); |
emailChp.setToolTip("Saisir le courriel de l'organisation, pas de courriel individuel. Ex. : accueil@organisation.org"); |
gauche.add(emailChp); |
|
TextField<String> urlChp = new TextField<String>(); |
urlChp.setFieldLabel("Site web"); |
gauche.add(urlChp); |
|
TextField<String> dateFondationChp = new TextField<String>(); |
dateFondationChp.setFieldLabel("Date de fondation"); |
gauche.add(dateFondationChp); |
|
// Formulaire DROITE |
RadioGroup group = new RadioGroup(); |
group.setFieldLabel("Type"); |
144,8 → 190,31 |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
// TODO Auto-generated method stub |
|
if (nouvelleDonnees instanceof ValeurListe) { |
ValeurListe listeValeurs = (ValeurListe) nouvelleDonnees; |
|
List<Valeur> liste = new ArrayList<Valeur>(); |
for (Iterator<String> it = listeValeurs.keySet().iterator(); it.hasNext();) { |
liste.add(listeValeurs.get(it.next())); |
} |
// Test pour savoir si la liste contient des éléments |
if (liste.size() > 0) { |
Configuration config = (Configuration) Registry.get(RegistreId.CONFIG); |
if (listeValeurs.getId().equals(config.getListeId("stpr"))) { |
GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null); |
magazinLstpr.removeAll(); |
magazinLstpr.add(liste); |
comboLstpr.setStore(magazinLstpr); |
} |
if (listeValeurs.getId().equals(config.getListeId("stpu"))) { |
GWT.log("La liste #"+listeValeurs.getId()+" a été reçue!", null); |
magazinLstpu.removeAll(); |
magazinLstpu.add(liste); |
comboLstpu.setStore(magazinLstpu); |
} |
} else { |
GWT.log("La liste #"+listeValeurs.getId()+" ne contient aucune valeurs!", null); |
} |
} |
} |
|
} |