New file |
0,0 → 1,151 |
package org.tela_botanica.client.vues; |
|
import java.util.Collections; |
import java.util.Comparator; |
import java.util.List; |
|
import org.tela_botanica.client.interfaces.Rafraichissable; |
|
import com.extjs.gxt.ui.client.Style.HorizontalAlignment; |
import com.extjs.gxt.ui.client.data.BasePagingLoadResult; |
import com.extjs.gxt.ui.client.data.BasePagingLoader; |
import com.extjs.gxt.ui.client.data.JsonReader; |
import com.extjs.gxt.ui.client.data.ListLoadResult; |
import com.extjs.gxt.ui.client.data.ModelData; |
import com.extjs.gxt.ui.client.data.ModelType; |
import com.extjs.gxt.ui.client.data.PagingLoadConfig; |
import com.extjs.gxt.ui.client.data.PagingLoadResult; |
import com.extjs.gxt.ui.client.data.PagingLoader; |
import com.extjs.gxt.ui.client.data.ScriptTagProxy; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.Radio; |
import com.extjs.gxt.ui.client.widget.form.RadioGroup; |
import com.extjs.gxt.ui.client.widget.form.TextField; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.form.FormPanel.LabelAlign; |
import com.extjs.gxt.ui.client.widget.layout.ColumnData; |
import com.extjs.gxt.ui.client.widget.layout.ColumnLayout; |
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; |
|
public class FormStructureVue extends LayoutContainer implements Rafraichissable { |
|
public FormStructureVue() { |
setLayout(new FitLayout()); |
|
// Création du panneau Formulaire |
FormPanel panel = new FormPanel(); |
panel.setFrame(true); |
panel.setIconStyle("icone-form-ajouter"); |
panel.setCollapsible(false); |
panel.setHeading("Ajout d'une institution"); |
panel.setButtonAlign(HorizontalAlignment.CENTER); |
panel.setLayout(new FlowLayout()); |
|
LayoutContainer main = new LayoutContainer(); |
main.setLayout(new ColumnLayout()); |
|
// Création de la dispostion : GAUCHE |
LayoutContainer gauche = new LayoutContainer(); |
FormLayout layout = new FormLayout(); |
layout.setLabelAlign(LabelAlign.LEFT); |
layout.setLabelWidth(200); |
gauche.setLayout(layout); |
|
// Création de la dispostion : DROITE |
LayoutContainer droite = new LayoutContainer(); |
layout = new FormLayout(); |
layout.setLabelAlign(LabelAlign.LEFT); |
droite.setLayout(layout); |
|
// Formulaire GAUCHE |
TextField<String> nomStructureChp = new TextField<String>(); |
nomStructureChp.setFieldLabel("Nom de la structure"); |
nomStructureChp.setAllowBlank(false); |
gauche.add(nomStructureChp); |
|
TextField<String> ihChp = new TextField<String>(); |
ihChp.setFieldLabel("Acronyme Index Herbariorum"); |
ihChp.setToolTip("Herbier de plus de 5000 échantillons"); |
gauche.add(ihChp); |
|
TextField<String> mnhnChp = new TextField<String>(); |
mnhnChp.setFieldLabel("Acronyme MNHN"); |
mnhnChp.setToolTip("Herbier de moins de 5000 échantillons"); |
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"); |
|
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; |
} |
}; |
|
PagingLoader loader = new BasePagingLoader(proxy, reader); |
|
ListStore<ModelData> store = new ListStore<ModelData>(loader); |
|
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); |
|
// Formulaire DROITE |
RadioGroup group = new RadioGroup(); |
group.setFieldLabel("Type"); |
Radio structureRadio = new Radio(); |
structureRadio.setBoxLabel("Structure"); |
structureRadio.setValue(true); |
group.add(structureRadio); |
Radio particulierRadio = new Radio(); |
particulierRadio.setBoxLabel("Particulier"); |
group.add(particulierRadio); |
droite.add(group); |
|
// Ajout des colonnes |
main.add(gauche, new ColumnData(.5)); |
main.add(droite, new ColumnData(.5)); |
panel.add(main); |
|
// Ajout des boutons au panneau formulaire |
Button annulerBtn = new Button("Annuler"); |
panel.addButton(annulerBtn); |
Button validerBtn = new Button("Valider"); |
panel.addButton(validerBtn); |
|
// Ajout du panneau Formulaire à la disposition générale |
add(panel); |
} |
|
public void rafraichir(Object nouvelleDonnees) { |
// TODO Auto-generated method stub |
|
} |
|
} |