Raccourcis

Faciliter l’accès à certaines actions en personnalisant les raccourcis.

Afin de faciliter l’accès à certaines actions, plusieurs conteneurs de raccourcis peuvent être manipulés à travers l’API JS :

  • ContextualMenuAPI : menu contextuel de composant (présent sur les tableaux de résultats de recherche)
  • MenuShortcutsAPI : bouton créer accessible depuis la barre de menu
  • FloatingShortcutsAPI : bouton flottant + accessible depuis la page d’accueil


Afin d’accéder à ces APIs, deux moyens sont fournis :

  • get() : accéder à n’importe quel moment au conteneur de raccouris chargé
  • registerForLoad(function(api){}); : s’abonner au chargement d’un conteneur de raccourci

Général

Les fonctions suivantes sont mises à disposition sur les conteneurs de raccourcis.

Fonctions Description
addCircled(String id, String icon, String color, String name, Callback callback) Ajoute un raccourci avec une icône de type cercle
addIconized(String id, String icon, String color, String name, Callback callback) Ajoute un raccourci avec une icône (FontAwesome)
add(String id, Element element, String name, Callback callback) Ajoute un raccourci avec un élement DOM comme icône
remove(String id) Supprime un raccourci à partir de son identifiant
getIds() Récupère les raccourcis présents

Exemples

Afin de s’abonner au chargement de ces menus de raccourcis, les fonctions suivantes vont être utilisées :

Créer un dossier depuis la barre de menu

MenuShortcutsAPI.get().registerForLoad(function(api){ 
	api.addCircled("createFolder", "fa-folder-o", "flat-red" , "Dossier", function(){
	    var newFolder = new Folder();
	    newFolder.setClassId("Folder");
	    var popup = JSAPI.get().getPopupAPI().buildComponentCreation(newFolder);
	    popup.show();
	});  
});

Créer un document depuis le bouton flottant

FloatingShortcutsAPI.get().registerForLoad(function(api){ 
	var circle = new Circle();
	circle.setSize(1);
	circle.setContent("fa-user");
	circle.setColor("flat-green");
	api.add("createCourrier", circle.asElement() , "Courrier", function(){
		var newDocument = new Document();
		newDocument.setClassId("CourrierEntrant");
		var popup = JSAPI.get().getPopupAPI().buildComponentCreation(newDocument);
		popup.show();
	});  
});

Menu contextuel

Des fonctions supplémentaires sont fournies pour manipuler un menu contextuel :

Fonctions Description
getSelected() Récupère les composants sélectionnés
getCategory() Récupère la catégorie des composants sélectionnés

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

ContextualMenuAPI.get().registerForLoad(function(api){
	if(api.getSelected().length != 2 || api.getCategory() != "DOCUMENT"){
		return;
	}
	var icon = new Icon();
	icon.setContent("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();
	});  
});

Réponses à une tâche

Si l’utilisateur sélectionne des tâches ayant la même classe et que cette classe a des réponses, elles seront affichées comme des actions dans le menu contextuel.

Cette fonctionnalité peut être désactivée en ajoutant le script JS suivant :

function registerToAddAnswersInTaskContextualMenu(){}