Dialog: Support deprecated button options

Fixes #15016
Closes gh-1723
This commit is contained in:
Scott González 2016-07-25 08:16:13 -04:00
parent f67f9293ae
commit 6c754b4b5b
2 changed files with 41 additions and 1 deletions

View File

@ -28,4 +28,34 @@ QUnit.test( "dialogClass", function( assert ) {
element.remove();
} );
QUnit.test( "buttons - deprecated options", function( assert ) {
assert.expect( 7 );
var buttons,
element = $( "<div></div>" ).dialog( {
buttons: [
{
html: "a button",
"class": "additional-class",
id: "my-button-id",
click: function() {
assert.equal( this, element[ 0 ], "correct context" );
},
icons: { primary: "ui-icon-cancel" },
text: false
}
]
} );
buttons = element.dialog( "widget" ).find( ".ui-dialog-buttonpane button" );
assert.equal( buttons.length, 1, "correct number of buttons" );
assert.equal( buttons.attr( "id" ), "my-button-id", "correct id" );
assert.equal( $.trim( buttons.text() ), "a button", "correct label" );
assert.hasClasses( buttons, "additional-class" );
assert.deepEqual( buttons.button( "option", "icon" ), "ui-icon-cancel" );
assert.equal( buttons.button( "option", "showLabel" ), false );
buttons.trigger( "click" );
element.remove();
} );
} );

View File

@ -500,7 +500,11 @@ $.widget( "ui.dialog", {
buttonOptions = {
icon: props.icon,
iconPosition: props.iconPosition,
showLabel: props.showLabel
showLabel: props.showLabel,
// Deprecated options
icons: props.icons,
text: props.text
};
delete props.click;
@ -508,6 +512,12 @@ $.widget( "ui.dialog", {
delete props.iconPosition;
delete props.showLabel;
// Deprecated options
delete props.icons;
if ( typeof props.text === "boolean" ) {
delete props.text;
}
$( "<button></button>", props )
.button( buttonOptions )
.appendTo( that.uiButtonSet )