From 6c754b4b5b19a2a12eae68058458ef9ff7b72a0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Scott=20Gonz=C3=A1lez?= Date: Mon, 25 Jul 2016 08:16:13 -0400 Subject: [PATCH] Dialog: Support deprecated button options Fixes #15016 Closes gh-1723 --- tests/unit/dialog/deprecated.js | 30 ++++++++++++++++++++++++++++++ ui/widgets/dialog.js | 12 +++++++++++- 2 files changed, 41 insertions(+), 1 deletion(-) diff --git a/tests/unit/dialog/deprecated.js b/tests/unit/dialog/deprecated.js index 960bf0dc4..973a90893 100644 --- a/tests/unit/dialog/deprecated.js +++ b/tests/unit/dialog/deprecated.js @@ -28,4 +28,34 @@ QUnit.test( "dialogClass", function( assert ) { element.remove(); } ); +QUnit.test( "buttons - deprecated options", function( assert ) { + assert.expect( 7 ); + + var buttons, + element = $( "
" ).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(); +} ); } ); diff --git a/ui/widgets/dialog.js b/ui/widgets/dialog.js index 1bbb3fcd2..c8829331f 100644 --- a/ui/widgets/dialog.js +++ b/ui/widgets/dialog.js @@ -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; + } + $( "", props ) .button( buttonOptions ) .appendTo( that.uiButtonSet )