2016-08-11 18 views
0

Я пытаюсь загрузить внешний URL в модальный диалог AlloyUI в Liferay Portal. Если я впервые открою диалог, содержимое показывается, но во второй раз содержимое не отображается. Если обновить страницу, ее показ.Почему не открывается модальный диалог AlloyUI во второй раз?

Это моя функция:

Liferay.provide(
    window, 
    'openModal', 
    function(title, url) { 
     var A = AUI(); 
     var width = 800; 

     var modal = Liferay.Util.Window.getWindow({ 
      dialog: { 
       centered: true, 
       constrain2view: true, 
       modal: true, 
       resizable: false, 
       height: 650, 
       width: width, 
       //destroyOnClose: true, 
       destroyOnHide: true, 
       toolbars: { 
        footer: [ 
         { 
          label: 'Close', 
          cssClass: 'btn-link pull-right', 
          on: { 
           click: function() { 
            modal.hide(); 
           } 
          } 
         } 
        ] 
       } 
      }, 
      closeOnOutsideClick: true, 
      id:'test-dialog', 
      title: title 
     }).plug(A.Plugin.IO, { 
      uri: url, 
      on: { 
       success: function(event) { 
        console.log("success"); 
       }, 
       complete: function(event) { 
        console.log("complete"); 
       }, 
       start: function(event) { 
        console.log("start"); 
       }, 
       failure: function(event) { 
        console.log("failure"); 
       } 
      } 
     }).render(); 
    } 
); 

Функция используется в этой ссылке:

<a href="javascript:openModal('${title}','${url}');">Open dialog</a> 

Когда я открываю диалог во второй раз, я получаю эту ошибку:

Cannot read property 'Window' of undefined

ответ

0

Разрешено с помощью A.Plugin.DialogIframe модуля insted A.Plugin.IO