Bonjour,
Des collègues à moi développent une application Web avec (sur mes conseils) JSF pour l'ihm. Ils utilisent aussi des composants RichFaces.
Ils m'ont posé une question à laquelle je ne sais pas répondre (normal, je leur ai proposé le framework, mais maintenant ils le connaissent mieux que moi). Voilà le problème :
- Nous voulons que l'utilisateur saisisse deux tranches horaires (départ, arrivée), par 1/4 d'heure ou 1/2 heure, et que ces deux tranches soient "cohérentes" (départ avant arrivée).
- Pour l'instant mes collègues ont fait deux listes (des selectOneMenu) avec des valeurs "en dur" (plein de selectItem). Lorsque l'utilisateur modifie l'heure de départ, et qu'elle est après l'heure d'arrivée, l'heure est remplacée par heureDépart+1/4 d'heure, cela dans les setters d'un bean.
- Cette saisie se fait pour tous les jours de la semaine, donc le code de la page jsf est envahi de selectItem, et côté bean il y a pas mal de code redondant.
Comme j'ai fait à peu la même chose en Flex/As3, je leur ai proposé d'utiliser un inputNumberSpinner, avec des valeurs entre 0 et 24, un pas de 0.25, "cycled", et de modifier le renderer de la valeur affichée (pour avoir 12:30 plutôt que 12.5, par exemple).
Le problème est que je ne sais pas plus qu'eux surcharger le renderer de cette valeur (de mémoire, en flex ça avait été plutôt facile).
Pourriez-vous me conseiller sur la meilleure façon de faire ça ?
J'ai aussi pensé à écrire un composant JSF ou RichFaces qui intègrerait les deux spinners pour la saisie des horaires et qui modifierait les valeurs d'un spinner pour maintenir la cohérence avec l'autre, tout ça localement (en javascript?), et qui n'enverrait donc que des valeurs correctes au back bean. Pensez-vous que ce soit jouable, et que ça s'intègre correctement dans la philosophie JSF ?
Merci d'avance pour vos réponses !
Partager