FlowerDocs s’appuie sur un mécanisme de place permettant de définir dans l’URL, l’activité (ou écran) sur laquelle se trouve l’utilisateur.
Le fait que cette place soit portée par l’URL permet aux utilisateurs de pouvoir :
- rafraîchir leur navigateur tout en restant dans le même contexte
- de naviguer à travers l’historique du navigateur (boutons Précédent et Suivant)
Pour piloter ces fonctionnalités à travers l’API JS, une API de navigation est mise à disposition :
JSAPI.get().getNavigationAPI();
Fonction | Description |
---|---|
reload() | Permet de recharger la place courante sans confirmation |
goBack(confirmation) | Permet de revenir à la place précédente - confirmation : booléen permettant de désactiver la confirmation au changement de place s’il y a des modifications non sauvegardées |
getWhereId() | Permet d’obtenir l’identifiant de la place courante |
getWhere() | Permet d’obtenir le type de la place courante |
getSelectedLeaf() | Permet d’obtenir la selectedLeaf de la place courante |
goToComponentPlace(category, identifiant, confirmation) | Permet de rediriger l’utilisateur vers l’écran de modification d’un composant en fournissant : - category : DOCUMENT , FOLDER , TASK , VIRTUAL_FOLDER - identifiant : identifiant du composant à ouvrir - confirmation : booléen permettant de désactiver la confirmation au changement de place s’il y a des modifications non sauvegardées |
goTo(place, confirmation) | Permet de rediriger l’utilisateur vers une place - place : identifiant de la place à ouvrir - confirmation : booléen permettant de désactiver la confirmation au changement de place s’il y a des modifications non sauvegardées |
Il est possible de rediriger l’utilisateur vers une place construite à partir de différents tokens.
Exemple : Redirection vers un écran de création de tâche GEC_Step0_Creation
var placeToken = 'storeTask(GEC_Step0_Creation)';
JSAPI.get().getNavigationAPI().goTo(flower.docs.PlaceBuilder.build(placeToken),false);
L’API de navigation permet également de surcharger la place par défaut (définie au niveau du profil).
Pour cela, il est possible de s’abonner à son ouverture via la fonction registerForPlaceChange(callback)
Exemple : Surcharger la place par défaut par le formulaire de recherche pliSearch
var api = JSAPI.get().getNavigationAPI();
api.registerForPlaceChange(function(placeToken, callback){
callback.go(flower.docs.PlaceBuilder.build("search(pliSearch)"));
});