aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJörn Zaefferer <joern.zaefferer@gmail.com>2010-03-05 17:56:34 +0000
committerJörn Zaefferer <joern.zaefferer@gmail.com>2010-03-05 17:56:34 +0000
commitd3a8c96428dcf62e35c4ac2850a20ea67b47de03 (patch)
treefca145168873c0f98a613ce02cdbb7e319472543
parenteaeb580d829ee54f609b17abb0974a5f688a6855 (diff)
downloadjquery-ui-d3a8c96428dcf62e35c4ac2850a20ea67b47de03.tar.gz
jquery-ui-d3a8c96428dcf62e35c4ac2850a20ea67b47de03.zip
Filter properties to forward to dialog events on resize and drag etc. - fix for #5291
-rw-r--r--ui/jquery.ui.dialog.js28
1 files changed, 22 insertions, 6 deletions
diff --git a/ui/jquery.ui.dialog.js b/ui/jquery.ui.dialog.js
index 216f1e68c..73cbbc89c 100644
--- a/ui/jquery.ui.dialog.js
+++ b/ui/jquery.ui.dialog.js
@@ -327,6 +327,13 @@ $.widget("ui.dialog", {
doc = $(document),
heightBeforeDrag;
+ function filteredUi(ui) {
+ return {
+ positon: ui.position,
+ offset: ui.offset
+ };
+ }
+
self.uiDialog.draggable({
cancel: '.ui-dialog-content, .ui-dialog-titlebar-close',
handle: '.ui-dialog-titlebar',
@@ -334,16 +341,16 @@ $.widget("ui.dialog", {
start: function(event, ui) {
heightBeforeDrag = options.height === "auto" ? "auto" : $(this).height();
$(this).height($(this).height()).addClass("ui-dialog-dragging");
- self._trigger('dragStart', event, ui);
+ self._trigger('dragStart', event, filteredUi(ui));
},
drag: function(event, ui) {
- self._trigger('drag', event, ui);
+ self._trigger('drag', event, filteredUi(ui));
},
stop: function(event, ui) {
options.position = [ui.position.left - doc.scrollLeft(),
ui.position.top - doc.scrollTop()];
$(this).removeClass("ui-dialog-dragging").height(heightBeforeDrag);
- self._trigger('dragStop', event, ui);
+ self._trigger('dragStop', event, filteredUi(ui));
$.ui.dialog.overlay.resize();
}
});
@@ -360,6 +367,15 @@ $.widget("ui.dialog", {
? handles
: 'n,e,s,w,se,sw,ne,nw';
+ function filteredUi(ui) {
+ return {
+ originalPosition: ui.originalPosition,
+ originalSize: ui.originalSize,
+ position: ui.position,
+ size: ui.size
+ };
+ }
+
self.uiDialog.resizable({
cancel: '.ui-dialog-content',
containment: 'document',
@@ -371,16 +387,16 @@ $.widget("ui.dialog", {
handles: resizeHandles,
start: function(event, ui) {
$(this).addClass("ui-dialog-resizing");
- self._trigger('resizeStart', event, ui);
+ self._trigger('resizeStart', event, filteredUi(ui));
},
resize: function(event, ui) {
- self._trigger('resize', event, ui);
+ self._trigger('resize', event, filteredUi(ui));
},
stop: function(event, ui) {
$(this).removeClass("ui-dialog-resizing");
options.height = $(this).height();
options.width = $(this).width();
- self._trigger('resizeStop', event, ui);
+ self._trigger('resizeStop', event, filteredUi(ui));
$.ui.dialog.overlay.resize();
}
})