À Liveray, un portlet peut-il ouvrir un portlet séparé dans une nouvelle boîte de dialogue AUI?

StackOverflow https://stackoverflow.com/questions/8901792

  •  29-10-2019
  •  | 
  •  

Question

J'ai été partout dans les sites de Liveray et je n'ai pas trouvé de réponse qui fonctionne. Ce que je veux faire, c'est avoir une fonction JavaScript à l'intérieur de mon portlet personnalisé qui ouvrira une boîte de dialogue AUI, et cette boîte de dialogue affiche le contenu View.jsp à partir d'un portlet entièrement séparé.

Voici ce que j'ai jusqu'à présent:

AUI().ready('aui-dialog','aui-dialog-iframe','liferay-portlet-url', function(A) {
        var url = Liferay.PortletURL.createResourceURL();
        url.setPortletId("my_portlet_that_I_want_in_a_dialog");
        url.setWindowState('pop_up'); 

    #foreach ($parameter IN $parameters.getSiblings())
        url.setParameter("${parameter.data}", "${parameter.value.data}");
    #end  


    window.myDialog = new A.Dialog(
        {
            title: 'My Dialog',
            width: 640,
            centered: true
        }
    ).plug(
        A.Plugin.DialogIframe,
        {
            uri: url.toString(),
            iframeCssClass: 'dialog-iframe'
        }
    )
});

Ensuite, dans un portlet complètement différent, j'ai une fonction JavaScript qui appelle:

window.myDialog.render()

Cela fonctionne beaucoup. Cependant, lorsque la boîte de dialogue apparaît, elle est toujours vide ou affiche infiniment une animation "de chargement".

Éventuellement lié: Dans la console Firebug, je vois

"Yui: non chargé: tâche retardée"

Je ne sais pas si cela est lié au problème actuel ou non. Merci pour l'aide.

ÉDITER: Si je enregistre la variable URL à la console, copiez et collez l'URL dans un nouvel onglet, la réponse est complètement vide. Cela m'amène à croire que je ne génère pas correctement l'URL ou qu'il y a une sorte de problème d'autorisations inter-ports ici.

Pas de solution correcte

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top