/trunk/src/org/tela_botanica/client/vues/CollectionFormPublication.java |
---|
35,8 → 35,11 |
import com.extjs.gxt.ui.client.widget.form.FormPanel; |
import com.extjs.gxt.ui.client.widget.form.ComboBox.TriggerAction; |
import com.extjs.gxt.ui.client.widget.grid.ColumnConfig; |
import com.extjs.gxt.ui.client.widget.grid.ColumnData; |
import com.extjs.gxt.ui.client.widget.grid.ColumnModel; |
import com.extjs.gxt.ui.client.widget.grid.EditorGrid; |
import com.extjs.gxt.ui.client.widget.grid.Grid; |
import com.extjs.gxt.ui.client.widget.grid.GridCellRenderer; |
import com.extjs.gxt.ui.client.widget.grid.GridSelectionModel; |
import com.extjs.gxt.ui.client.widget.grid.RowExpander; |
import com.extjs.gxt.ui.client.widget.grid.RowNumberer; |
277,7 → 280,6 |
if (publicationsSaisiesComboBox.getValue() instanceof Publication) { |
Publication publicationSaisieSelectionne = publicationsSaisiesComboBox.getValue(); |
ajouterDansGrille(publicationSaisieSelectionne); |
Debug.log("ici"); |
publicationsSaisiesComboBox.setValue(null); |
} |
} |
299,7 → 301,7 |
publicationLiee.setIdCollection(collection.getId()); |
} |
publicationLiee.set("_etat_", aDonnee.ETAT_AJOUTE); |
Debug.log("publi liée:"+publicationLiee.getClass()); |
// Ajout à la grille |
grille.stopEditing(); |
grille.getStore().insert(publicationLiee, 0); |
356,8 → 358,8 |
colonnes.add(new ColumnConfig("fmt_auteur", i18nC.publicationAuteurs(), 150)); |
colonnes.add(new ColumnConfig("titre", i18nC.publicationTitre(), 150)); |
colonnes.add(new ColumnConfig("collection", i18nC.publicationRevueCollection(), 75)); |
colonnes.add(PublicationListeVue.creerColonneEditeur()); |
colonnes.add(PublicationListeVue.creerColonneAnneePublication()); |
colonnes.add(creerColonneEditeur()); |
colonnes.add(creerColonneAnneePublication()); |
colonnes.add(new ColumnConfig("indication_nvt", i18nC.publicationNvt(), 75)); |
colonnes.add(new ColumnConfig("fascicule", i18nC.publicationFascicule(), 75)); |
colonnes.add(new ColumnConfig("truk_pages", i18nC.publicationPage(), 50)); |
380,6 → 382,34 |
return grillePublications; |
} |
private ColumnConfig creerColonneEditeur() { |
GridCellRenderer<CollectionAPublication> editeurRendu = new GridCellRenderer<CollectionAPublication>() { |
@Override |
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) { |
String editeur = model.getPublication().getNomEditeur(); |
model.set("_editeur_", editeur); |
return editeur; |
} |
}; |
ColumnConfig editeurColonne = new ColumnConfig("_editeur_", Mediateur.i18nC.publicationEditeur(), 135); |
editeurColonne.setRenderer(editeurRendu); |
return editeurColonne; |
} |
private ColumnConfig creerColonneAnneePublication() { |
GridCellRenderer<CollectionAPublication> datePublicationRendu = new GridCellRenderer<CollectionAPublication>() { |
@Override |
public String render(CollectionAPublication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<CollectionAPublication> store, Grid<CollectionAPublication> grid) { |
String annee = model.getPublication().getAnneeParution(); |
model.set("_annee_", annee); |
return annee; |
} |
}; |
ColumnConfig datePublicationColonne = new ColumnConfig("_annee_", Mediateur.i18nC.publicationDateParution(), 75); |
datePublicationColonne.setRenderer(datePublicationRendu); |
return datePublicationColonne; |
} |
public void actualiserEtatBoutonsBarreOutils() { |
// Activation des boutons si la grille contient un élément |
454,8 → 484,8 |
public void collecter() { |
if (etreAccede()) { |
int nbrePersonne = grille.getStore().getCount(); |
for (int i = 0; i < nbrePersonne; i++) { |
int nbrePublication = grille.getStore().getCount(); |
for (int i = 0; i < nbrePublication; i++) { |
CollectionAPublication publicationLiee = grille.getStore().getAt(i); |
if (publicationLiee.get("_etat_") != null) { |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_MODIFIE)) { |
464,9 → 494,11 |
CollectionAPublication relationAAjouter = (CollectionAPublication) publicationLiee.cloner(new CollectionAPublication()); |
publicationsAjoutees.put("id"+idGenere++, relationAAjouter); |
Debug.log(publicationLiee.toString()); |
} |
if (publicationLiee.get("_etat_").equals(aDonnee.ETAT_AJOUTE)) { |
publicationsAjoutees.put("id"+idGenere++, publicationLiee); |
Debug.log(publicationLiee.toString()); |
} |
// Initialisation de la grille |
publicationLiee.set("_etat_", ""); |
/trunk/src/org/tela_botanica/client/vues/CollectionListeVue.java |
---|
1,6 → 1,7 |
package org.tela_botanica.client.vues; |
import java.util.ArrayList; |
import java.util.Iterator; |
import java.util.List; |
import org.tela_botanica.client.Mediateur; |
11,6 → 12,7 |
import org.tela_botanica.client.modeles.Collection; |
import org.tela_botanica.client.modeles.CollectionListe; |
import org.tela_botanica.client.modeles.Information; |
import org.tela_botanica.client.modeles.Publication; |
import org.tela_botanica.client.modeles.Utilisateur; |
import com.extjs.gxt.ui.client.Registry; |
165,13 → 167,7 |
// Affichage d'un message d'information |
Info.display(i18nC.suppressionCollection(), info.toString().replaceAll("\n", "<br />")); |
// Suppression des structures sélectionnées |
List<Collection> selectionCollection = grille.getSelectionModel().getSelectedItems(); |
final int taille = selectionCollection.size(); |
for (int i = 0; i < taille; i++) { |
//GWT.log("INDEX :"+table.indexOf(selectionStructure.get(i)), null); |
store.remove(selectionCollection.get(i)); |
} |
supprimerCollectionsSelectionnees(); |
gererEtatActivationBouton(); |
} else if (info.getType().equals("maj_utilisateur")) { |
178,8 → 174,17 |
gererEtatActivationBouton(); |
} |
} else { |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
layout(); |
} |
private void supprimerCollectionsSelectionnees() { |
List<Collection> collectionsSelectionnees = grille.getSelectionModel().getSelectedItems(); |
Iterator<Collection> it = collectionsSelectionnees.iterator(); |
while (it.hasNext()) { |
grille.getStore().remove(it.next()); |
} |
layout(true); |
} |
} |
/trunk/src/org/tela_botanica/client/vues/AccueilVue.java |
---|
New file |
0,0 → 1,165 |
package org.tela_botanica.client.vues; |
import org.tela_botanica.client.Mediateur; |
import org.tela_botanica.client.RegistreId; |
import org.tela_botanica.client.configuration.Configuration; |
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.Information; |
import org.tela_botanica.client.modeles.InterneValeur; |
import org.tela_botanica.client.util.Debug; |
import com.extjs.gxt.ui.client.Registry; |
import com.extjs.gxt.ui.client.Style.Scroll; |
import com.extjs.gxt.ui.client.event.ButtonEvent; |
import com.extjs.gxt.ui.client.event.IconButtonEvent; |
import com.extjs.gxt.ui.client.event.SelectionListener; |
import com.extjs.gxt.ui.client.event.WindowEvent; |
import com.extjs.gxt.ui.client.event.WindowListener; |
import com.extjs.gxt.ui.client.store.ListStore; |
import com.extjs.gxt.ui.client.widget.ContentPanel; |
import com.extjs.gxt.ui.client.widget.Dialog; |
import com.extjs.gxt.ui.client.widget.HtmlContainer; |
import com.extjs.gxt.ui.client.widget.LayoutContainer; |
import com.extjs.gxt.ui.client.widget.button.Button; |
import com.extjs.gxt.ui.client.widget.button.ToolButton; |
import com.extjs.gxt.ui.client.widget.custom.Portal; |
import com.extjs.gxt.ui.client.widget.custom.Portlet; |
import com.extjs.gxt.ui.client.widget.form.ComboBox; |
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.FitLayout; |
import com.extjs.gxt.ui.client.widget.toolbar.ToolBar; |
public class AccueilVue extends LayoutContainer implements Rafraichissable { |
private Mediateur mediateur = null; |
private Constantes i18nC = null; |
private Portal portail = null; |
public AccueilVue(Mediateur mediateurCourant) { |
mediateur = mediateurCourant; |
i18nC = Mediateur.i18nC; |
setLayout(new FitLayout()); |
ContentPanel panneauPrincipal = new ContentPanel(); |
panneauPrincipal.setLayout(new FitLayout()); |
panneauPrincipal.setHeading("Accueil"); |
panneauPrincipal.setBorders(false); |
ToolBar barreOutils = new ToolBar(); |
Button ajouter = new Button(i18nC.ajouter()); |
ajouter.setIcon(Images.ICONES.ajouter()); |
ajouter.addSelectionListener(new SelectionListener<ButtonEvent>() { |
public void componentSelected(ButtonEvent be) { |
ajouterPortlet(0); |
} |
}); |
barreOutils.add(ajouter); |
panneauPrincipal.setTopComponent(barreOutils); |
portail = new Portal(3); |
portail.setBorders(true); |
portail.setStyleAttribute("backgroundColor", "white"); |
portail.setShadow(true); |
portail.setColumnWidth(0, .33); |
portail.setColumnWidth(1, .33); |
portail.setColumnWidth(2, .33); |
panneauPrincipal.add(portail); |
ajouterPortlet(0); |
add(panneauPrincipal); |
mediateur.desactiverChargement(); |
} |
private void ajouterPortlet(int index) { |
Portlet portlet = new Portlet(); |
portlet.setHeading("Statistiques des collections"); |
configPanel(portlet); |
portlet.setLayout(new FitLayout()); |
HtmlContainer conteneurHtml = new HtmlContainer(); |
conteneurHtml.setUrl("http://localhost/jrest/CoelStatistique/NombreDonnees"); |
portlet.add(conteneurHtml); |
portlet.setHeight(250); |
portail.add(portlet, index); |
} |
private void configPanel(final ContentPanel panel) { |
panel.setLayout(new FitLayout()); |
panel.setCollapsible(true); |
panel.setAnimCollapse(false); |
panel.setScrollMode(Scroll.AUTO); |
panel.getHeader().addTool(new ToolButton("x-tool-gear", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
ContentPanel panneau = new ContentPanel(); |
panneau.setHeaderVisible(false); |
panneau.setLayout(Formulaire.creerFormLayout(350, LabelAlign.TOP)); |
String baseUrl = ((Configuration) Registry.get(RegistreId.CONFIG)).getServiceBaseUrl(); |
baseUrl += "CoelStatistique/"; |
ListStore<InterneValeur> appletteStore = new ListStore<InterneValeur>(); |
appletteStore.add(new InterneValeur(baseUrl+"NombreDonnees", "Nombre de données")); |
appletteStore.add(new InterneValeur(baseUrl+"Accueil", "Bienvenue")); |
appletteStore.add(new InterneValeur(baseUrl+"TypeDepot", "Types de dépôt des collections")); |
appletteStore.add(new InterneValeur(baseUrl+"NombreCollectionParStructure", "Nombre de collections par institution")); |
final ComboBox<InterneValeur> applettesCombo = new ComboBox<InterneValeur>(); |
applettesCombo.setFieldLabel("Veuillez sélectionner le type d'applette"); |
applettesCombo.setForceSelection(true); |
applettesCombo.setTriggerAction(TriggerAction.ALL); |
applettesCombo.setDisplayField("nom"); |
applettesCombo.setStore(appletteStore); |
applettesCombo.setEditable(false); |
applettesCombo.setWidth(300); |
panneau.add(applettesCombo); |
final Dialog configurationFenetre = new Dialog(); |
configurationFenetre.setHeading("Configuration de l'applette"); |
configurationFenetre.setButtons(Dialog.OK); |
configurationFenetre.setSize(350, 150); |
configurationFenetre.setPlain(true); |
configurationFenetre.setModal(true); |
configurationFenetre.setBlinkModal(true); |
configurationFenetre.setLayout(new FitLayout()); |
configurationFenetre.setHideOnButtonClick(true); |
configurationFenetre.addWindowListener(new WindowListener(){ |
public void windowHide(WindowEvent we) { |
String url = applettesCombo.getValue().getAbr(); |
HtmlContainer conteneurHtml = new HtmlContainer(); |
conteneurHtml.setUrl(url); |
conteneurHtml.recalculate(); |
panel.removeAll(); |
panel.add(conteneurHtml); |
Debug.log(url); |
panel.layout(); |
} |
}); |
configurationFenetre.add(panneau); |
configurationFenetre.show(); |
} |
})); |
panel.getHeader().addTool(new ToolButton("x-tool-close", new SelectionListener<IconButtonEvent>() { |
@Override |
public void componentSelected(IconButtonEvent ce) { |
panel.removeFromParent(); |
} |
})); |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Information) { |
Information info = (Information) nouvellesDonnees; |
String type = info.getType(); |
if (type.equals("")) { |
} |
} else { |
Debug.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass())); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/PublicationVue.java |
---|
13,7 → 13,6 |
import com.extjs.gxt.ui.client.widget.layout.BorderLayout; |
import com.extjs.gxt.ui.client.widget.layout.BorderLayoutData; |
import com.google.gwt.core.client.GWT; |
import com.google.gwt.user.client.Window; |
public class PublicationVue extends LayoutContainer implements Rafraichissable { |
40,8 → 39,6 |
} |
public void rafraichir(Object nouvellesDonnees) { |
if (nouvellesDonnees instanceof Publication) { |
panneauPublicationDetail.rafraichir(nouvellesDonnees); |
} else if (nouvellesDonnees instanceof PublicationListe) { |
50,7 → 47,7 |
} else if (nouvellesDonnees instanceof Information) { |
panneauPublicationListe.rafraichir(nouvellesDonnees); |
} else { |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
} |
} |
/trunk/src/org/tela_botanica/client/vues/PublicationListeVue.java |
---|
144,7 → 144,7 |
add(grille); |
} |
public static ColumnConfig creerColonneEditeur() { |
private ColumnConfig creerColonneEditeur() { |
GridCellRenderer<Publication> editeurRendu = new GridCellRenderer<Publication>() { |
@Override |
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) { |
158,7 → 158,7 |
return editeurColonne; |
} |
public static ColumnConfig creerColonneAnneePublication() { |
private ColumnConfig creerColonneAnneePublication() { |
GridCellRenderer<Publication> datePublicationRendu = new GridCellRenderer<Publication>() { |
@Override |
public String render(Publication model, String property, ColumnData config, int rowIndex, int colIndex, ListStore<Publication> store, Grid<Publication> grid) { |
172,10 → 172,6 |
return datePublicationColonne; |
} |
public ListStore<Publication> getStore() { |
return store; |
} |
private void clicListe(Publication publication) { |
if (publication != null && store.getCount() > 0) { |
mediateur.clicListePublication(publication); |
229,20 → 225,18 |
} |
} else { |
GWT.log(mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
GWT.log(Mediateur.i18nM.erreurRafraichir(nouvellesDonnees.getClass(), this.getClass()), null); |
} |
layout(); |
} |
public void supprimerPublicationsSelectionnees() { |
List<Publication> selPub = grille.getSelectionModel().getSelectedItems(); |
GWT.log("Le résultat dans supprimer est : "+grille.getSelectionModel().getSelection().size()+" ", null); |
for(Iterator<Publication> it = selPub.iterator(); it.hasNext();) { |
GWT.log("Le résultat dans rafraichir est : "+grille.getSelectionModel().getSelection().size()+" ", null); |
private void supprimerPublicationsSelectionnees() { |
List<Publication> publicationsSelectionnees = grille.getSelectionModel().getSelectedItems(); |
Iterator<Publication> it = publicationsSelectionnees.iterator(); |
while (it.hasNext()) { |
grille.getStore().remove(it.next()); |
} |
grille.reconfigure(store, modeleDesColonnes); |
layout(true); |
} |
/trunk/src/org/tela_botanica/client/modeles/CollectionAPublication.java |
---|
44,9 → 44,12 |
set("fmt_auteur", getPublication().getAuteur()); |
set("titre", getPublication().getTitre()); |
set("collection", getPublication().getCollection()); |
set("_editeur_", ""); |
set("_annee_", ""); |
set("indication_nvt", getPublication().getIndicationNvt()); |
set("fascicule", getPublication().getFascicule()); |
set("truk_pages", getPublication().getPages()); |
set("_etat_", ""); |
} |
// ID |
/trunk/src/org/tela_botanica/client/Mediateur.java |
---|
36,6 → 36,7 |
import org.tela_botanica.client.modeles.StructureValorisation; |
import org.tela_botanica.client.modeles.Utilisateur; |
import org.tela_botanica.client.modeles.ValeurListe; |
import org.tela_botanica.client.vues.AccueilVue; |
import org.tela_botanica.client.vues.CollectionForm; |
import org.tela_botanica.client.vues.CollectionListeVue; |
import org.tela_botanica.client.vues.CollectionVue; |
199,7 → 200,11 |
public void clicMenu(String codeMenuClique) { |
activerChargement(codeMenuClique); |
panneauOuest.selectionMenu(codeMenuClique); |
if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) { |
if (codeMenuClique.equals(MenuApplicationId.ACCUEIL)) { |
afficherAccueil(); |
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) { |
selectionnerProjets(panneauCentre); |
} else if (codeMenuClique.equals(MenuApplicationId.STRUCTURE)) { |
selectionnerStructure(panneauCentre, null); |
} else if (codeMenuClique.equals(MenuApplicationId.COLLECTION)) { |
selectionnerCollection(panneauCentre, null); |
207,8 → 212,6 |
selectionnerPersonne(panneauCentre, null, null); |
} else if (codeMenuClique.equals(MenuApplicationId.PUBLICATION)) { |
selectionnerPublication(panneauCentre,null); |
} else if (codeMenuClique.equals(MenuApplicationId.PROJET)) { |
selectionnerProjets(panneauCentre); |
} else { |
GWT.log(i18nM.nonImplemente(codeMenuClique), null); |
} |
330,6 → 333,17 |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION des APPLETS de l'ACCUEIL |
//+----------------------------------------------------------------------------------------------------------------+ |
public void afficherAccueil() { |
if (!(panneauCentre.getContenu() instanceof AccueilVue)) { |
panneauCentre.removeAll(); |
panneauCentre.add(new AccueilVue(this)); |
} |
} |
//+----------------------------------------------------------------------------------------------------------------+ |
// GESTION des PROJETS |
//+----------------------------------------------------------------------------------------------------------------+ |