Les transitions d'état déclenchent le hook "ui.ready"

Request description

Bonjour,

J’ai un code front dans le hook ui.ready du script de ma disposition. Il ajoute un bouton aux shortcuts.
Lorsque j’effectue une transition d’action, je repasse dans ce code sans réinitialisation de la page et mon bouton est dupliqué.

J’ai contourné en testant si le bouton existe déjà mais je ne sais pas si c’est normal ?

Merci !
Emmanuelle

Technical information

Instance /health
Status=OK
Version=5.3.12
BuiltOn=2023-08-25 09:44

Bonjour,

Non reproduit, il n’y a à priori aucun rapport entre les 2 actions : UI ready et une transition d’état.
L’event $(document).trigger("ui.ready") est appelé une seule fois à la fin du $ui.ready() qui prépare la page.

Comment est paramétrée la transition ? en liste, bouton, code… ?

Il faut débuguer votre transition d’état et le code front de votre objet.
Il y a peut être un “reload” indirect :

  • comme un <a href> sans preventDefault,
  • ou un un trigger window resize/responsive de redimensionnement qui recharge des composants
  • ou un autre $(document).on("ui.ready", ...) dans votre code…
1 Like

Je reviens avec un peu plus d’éléments. Mon problème se pose après une création d’instance puis redirection via un CallToAction

String appUrl = HTMLTool.getFormURL(RciApplication, the_ajax_RciApplication, app.getRowId(), nav=new);

String msg = Application created <br> <a href='+appUrl+' style='color: red'>Access application</a>;|

Action redirect = app.getAction(RCIB_GOTO_APP);|
return Message.formatCallToAction(INFO, msg, Message.INFO, null, app, redirect);|

Une fois redirigée sur mon formulaire, à chaque Reload du formulaire je passe dans ce code

self.main(()=>{
                self.monitor(null);
                try {
                    $(document).trigger("ui.ready");
                } catch (e) {
                    console.error(e);
                }
                cbk && cbk();

Ca ne se produit plus si je ferme et réaccède au formulaire via la liste.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.