aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorScott González <scott.gonzalez@gmail.com>2009-01-31 04:33:36 +0000
committerScott González <scott.gonzalez@gmail.com>2009-01-31 04:33:36 +0000
commit171c7c067106f6b35b2f35829a7d847858a36c74 (patch)
tree947466688f8f1144371ae6d3992f6523c92f63e6
parent6695e5ac7f5be9be2b25f62314ba80812a5fbf65 (diff)
downloadjquery-ui-171c7c067106f6b35b2f35829a7d847858a36c74.tar.gz
jquery-ui-171c7c067106f6b35b2f35829a7d847858a36c74.zip
Dialog: Shadow cleanup.
- Don't hide shadow during drag/resize in IE6 (let the user do this one their own). - Let users modify the shadow option after init. .parents('.ui-dialog') .bind('dragstart resizestart', function() { $(this).find('.ui-dialog-content').dialog('option', 'shadow', false); }) .bind('dragstop resizestop', function() { $(this).find('.ui-dialog-content').dialog('option', 'shadow', true); });
-rw-r--r--ui/ui.dialog.js31
1 files changed, 14 insertions, 17 deletions
diff --git a/ui/ui.dialog.js b/ui/ui.dialog.js
index 8c8f8320f..58f8457b8 100644
--- a/ui/ui.dialog.js
+++ b/ui/ui.dialog.js
@@ -244,8 +244,7 @@ $.widget("ui.dialog", {
.filter(':first')
.focus();
- if(options.shadow)
- this._createShadow();
+ (options.shadow && this._createShadow());
this._trigger('open', event);
this._isOpen = true;
@@ -306,16 +305,14 @@ $.widget("ui.dialog", {
containment: 'document',
start: function() {
(options.dragStart && options.dragStart.apply(self.element[0], arguments));
- if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.hide();
},
drag: function() {
(options.drag && options.drag.apply(self.element[0], arguments));
- self._refreshShadow(1);
+ self._refreshShadow();
},
stop: function() {
(options.dragStop && options.dragStop.apply(self.element[0], arguments));
$.ui.dialog.overlay.resize();
- if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.show();
self._refreshShadow();
}
});
@@ -339,17 +336,15 @@ $.widget("ui.dialog", {
minHeight: options.minHeight,
start: function() {
(options.resizeStart && options.resizeStart.apply(self.element[0], arguments));
- if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.hide();
},
resize: function() {
(options.resize && options.resize.apply(self.element[0], arguments));
- self._refreshShadow(1);
+ self._refreshShadow();
},
handles: resizeHandles,
stop: function() {
(options.resizeStop && options.resizeStop.apply(self.element[0], arguments));
$.ui.dialog.overlay.resize();
- if($.browser.msie && $.browser.version < 7 && self.shadow) self.shadow.show();
self._refreshShadow();
}
})
@@ -440,7 +435,11 @@ $.widget("ui.dialog", {
// currently non-resizable, becoming resizable
(isResizable || this._makeResizable(value));
-
+ break;
+ case "shadow":
+ (value
+ ? this.shadow || this._createShadow()
+ : this.shadow && this._destroyShadow());
break;
case "title":
$(".ui-dialog-title", this.uiDialogTitlebar).html(value || '&nbsp;');
@@ -489,17 +488,16 @@ $.widget("ui.dialog", {
return this.shadow;
},
- _refreshShadow: function(dragging) {
- // IE6 is simply to slow to handle the reflow in a good way, so
- // resizing only happens on stop, and the shadow is hidden during drag/resize
- if(dragging && $.browser.msie && $.browser.version < 7) return;
+ _refreshShadow: function() {
+ if (!this.options.shadow) { return; }
- var offset = this.uiDialog.offset();
+ var uiDialog = this.uiDialog,
+ offset = uiDialog.offset();
this.shadow.css({
left: offset.left,
top: offset.top,
- width: this.uiDialog.outerWidth(),
- height: this.uiDialog.outerHeight()
+ width: uiDialog.outerWidth(),
+ height: uiDialog.outerHeight()
});
},
@@ -507,7 +505,6 @@ $.widget("ui.dialog", {
this.shadow.remove();
this.shadow = null;
}
-
});
$.extend($.ui.dialog, {