1,10 → 1,19 |
package org.tela_botanica.client.vues.image; |
|
import org.tela_botanica.client.Util; |
import org.tela_botanica.client.image.ImageMediateur; |
import org.tela_botanica.client.vues.MenuAideVue; |
import org.tela_botanica.client.vues.image.filtres.MenuFiltreVue; |
|
import com.google.gwt.dev.util.collect.HashMap; |
import com.google.gwt.user.client.Window; |
import com.gwtext.client.core.EventCallback; |
import com.gwtext.client.core.EventObject; |
import com.gwtext.client.core.Ext; |
import com.gwtext.client.widgets.Toolbar; |
import com.gwtext.client.widgets.ToolbarItem; |
import com.gwtext.client.widgets.ToolbarMenuButton; |
import com.gwtext.client.widgets.ToolbarTextItem; |
|
/** |
* Barre d'outils contenant le menu de gestion des images (accessible aussi par |
42,6 → 51,11 |
* Le menu de gestion des filtres |
*/ |
MenuFiltreVue filtreMenu = null; |
|
/** |
* L'item affichant les filtres en cours |
*/ |
ToolbarTextItem texteFiltres; |
|
/** |
* Le menu de gestion utilisateur |
78,8 → 92,12 |
//aideMenu = new MenuAideVue(im); |
images = new ToolbarMenuButton("Fichiers", imageMenu); |
//aide = new ToolbarMenuButton("Aide", aideMenu); |
|
|
texteFiltres = new ToolbarTextItem(""); |
|
this.addButton(images); |
|
this.addItem(texteFiltres); |
//this.addButton(aide); |
} |
|
96,5 → 114,89 |
public ImageMediateur getIMediateur() { |
return iMediateur; |
} |
|
public void setFiltresEnCours(String[][] filtresEnCours) { |
|
String texteFiltresEnCours = ""; |
|
for(int i = 0; i < filtresEnCours.length; i++) { |
if(Util.filtreValide(filtresEnCours[i])) { |
|
if(!texteFiltresEnCours.equals("")) { |
texteFiltresEnCours += " - "; |
} |
|
texteFiltresEnCours += "<span class=\"affichage_filtre\">"+ |
transformerNomFiltre(filtresEnCours[i][0])+": "+transformerValeurFiltre(filtresEnCours[i][0], filtresEnCours[i][1])+ |
" <input value=\"X\" type=\"button\" rel=\""+filtresEnCours[i][0]+"\" id=\"bouton_raz_filtres_img"+filtresEnCours[i][0]+"\" />"+ |
"</span>"; |
} |
} |
|
if(!texteFiltresEnCours.equals("")) { |
texteFiltresEnCours = "- <span class=\"indicateur_filtres\"> Filtres - "+texteFiltresEnCours+"</span>"; |
} |
|
texteFiltres.setText(texteFiltresEnCours); |
|
for(int i = 0; i < filtresEnCours.length; i++) { |
|
if(Util.filtreValide(filtresEnCours[i])) { |
if(Ext.get("bouton_raz_filtres_img"+filtresEnCours[i][0]) != null) { |
|
Ext.get("bouton_raz_filtres_img"+filtresEnCours[i][0]).addListener("click", new EventCallback() { |
|
public void execute(EventObject e) { |
e.stopEvent(); |
iMediateur.viderFiltre(e.getTarget().getAttribute("rel")); |
} |
|
}); |
} |
} |
} |
} |
|
private String transformerNomFiltre(String nomFiltre) { |
|
//TODO: si le nombre de filtre s'agrandit faire une hashmap |
// (pas la peine pour le moment, un seul nom à changer) |
if(nomFiltre.equals("ci_recherche_generale")) { |
nomFiltre = "recherche"; |
} |
|
//TODO: si le nombre de filtre s'agrandit faire une hashmap |
// (pas la peine pour le moment, un seul nom à changer) |
if(nomFiltre.equals("ci_meta_mots_cles")) { |
nomFiltre = "mots clés"; |
} |
|
return nomFiltre; |
|
} |
|
private String transformerValeurFiltre(String nomFiltre, String valeurFiltre) { |
|
String valeurFiltreTransformee = valeurFiltre; |
|
if(nomFiltre.equals("ci_meta_mots_cles")) { |
|
String[] tabMotsCles = valeurFiltre.split(";"); |
String[] tabMotsClesTexte = iMediateur.obtenirTexteMotsCles(tabMotsCles); |
|
if(tabMotsClesTexte.length > 1) { |
valeurFiltreTransformee = Util.implode(",", tabMotsClesTexte); |
} else { |
valeurFiltreTransformee = tabMotsClesTexte[0]; |
} |
} |
|
if(nomFiltre.equals("mois")) { |
valeurFiltreTransformee = Util.renvoyerMois(Integer.parseInt(valeurFiltre)); |
} |
|
return valeurFiltreTransformee; |
|
} |
|
} |