我正在将AUI弹出对话框窗口从liferay 6.1迁移到liferay 6.2。我看到有一些具体的变化要做。我在显示按钮方面遇到了一些问题,但现在已经解决了。但问题是关闭图标(x)应位于右上角。一添加保存按钮,它就会突然消失。
这是我的代码:
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();
});
}
如果您对此有任何想法,请告诉我。
on myPopupSubmit
我还编写了关闭弹出窗口的代码:
top.document.getElementById('closethick').click();
由于没有closethick
按钮,因此会返回null
。
答案 0 :(得分:2)
使用modal dialog example作为比较,使用X
属性时会移除toolbars
关闭按钮。
查看toolbars
属性的the source code(撰写本文时的第309行)表示如果您直接使用此属性,则需要添加自己的X
在标题中关闭。
另一种方法是使用addToolbar
函数(如示例所示)在保留默认工具栏的同时包含buttons
。
modal.addToolbar([{
cssClass: 'button_close',
label: 'Save',
render:true,
id: 'myPopupButton',
on: {
click: function() {
myPopupSubmit();
}
}
}]);
我还会考虑让您的myPopupSubmit
功能可以使用该对话框的实例,这样您就可以直接访问dialog.hide()
或dialog.hide()
之后调用myPopupSubmit
使用X
近距离方法。
如果坚持使用当前的方法,正在使用的id将无效,您将需要使用CSS选择器,因为基于YUI的id将会改变。