GWT Places / Activités - ce qui devrait être utilisé pour la navigation?
-
27-10-2019 - |
Question
J'ai une application web GWT Lieux / Activités. J'utilise l'événement Anchor
de click
pour déplacer l'utilisateur dans un nouveau « lieu », donc il n'y a aucun utilisateur moyen peut ouvrir un « lien » dans une nouvelle fenêtre ou onglet. La question est - comment puis-je faire tous ces liens réel
La solution
Peut-être au lieu d'utiliser Anchor
et écouter l'utilisation de ClickEvent
Hyperlink
avec le jeu de targetHistoryToken
au nom de localité.
par exemple.
<g:Hyperlink text="Home" targetHistoryToken="home" />
Autres conseils
Lors de l'utilisation d'un Hyperlink
(ou InlineHyperlink
) fonctionne, je préfère utiliser un ClickHandler
sur un Anchor
, parce que si les retours d'activité une valeur non nulle dans mayStop
l'URL n'aurait pas encore changé (alors qu'avec un Hyperlink
, il aurait, même si les choisit utilisateur pour annuler la navigation).
pour définir la cible (href
) sur la Anchor
, utilisez simplement votre PlaceHistoryMapper
. Et pour gérer correctement les touches Ctrl + clic, clic milieu et droit de la souris, réutiliser le HyperlinkImpl
:
Anchor anchor = new Anchor("text", "#" + placeHistoryMapper.getToken(targetPlace));
anchor.addClickHandler(new ClickHandler() {
private static final HyperlinkImpl IMPL = GWT.create(HyperlinkImpl.class);
@Override
public void onClick(ClickEvent event) {
if (IMPL.handleAsClick(event)) {
placeController.goTo(targetPlace);
event.preventDefault();
}
}
});