2014-06-24 2 views
0

liferay 6.1에서 liferay 6.2로 AUI 팝업 대화 상자 창을 이전합니다. 몇 가지 구체적인 변경 사항이 있음을 확인했습니다. 버튼 표시에 문제가 있었지만 지금 해결되었습니다. 그러나 문제는 상단 오른쪽 모서리에 있어야하는 닫기 아이콘 (x)입니다. 저장 버튼을 추가하자마자 갑자기 사라졌습니다.closethick 버튼이 생존 팝업이 사라집니다. 6.2

top.document.getElementById('closethick').click(); 
: 나는 또한으로 팝업을 닫습니다 코드를 작성했습니다

myPopup = AUI().use('aui-base','liferay-util-window','aui-io-deprecated', 'event', 'event-custom', function(A) { 
    var buttons =[{ 
     cssClass: 'button_close', 
     label: 'Save', 
     render:true, 
     id: 'myPopupButton', 
     on: { 
     click: function() { 
      myPopupSubmit(); 
     }} 
    }]; 

myPopup = Liferay.Util.Window.getWindow(
{ 
    dialog: { 
     title : a + ' mytitle', 
     centered : true, 
     height : 600, 
     width : 500, 
     draggable : true, 
     resizable : true, 
     modal : true, 
     toolbars: { 
      footer:buttons 
     }, 

    }}).plug(A.Plugin.IO, { 
     uri : url 
    }).render(); 
    myPopup.show(); 
}); 
} 

당신이 그것에 어떤 생각이 있으면 알려 주시기 바랍니다 .. myPopupSubmit

: 여기

내 코드입니다

closethick 버튼이 없으므로 null을 반환합니다.

답변

2

modal dialog example을 비교하면 toolbars 속성을 사용할 때 X 닫기 버튼이 제거됩니다. (이 글을 쓰는 시점에서 라인 309)에 toolbars 속성에 대한 the source code을 검토

당신이 직접이 속성을 사용하는 경우, 당신은 헤더에 자신의 X 가까운을 포함해야 함을 나타냅니다.

대안으로는 buttons을 포함하여 기본 도구 모음을 유지하면서 addToolbar 함수를 사용하는 것입니다 (예제에서 볼 수 있음). 당신이 X 가까이 접근 방법을 사용하여 대 myPopupSubmitdialog.hide() 또는 전화 dialog.hide()을 수행 할 수있는 직접 액세스 할 수 있도록

modal.addToolbar([{ 
cssClass: 'button_close', 
label: 'Save', 
render:true, 
id: 'myPopupButton', 
on: { 
     click: function() { 
     myPopupSubmit(); 
     } 
    } 
}]); 

나는 또한 myPopupSubmit 기능에 사용할 수있는 대화의 인스턴스을 고려할 것입니다.

현재 사용중인 ID를 사용하는 경우 작동하지 않는 경우 YUI 기반 ID가 변경되므로 CSS 선택 도구를 사용해야합니다.

+0

고마워요! 예, 이제 X 버튼이 나타나지만 저장 버튼이 표시되지 않습니다. – user596502

+0

내 실수 : myPopup.addToolbar ([{...}))를 완료해야합니다. 지금 작동합니다. 고맙습니다! – user596502

+0

실제로는 창을 닫는 것이 올바른 방법인지 묻고 싶습니다. 오른쪽 상단의 X 아이콘이 작동하지만 저장 버튼을 클릭 한 후 창을 닫을 수도 있습니다. @ Origineil이 ID가 바뀔 것이므로 CSS 선택기를 사용해야한다고 제안했습니다. 한 가지 예를 들어 줄 수 있습니까? 나는 다음과 같이 다른 방법을 시도했다 : myPopup.hide() 호출; myPopupSubmit()하지만 myPopup.hide 함수가 아니라는 것을 말하는 Type 오류가 발생했습니다 ... 내가 잘못하고 있습니다 ... – user596502

관련 문제