Ceci est une ancienne révision du document !
Entreprises
Objectifs
Conception d'une interface complète, en utilisant mappings, inclusions ajax, templates et displays.
Liste des entreprises
{#func:this.setEditable(false)#}
{#func:this.addSelector(113)#}
{#func:this.setFiltreCaption("Rechercher une entreprise")#}
{#set:this.ajaxIncludes=true#}
{#set:this.isShowCaption=true#}
{#set:this.listContentUrl="entreprises.do"#}
{#mask:<td>{rs}</td><td>{adresse}</td><td>{ville}</td><td>{evaluations}</td><td>{F2}</td>#}
{#mask:<td>{rs}</td><td>{adresse}</td><td>{ville}</td><td>{evaluations}</td><td>{F2}</td>#}
{_ajx}
{_listContent}
{_filtre}
{_page}
<div class="boxButtons">{_pageCounter}{_navBarre}</div>
{/_listContent}
<div id="detail" style="display:none"></div>
Affichage des informations détaillées
La zone DOM d'id detail va afficher les informations sur l'entreprise sélectionnée au clavier ou à la souris.
Création de la vue en lecture seule
- Créer la vue destinée à afficher les détails sur une entreprise avec un template d'affichage d'objet (*.show) :
{#set:this.ajaxIncludes=true#}
{_fieldset}
<div id="divEntrepriseShow">
{rs}{adresse}{mail}{tel}{ville}
<div class="boxButtons"><a class="btn" id="btUpdateEntreprise">Modifier l'entreprise</a></div>
</div>
<div id="divEntrepriseUpdate" style="display: none">
</div>
{/_fieldset}
</div>
Ajout de la dynamique
- Ajouter un mapping vers le fichier show :
<mappings> ... <mapping requestURL="entrepDetail.do" responseURL="WEB-INF/forms/entreprise.show"/> ... </mappings>
Modification sur les classes
Sur la liste des entreprises :
- Activer les touches clavier (sans permettre l'édition)
- Modifier la classe KEntreprise pour qu'elle charge automatiquement ses évaluations
- Créer un Display net.display.EntrepriseDisplay pour afficher les évaluations dans la liste (méthode showInList à surdéfinir)
- la colonne Évaluations doit faire apparaître la liste des évaluations (leur date uniquement)
- Un clic sur 1 évaluation doit faire apparaître dans une boîte de dialogue l'évaluation cliquée. Il faudra à cet effet :
- Créer un template de type show pour la classe evaluation
- Utiliser l'inclusion ajax includeDialog pour afficher ce template dans une boîte de dialogue.
Concevoir l'interface suivante :


