5,9 → 5,13 |
import org.tela_botanica.client.ComposantClass; |
import org.tela_botanica.client.ComposantId; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
import org.tela_botanica.client.interfaces.Rafraichissable; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.modeles.collection.CollectionAStructure; |
import org.tela_botanica.client.modeles.collection.CollectionAStructureListe; |
import org.tela_botanica.client.modeles.structure.Structure; |
import org.tela_botanica.client.modeles.structure.StructureAPersonne; |
import org.tela_botanica.client.modeles.structure.StructureAPersonneListe; |
14,9 → 18,9 |
import org.tela_botanica.client.modeles.structure.StructureConservation; |
import org.tela_botanica.client.modeles.structure.StructureValorisation; |
import org.tela_botanica.client.synchronisation.Sequenceur; |
import org.tela_botanica.client.util.Debug; |
import org.tela_botanica.client.vues.DetailVue; |
|
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.util.Format; |
import com.extjs.gxt.ui.client.util.Params; |
27,7 → 31,6 |
import com.extjs.gxt.ui.client.widget.layout.AnchorLayout; |
import com.extjs.gxt.ui.client.widget.layout.FitLayout; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
|
public class StructureDetailVue extends DetailVue implements Rafraichissable { |
|
41,6 → 44,9 |
private String valorisationTpl = null; |
private String typeTraitementConservationTpl = null; |
private String rechercheValorisationTpl = null; |
private String collectionTpl = null; |
private String ligneCollectionTpl = null; |
private String tableauCollectionTpl = null; |
|
private Structure structure = null; |
private boolean structureChargementOk = false; |
48,6 → 54,8 |
private boolean personnelChargementOk = false; |
private StructureValorisation valorisation = null; |
private StructureConservation conservation = null; |
private CollectionAStructureListe collection = null; |
private boolean collectionChargementOk = false; |
|
private ContentPanel panneauPrincipal = null; |
private Html entete = null; |
54,6 → 62,7 |
private TabPanel onglets = null; |
private TabItem identificationOnglet = null; |
private TabItem personnelOnglet = null; |
private TabItem collectionOnglet = null; |
private TabItem conservationOnglet = null; |
private TabItem valorisationOnglet = null; |
|
89,6 → 98,11 |
personnelOnglet.setScrollMode(Scroll.AUTO); |
onglets.add(personnelOnglet); |
|
collectionOnglet = new TabItem(i18nC.structureInfoCollection()); |
collectionOnglet.setLayout(new AnchorLayout()); |
collectionOnglet.setScrollMode(Scroll.AUTO); |
onglets.add(collectionOnglet); |
|
conservationOnglet = new TabItem(i18nC.structureInfoConservation()); |
conservationOnglet.setLayout(new AnchorLayout()); |
conservationOnglet.setScrollMode(Scroll.AUTO); |
129,6 → 143,9 |
if (valorisation != null) { |
afficherValorisation(); |
} |
if (collection != null) { |
afficherCollection(); |
} |
} |
layout(); |
} |
431,6 → 448,58 |
return cHtml; |
} |
|
private void afficherCollection() { |
Params collectionParams = new Params(); |
|
collectionParams.set("i18n_titre_collection", i18nC.structureInfoCollection()); |
collectionParams.set("i18n_indication_collection", i18nC.structureIndicationCollection()); |
collectionParams.set("i18n_indication_lien_collection", i18nC.structureIndicationLienCollection()); |
collectionParams.set("css_indication_titre_petit", ComposantClass.INDICATION_TITRE_PETIT); |
|
String guidTpl = ((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("consultationCollectionsLieesStructures"); |
String guid = guidTpl.replace("{str_id}", structure.getId()); |
collectionParams.set("guid_structure", guid); |
|
String tableauCollectionHtml = ""; |
if (collection.size() > 0) { |
tableauCollectionHtml = construireTableauCollection(); |
} |
collectionParams.set("tableau_collection", tableauCollectionHtml); |
|
afficherOnglet(collectionTpl, collectionParams, collectionOnglet); |
} |
|
private String construireTableauCollection() { |
Params contenuParams = new Params(); |
String lignesCollection = ""; |
|
contenuParams.set("i18n_nom_collection", i18nC.nomCollection()); |
contenuParams.set("i18n_id_collection", i18nC.id()); |
contenuParams.set("i18n_lien_collection", i18nC.structureLienCollection()); |
contenuParams.set("css_largeur_colonne_id", ComposantClass.LARGEUR_COLONNE_ID); |
|
String guidTpl = ((Configuration) Registry.get(RegistreId.CONFIG)).getUrl("consultationCollections"); |
|
Iterator<String> it = collection.keySet().iterator(); |
while (it.hasNext()) { |
CollectionAStructure collectionCourante = collection.get(it.next()); |
Params ligneParams = new Params(); |
|
String guidCollection = guidTpl.replace("{col_id}", collectionCourante.getIdCollection()); |
ligneParams.set("guid_structure", guidCollection); |
|
ligneParams.set("id_collection", collectionCourante.getIdCollection()); |
ligneParams.set("nom_collection", collectionCourante.getNom()); |
ligneParams.set("lien_collection", guidCollection); |
|
lignesCollection += Format.substitute(ligneCollectionTpl, ligneParams); |
} |
contenuParams.set("lignes", lignesCollection); |
|
String cHtml = Format.substitute(tableauCollectionTpl, contenuParams); |
return cHtml; |
} |
|
private void initialiserTousLesTpl() { |
initialiserEnteteTpl(); |
initialiserIdentificationTpl(); |
442,6 → 511,9 |
initialiserTypeTraitementConservationTpl(); |
initialiserValorisationTpl(); |
initialiserRechercheValorisationTpl(); |
initialiserCollectionTpl(); |
initialiserTableauCollectionTpl(); |
initialiserLigneCollectionTpl(); |
} |
|
private void initialiserEnteteTpl() { |
554,7 → 626,7 |
" <span class='{css_label}'>{i18n_conservation_en_commun} :</span> {conservation_en_commun} {collection_autre}<br />"+ |
" <span class='{css_label}'>{i18n_acces_controle} :</span> {acces_controle}<br />"+ |
" </div>"+ |
" <hr class='{css_clear}'/>"+ |
" <hr class='{css_clear}'Window/>"+ |
" <div class='{css_fieldset}'>"+ |
" <h2>{i18n_titre_operation}</h2>"+ |
" <span class='{css_label}'>{i18n_restauration} :</span> {restauration} {restauration_operation}<br />"+ |
614,8 → 686,43 |
"<span class='{css_indentation} {css_label}'>{i18n_recherche_type} :</span> {recherche_type}<br />"; |
} |
|
private void initialiserCollectionTpl() { |
collectionTpl = |
"<div class='{css_corps}'>"+ |
" <h2>{i18n_titre_collection} (<span class='{css_label} {css_indication_titre_petit}'>{i18n_indication_collection}</span>)</h2>"+ |
" {tableau_collection}"+ |
" <p> "+ |
" <a href=\"{guid_structure}\" class=\"{css_indication_titre_petit}\" target=\"_blank\">{i18n_indication_lien_collection}</a>"+ |
" </p>"+ |
"</div>"; |
} |
|
private void initialiserTableauCollectionTpl() { |
tableauCollectionTpl = |
"<table>"+ |
" <thead>"+ |
" <tr>" + |
" <th class=\"{css_largeur_colonne_id}\">{i18n_id_collection}</th>" + |
" <th>{i18n_nom_collection}</th>" + |
" <th>{i18n_lien_collection}</th>" + |
" </tr>"+ |
" </thead>"+ |
" <tbody>"+ |
" {lignes}"+ |
" </tbody>"+ |
"</table>"; |
} |
|
private void initialiserLigneCollectionTpl() { |
ligneCollectionTpl = |
"<tr>"+ |
" <td>{id_collection}</td>"+ |
" <td>{nom_collection}</td>"+ |
" <td><a href=\"{lien_collection}\" target=\"_blank\">{lien_collection}</a></td>"+ |
"</tr>"; |
} |
|
public void rafraichir(Object nouvellesDonnees) { |
|
if (nouvellesDonnees instanceof Structure) { |
structure = (Structure) nouvellesDonnees; |
structureChargementOk = true; |
627,6 → 734,9 |
if (info.getType().equals("liste_structure_a_personne")) { |
allouerPersonnelAStructure((StructureAPersonneListe) info.getDonnee(0)); |
personnelChargementOk = true; |
} else if (info.getType().equals("liste_collection_a_structure")) { |
allouerCollectionAStructure((CollectionAStructureListe) info.getDonnee(0)); |
collectionChargementOk = true; |
} else if (info.getType().equals("ontologie_chargee")) { |
ontologieChargementOk = true; |
} |
638,6 → 748,10 |
} |
} |
|
private void allouerCollectionAStructure(CollectionAStructureListe donnee) { |
collection = donnee; |
} |
|
protected void allouerPersonnelAStructure(StructureAPersonneListe personnel) { |
structure.setPersonnel(personnel); |
} |