À Liveray, un portlet peut-il ouvrir un portlet séparé dans une nouvelle boîte de dialogue AUI?
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