Autre

    Pour envoyer des notifications, l’API de notification est accessible en utilisant la fonction JSAPI.get().getNotificationAPI(). Elle expose les fonctions suivantes :

    • sendInformation(message)
    • sendWarning(message)
    • sendError(message)

    Ces trois fonctions permettent d’ouvrir des fenêtres modales.

    Pour envoyer une notification, à FlowerDocs, il est possible d’utiliser la fonction sendNotification(message).

    Exemple :

    JSAPI.get().getNotificationAPI().sendError("Une erreur est survenue");
    

    Pour notifier l’utilisateur d’un traitement en cours lors de l’exécution de JavaScript, le panel de chargement peut être afficher puis cacher lors de la fin du traitement avec les fonctions suivantes disponibles sur l’API FlowerJSAPI.get() :

    Fonctions Description
    showLoadingPanel() Affiche le panel de chargement
    hideLoadingPanel() Cache le panel de chargement

    Exemple d’affichage du panel de chargement pendant 3 secondes

    JSAPI.get().showLoadingPanel();
    setTimeout(function() {
    	JSAPI.get().hideLoadingPanel();
    }, 3000)
    

    Fonctions utilitaires

    Permissions

    Il est possible de déterminer si l’utilisateur courant a une permission :

    • à partir d’un composant

      ACLHelper.isGranted(component,"CREATE", function(granted){console.info("granted: "+granted);});
      
    • à partir d’un identifiant d’ACL

      ACLHelper.isGranted(component.getACL(),"CREATE", function(granted){console.info("granted: "+granted);});
      

    Extraction d’identifiants

    Afin d’extraire les identifiants d’un tableau de composants, il est possible d’utiliser la fonction suivante :

    Ids.from(components)
    

    Propagation de tags

    Afin de propager les valeurs de tags communs d’un ou plusieurs composants vers un composant cible, les fonctions suivantes sont à disposition :

    Fonctions Description
    predict(sourceComponent, targetComponent) Propage les tags communs d’un composant vers un composant cible
    predict(sourceComponents, targetComponent) Propage les tags communs d’un ensemble de composant vers un composant cible

    Création d’une tâche à partir de deux documents

    ContextualMenuAPI.get().registerForLoad(function(api){
    	if(api.getSelected().length != 2 || api.getCategory() != "DOCUMENT"){
    		return;
    	}
    	var icon = new Icon();
    	icon.setContent("fa fa-user flat-mauve");
    	api.add("createTask", icon.asElement() , "Tâche", function(){
    		var newTask = new Task();
    		newTask.setClassId("GEC_Step0_Creation");
    		TagOracle.predict(api.getSelected(), newTask);			
    		newTask.addAttachments("Courrier", Ids.from(api.getSelected()), "DOCUMENT");			
    		var popup = JSAPI.get().getPopupAPI().buildComponentCreation(newTask);
    		popup.show();
    	});  
    });
    

    Permissions

    Il est possible de déterminer si l’utilisateur courant a une permission :

    • à partir d’un composant

      ACLHelper.isGranted(component,"CREATE", function(granted){console.info("granted: "+granted);});
      
    • à partir d’un identifiant d’ACL

      ACLHelper.isGranted(component.getACL(),"CREATE", function(granted){console.info("granted: "+granted);});
      

    Extraction d’identifiants

    Afin d’extraire les identifiants d’un tableau de composants, il est possible d’utiliser la fonction suivante :

    Ids.from(components)
    

    Propagation de tags

    Afin de propager les valeurs de tags communs d’un ou plusieurs composants vers un composant cible, les fonctions suivantes sont à disposition :

    Fonctions Description
    predict(sourceComponent, targetComponent) Propage les tags communs d’un composant vers un composant cible
    predict(sourceComponents, targetComponent) Propage les tags communs d’un ensemble de composant vers un composant cible

    Création d’une tâche à partir de deux documents

    ContextualMenuAPI.get().registerForLoad(function(api){
    	if(api.getSelected().length != 2 || api.getCategory() != "DOCUMENT"){
    		return;
    	}
    	var icon = new Icon();
    	icon.setContent("fa fa-user flat-mauve");
    	api.add("createTask", icon.asElement() , "Tâche", function(){
    		var newTask = new Task();
    		newTask.setClassId("GEC_Step0_Creation");
    		TagOracle.predict(api.getSelected(), newTask);			
    		newTask.addAttachments("Courrier", Ids.from(api.getSelected()), "DOCUMENT");			
    		var popup = JSAPI.get().getPopupAPI().buildComponentCreation(newTask);
    		popup.show();
    	});  
    });