Search and Top Navigation
Ticket #2929: stack.patch
File stack.patch, 2.9 KB (added by scottgonzalez, June 03, 2008 05:59PM UTC)
Index: C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js
===================================================================
--- C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js (revision 132)
+++ C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js (working copy)
@@ -45,7 +45,13 @@
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 @@
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,11 +142,8 @@
}
uiDialog.mousedown(function() {
- self.activate();
+ self.moveToTop();
});
- uiDialogTitlebar.click(function() {
- self.activate();
- });
(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
@@ -229,7 +232,6 @@
this.position(this.options.position);
this.uiDialog.show();
this.moveToTop();
- this.activate();
// CALLBACK: open
var openEV = null;
@@ -239,18 +241,10 @@
this.uiDialogTitlebarClose.focus();
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);
@@ -258,7 +252,7 @@
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
},
-
+
close: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
@@ -298,6 +292,7 @@
overlay: {},
position: 'center',
resizable: true,
+ stack: true,
width: 300,
zIndex: 1000
},
Download in other formats:
Original Format
File stack.patch, 2.9 KB (added by scottgonzalez, June 03, 2008 05:59PM UTC)
Index: C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js
===================================================================
--- C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js (revision 132)
+++ C:/Documents and Settings/Scott/eclipse/workspace/jQuery UI/ui/source/ui.dialog.js (working copy)
@@ -45,7 +45,13 @@
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 @@
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,11 +142,8 @@
}
uiDialog.mousedown(function() {
- self.activate();
+ self.moveToTop();
});
- uiDialogTitlebar.click(function() {
- self.activate();
- });
(options.bgiframe && $.fn.bgiframe && uiDialog.bgiframe());
@@ -229,7 +232,6 @@
this.position(this.options.position);
this.uiDialog.show();
this.moveToTop();
- this.activate();
// CALLBACK: open
var openEV = null;
@@ -239,18 +241,10 @@
this.uiDialogTitlebarClose.focus();
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);
@@ -258,7 +252,7 @@
(this.overlay && this.overlay.$el.css('z-index', ++maxZ));
this.uiDialog.css('z-index', ++maxZ);
},
-
+
close: function() {
(this.overlay && this.overlay.destroy());
this.uiDialog.hide();
@@ -298,6 +292,7 @@
overlay: {},
position: 'center',
resizable: true,
+ stack: true,
width: 300,
zIndex: 1000
},