Indexation

Un formulaire d’indexation permet la visualisation et la modification des tags d’un composant. Afin de pouvoir interagir avec ce type de formulaire, il est nécessaire de s’abonner à son ouverture :

JSAPI.get().registerForComponentChange(function(componentFormAPI, component, phase) {
	// Utilisation de l'objet componentFormAPI permettant d'interagir avec le formulaire
});

Note : Dans le cas de l’affichage de plusieurs formulaires de composant, il peut être nécessaire d’accéder à un formulaire en particulier : JSAPI.get().getComponentFormAPI(<identifiant du composant>). Il est également possible d’accéder au dernier formulaire grâce à JSAPI.get().getLastComponentFormAPI().

Actions dans un formulaire

L’objet componentFormAPI.getActions() permet d’interagir avec les actions d’un formulaire présentant un document, dossier…

Pour cela, plusieurs fonctions sont exposées.

Fonction Description
getHeaderActions() Récupère le conteneur d’action dans l’en-tête
getTaskActions() Récupère le conteneur d’action des tâches
getFooterActions() Récupère le conteneur d’action dans le pied de page (validation, annulation…)

La partie Actions documente les fonctions disponibles permettant d’interagir avec les différents conteneurs d’actions ainsi qu’avec les actions récupérées depuis ces 3 contenurs.

Ajout de cartes

Un formulaire d’indexation est composé d’un ensemble de cartes contenant les informations du composant, les tags, pièces jointes et dossiers parents. Il est également possible d’ajouter des cartes grâce à l’API JS avec la fonction addCardContainer(cardContainer) qui nécessite une carte de type conteneur en entrée.

Les fonctions disponibles sur cet objet sont disponibles dans la partie Cartes.

Exemple : Ajout de carte conteneur personnalisée

var formAPI = JSAPI.get().getLastComponentFormAPI();

var desc1 = buildDescription("Description 1");
var card1 = buildCard("Card", "Heading card", "card-style");

var div = document.createElement("div");
div.className="custom-card-container";
addChildren(div, [desc1,card1]);

var cardContainer = buildCardContainer("fa fa-clone","Title","Caption","card-box custom-card-container");
cardContainer.setContent(div);
formAPI.addCardContainer(cardContainer);

function buildCardContainer(icon,title,caption, style){
	var cardContainer = new CardContainer();
	cardContainer.setIcon(icon);
	cardContainer.setTitle(title);
	cardContainer.setCaption(caption);
	cardContainer.setVisible(true);
	cardContainer.addStyle(style);
	return cardContainer;
}
function buildDescription(description){
	var desc = document.createElement("div");
	desc.innerHTML = description;
	return desc;
}
function buildCard(title, heading, style){
	var card = new Card();
	card.setTitle(title);
	card.setHeading(heading);
	card.addStyle(style);
	return card.asElement();
}
function addChildren(parent, children){
	for (i=0; i < children.length; ++i) {
    	parent.appendChild(children[i]);
	}
}