Je voudrais personnaliser l’affichage (ou non) des listes filles quand je suis sur un formulaire d’un objet A. Pour cela, j’utilise canReference qui fait très bien l’affaire, mais qui prend un peu de temps, ce qui est normal vue le nombre de contrôle que je fais.
Or, cette contrainte (canReference), se lance même quand je suis sur la liste principale de l’objet A, et donc cela prend un temps encore plus important.
Je souhaite donc ajouter un contrôle dans ce canReference pour ne l’exécuter que si je suis sur un formulaire A et non pas sur la liste A.
Comment puis-je différencier l’instance du formulaire de celle de la liste ? (L’utilisation de isMainInstance me rend le même résultat que cela soit un formulaire ou une liste.)
Merci @Alistair pour ton retour.
Je n’arrive toujours pas à différencier les instances : Le retour de this.getContext().isList() est toujours à false, que j’ouvre un formulaire de mon objet A ou quand je clique sur l’objet dans le menu principale pour avoir la liste.
Aurais-je oublié qq choses ?
Voivi le code :
// Permet d'afficher ou de masquer les onglet de dessous en fonction de qq chose :
ImmoPropertyPropose.canReference = function(objectName, fieldName) {
console.log("this.getContext().isList() = " + this.getContext().isList());
if (!this.getContext().isList()) { // On applique cette contrainte uniquement au formulaire afin d'éviter le temps de chargement de la liste.
// Si la personne a accès en MAJ au bien à vendre, on affiche tous les onglets, sinon, on affiche seulement les 3 onglets ci-dessous :
if (objectName == "ImmoDiagnostic" || objectName == "ImmoDocProperty" || objectName == "ImmoOffreEstimation" || ImmoTool.LinkedObjMaj(this,this.getGrant(),"ImmoProperty",this.getRowId(),'U','E')) {
return true;
} else return false;
} else return true;
};
Nous conseillons aux utilisateurs de marquer comme “solution” la réponse résolvant leur problématique pour permettre au support de mieux suivre les sujets non résolus, et à la communauté de trouver plus facilement la bonne réponse.
Vos messages indiquant une résolution du problème, nous avons réalisé cette opération pour vous.