Dialog: Made moveToTop public.

This commit is contained in:
Scott González 2008-09-29 13:08:14 +00:00
parent 212a822c48
commit c9a8ee531c

View File

@ -83,7 +83,7 @@ $.widget("ui.dialog", {
.ariaRole("dialog") .ariaRole("dialog")
.ariaState("labelledby", titleId) .ariaState("labelledby", titleId)
.mousedown(function() { .mousedown(function() {
self._moveToTop(); self.moveToTop();
}), }),
uiDialogButtonPane = (this.uiDialogButtonPane = $('<div/>')) uiDialogButtonPane = (this.uiDialogButtonPane = $('<div/>'))
@ -158,6 +158,25 @@ $.widget("ui.dialog", {
return this._isOpen; return this._isOpen;
}, },
// the force parameter allows us to move modal dialogs to their correct
// position on open
moveToTop: function(force) {
if ((this.options.modal && !force)
|| (!this.options.stack && !this.options.modal)) {
return this._trigger('focus', null, { options: this.options });
}
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);
});
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
this._trigger('focus', null, { options: this.options });
},
open: function() { open: function() {
if (this._isOpen) { return; } if (this._isOpen) { return; }
@ -166,7 +185,7 @@ $.widget("ui.dialog", {
this._position(this.options.position); this._position(this.options.position);
this.uiDialog.show(this.options.show); this.uiDialog.show(this.options.show);
(this.options.autoResize && this._size()); (this.options.autoResize && this._size());
this._moveToTop(true); this.moveToTop(true);
// prevent tabbing out of modal dialogs // prevent tabbing out of modal dialogs
(this.options.modal && this.uiDialog.bind('keypress.ui-dialog', function(e) { (this.options.modal && this.uiDialog.bind('keypress.ui-dialog', function(e) {
@ -223,7 +242,7 @@ $.widget("ui.dialog", {
helper: options.dragHelper, helper: options.dragHelper,
handle: '.ui-dialog-titlebar', handle: '.ui-dialog-titlebar',
start: function() { start: function() {
self._moveToTop(); self.moveToTop();
(options.dragStart && options.dragStart.apply(self.element[0], arguments)); (options.dragStart && options.dragStart.apply(self.element[0], arguments));
}, },
drag: function() { drag: function() {
@ -267,25 +286,6 @@ $.widget("ui.dialog", {
}); });
}, },
// the force parameter allows us to move modal dialogs to their correct
// position on open
_moveToTop: function(force) {
if ((this.options.modal && !force)
|| (!this.options.stack && !this.options.modal)) {
return this._trigger('focus', null, { options: this.options });
}
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);
});
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
this._trigger('focus', null, { options: this.options });
},
_position: function(pos) { _position: function(pos) {
var wnd = $(window), doc = $(document), var wnd = $(window), doc = $(document),
pTop = doc.scrollTop(), pLeft = doc.scrollLeft(), pTop = doc.scrollTop(), pLeft = doc.scrollLeft(),