diff --git a/themes/base/jquery.ui.dialog.css b/themes/base/jquery.ui.dialog.css index 2f523b30c50..252e06b38cc 100644 --- a/themes/base/jquery.ui.dialog.css +++ b/themes/base/jquery.ui.dialog.css @@ -10,6 +10,8 @@ */ .ui-dialog { position: absolute; top: 0; left: 0; padding: .2em; width: 300px; overflow: hidden; outline: 0; } .ui-dialog .ui-dialog-titlebar { padding: .4em 1em; position: relative; } +.ui-dialog .ui-dialog-titlebar-icon { position: absolute; top: 50%; left: 0.3em; margin: -8px 0 0 0; } +.ui-dialog .ui-dialog-titlebar-icon-spacer { width: 16px; height: 16px; display: block; float: left; margin-left: -0.3em; } .ui-dialog .ui-dialog-title { float: left; margin: .1em 16px .1em 0; } .ui-dialog .ui-dialog-titlebar-close { position: absolute; right: .3em; top: 50%; width: 19px; margin: -10px 0 0 0; padding: 1px; height: 18px; } .ui-dialog .ui-dialog-titlebar-close span { display: block; margin: 1px; } diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js index 07c5c7cb6af..38b5d55f78e 100644 --- a/ui/jquery.ui.dialog.js +++ b/ui/jquery.ui.dialog.js @@ -144,6 +144,16 @@ $.widget("ui.dialog", { .html( title ) .prependTo( uiDialogTitlebar ); + if (options.icon) { + (this.uiDialogTitleIconSpacer = $( "" )) + .addClass( "ui-dialog-titlebar-icon-spacer" ) + .prependTo( uiDialogTitlebar ); + (this.uiDialogTitleIcon = $( "" )) + .addClass( "ui-dialog-titlebar-icon ui-icon") + .addClass( options.icon ) + .prependTo( uiDialogTitlebar ); + } + uiDialogButtonPane = ( this.uiDialogButtonPane = $( "
" ) ) .addClass( "ui-dialog-buttonpane ui-widget-content ui-helper-clearfix" ); @@ -580,6 +590,23 @@ $.widget("ui.dialog", { $( ".ui-dialog-title", this.uiDialogTitlebar ) .html( "" + ( value || " " ) ); break; + case "icon": + if (typeof value === "string") + { + if (!this.uiDialogTitleIcon) + { + (this.uiDialogTitleIconSpacer = $( "" )) + .addClass( "ui-dialog-titlebar-icon-spacer" ) + .prependTo( uiDialogTitlebar ); + (this.uiDialogTitleIcon = $( "" )) + .prependTo( uiDialogTitlebar ); + } + this.uiDialogTitleIcon + .removeClass() + .addClass( "ui-dialog-titlebar-icon ui-icon") + .addClass( value ) + } + break; } this._super( key, value );