mirror of
https://github.com/jquery/jquery-ui.git
synced 2025-01-07 20:34:24 +00:00
Dialog: added stack option.
This commit is contained in:
parent
3237f8e164
commit
29b7b4882f
@ -45,7 +45,13 @@ $.widget("ui.dialog", {
|
||||
var uiDialogContainer = uiDialogContent.parent().addClass('ui-dialog-container').css({position: 'relative'});
|
||||
var uiDialog = (this.uiDialog = uiDialogContainer.parent()).hide()
|
||||
.addClass('ui-dialog').addClass(options.dialogClass)
|
||||
.css({position: 'absolute', width: options.width, height: options.height, overflow: 'hidden'});
|
||||
.css({
|
||||
position: 'absolute',
|
||||
width: options.width,
|
||||
height: options.height,
|
||||
overflow: 'hidden',
|
||||
zIndex: options.zIndex
|
||||
});
|
||||
|
||||
var classNames = uiDialogContent.attr('className').split(' ');
|
||||
|
||||
@ -123,7 +129,7 @@ $.widget("ui.dialog", {
|
||||
uiDialog.draggable({
|
||||
handle: '.ui-dialog-titlebar',
|
||||
start: function(e, ui) {
|
||||
self.activate();
|
||||
self.moveToTop();
|
||||
(options.dragStart && options.dragStart.apply(this, arguments));
|
||||
},
|
||||
drag: options.drag,
|
||||
@ -136,10 +142,7 @@ $.widget("ui.dialog", {
|
||||
}
|
||||
|
||||
uiDialog.mousedown(function() {
|
||||
self.activate();
|
||||
});
|
||||
uiDialogTitlebar.click(function() {
|
||||
self.activate();
|
||||
self.moveToTop();
|
||||
});
|
||||
|
||||
(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
|
||||
@ -229,7 +232,6 @@ $.widget("ui.dialog", {
|
||||
this.position(this.options.position);
|
||||
this.uiDialog.show();
|
||||
this.moveToTop();
|
||||
this.activate();
|
||||
|
||||
// CALLBACK: open
|
||||
var openEV = null;
|
||||
@ -240,17 +242,9 @@ $.widget("ui.dialog", {
|
||||
this.element.triggerHandler("dialogopen", [openEV, openUI], this.options.open);
|
||||
},
|
||||
|
||||
activate: function() {
|
||||
// Move modeless dialogs to the top when they're activated. Even
|
||||
// if there is a modal dialog in the window, the modeless dialog
|
||||
// should be on top because it must have been opened after the modal
|
||||
// dialog. Modal dialogs don't get moved to the top because that
|
||||
// would make any modeless dialogs that it spawned unusable until
|
||||
// the modal dialog is closed.
|
||||
(!this.options.modal && this.moveToTop());
|
||||
},
|
||||
|
||||
moveToTop: function() {
|
||||
if (this.options.modal || !this.options.stack) { return; }
|
||||
|
||||
var maxZ = this.options.zIndex, options = this.options;
|
||||
$('.ui-dialog:visible').each(function() {
|
||||
maxZ = Math.max(maxZ, parseInt($(this).css('z-index'), 10) || options.zIndex);
|
||||
@ -298,6 +292,7 @@ $.extend($.ui.dialog, {
|
||||
overlay: {},
|
||||
position: 'center',
|
||||
resizable: true,
|
||||
stack: true,
|
||||
width: 300,
|
||||
zIndex: 1000
|
||||
},
|
||||
|
Loading…
Reference in New Issue
Block a user