Historique

Gérer l'historique d'un composant


L’historique permet d’afficher les modifications qui ont été effectuées sur un composant depuis sa création. Afin de modifier l’historique d’un composant, il faut s’abonner à l’ouverture de l’historique :

    var factAPI = JSAPI.get().getHelperFactory().getFactAPI();  
    factAPI.register(component.getId(), function(facts, callback){
		//Manipulate facts of component

   });

L’historique est composé de faits qui comprennent un ensemble d’attributs. Ces faits peuvent être personnalisés grâce aux fonctions suivantes :

Fonctions Description
Fact(component) Création d’un fait à partir d’un composant
getUser() Récupération de l’utilisateur du fait
setUser(user) Modification de l’utilisateur du fait
getAction() Récupération du conteneur d’action du fait
setAction(action) Modification de l’action du fait
getDescription() Récupération de la description du fait
setDescription(description) Modification de la description du fait
getCreationDate() Récupération de la date de création du fait
setCreationDate(date) Modification de la date de création du fait
getUpdatedFields() Récupération des champs du faits
setUpdatedFields(updatedFields) Modification des champs du fait
addUpdatedField(updatedField) Ajout d’un champ dans le fait
addUpdatedFields(resultFields) Ajout de plusieurs champs dans le fait

Les types d’action supportés pour les faits sont :

  • CREATE : Création d’un composant
  • UPDATE : Mise à jour d’un composant
  • VERSION : Création d’une version de composant
  • ASSIGN : Assignation d’une tâche à un utilisateur
  • ADD_CONTENT : Ajout d’une pièce jointe pour les tâches, ajout ou mise à jour de contenu pour les documents et ajout de composants dans un dossier
  • DELETE_CONTENT : Suppression d’une pièce jointe pour les tâches, suppression de contenu pour les documents et suppression de composants dans un dossier


Exemple : ajout de deux faits à l’historique d’un composant

JSAPI.get().registerForComponentChange(function(componentFormAPI, component, phase) {        
	var factAPI = JSAPI.get().getHelperFactory().getFactAPI();
	factAPI.register(component.getId(), function(facts, callback){
		var fact1 = new Fact(component);
		var date1 = new Date("January 15, 2017 11:13:00");
		fact1.setUser(JSAPI.get().getUserAPI().getUserId());
		fact1.setCreationDate(date1.getTime());
		fact1.setAction("UPDATE");
		var field1 = new ResultField();
		field1.setName("RefClient");
		field1.setValue("2018-01-01 12:01:07.006 +0100");
		fact1.addUpdatedField(field1);

		var fact2 = new Fact(component);
		var date2 = new Date("January 16, 2017 11:13:00");
		fact2.setCreationDate(date2.getTime());
		fact2.setDescription("Description for fact2");

		facts.push(fact1);		
		facts.push(fact2);
		callback.onProcessed(facts);
	});
});


Configurer les champs à historiser avec un document de classe FactFieldsConfiguration.