mirror of
https://github.com/jquery/jquery-ui.git
synced 2024-11-21 11:04:24 +00:00
Dialog: Fixed #3220: Non-resizable dialogs shouldn't instantiate resizables.
This commit is contained in:
parent
7e9dcd21de
commit
8bd855a162
@ -34,9 +34,6 @@ $.widget("ui.dialog", {
|
|||||||
|
|
||||||
var self = this,
|
var self = this,
|
||||||
options = this.options,
|
options = this.options,
|
||||||
resizeHandles = typeof options.resizable == 'string'
|
|
||||||
? options.resizable
|
|
||||||
: 'n,e,s,w,se,sw,ne,nw',
|
|
||||||
|
|
||||||
uiDialogContent = this.element
|
uiDialogContent = this.element
|
||||||
.removeAttr('title')
|
.removeAttr('title')
|
||||||
@ -134,30 +131,7 @@ $.widget("ui.dialog", {
|
|||||||
(options.draggable || uiDialog.draggable('disable'));
|
(options.draggable || uiDialog.draggable('disable'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($.fn.resizable) {
|
(options.resizable && $.fn.resizable && this._makeResizable());
|
||||||
uiDialog.resizable({
|
|
||||||
cancel: '.ui-dialog-content',
|
|
||||||
helper: options.resizeHelper,
|
|
||||||
maxWidth: options.maxWidth,
|
|
||||||
maxHeight: options.maxHeight,
|
|
||||||
minWidth: options.minWidth,
|
|
||||||
minHeight: options.minHeight,
|
|
||||||
start: function() {
|
|
||||||
(options.resizeStart && options.resizeStart.apply(self.element[0], arguments));
|
|
||||||
},
|
|
||||||
resize: function() {
|
|
||||||
(options.autoResize && self._size.apply(self));
|
|
||||||
(options.resize && options.resize.apply(self.element[0], arguments));
|
|
||||||
},
|
|
||||||
handles: resizeHandles,
|
|
||||||
stop: function() {
|
|
||||||
(options.autoResize && self._size.apply(self));
|
|
||||||
(options.resizeStop && options.resizeStop.apply(self.element[0], arguments));
|
|
||||||
$.ui.dialog.overlay.resize();
|
|
||||||
}
|
|
||||||
});
|
|
||||||
(options.resizable || uiDialog.resizable('disable'));
|
|
||||||
}
|
|
||||||
|
|
||||||
this._createButtons(options.buttons);
|
this._createButtons(options.buttons);
|
||||||
this._isOpen = false;
|
this._isOpen = false;
|
||||||
@ -166,6 +140,37 @@ $.widget("ui.dialog", {
|
|||||||
(options.autoOpen && this.open());
|
(options.autoOpen && this.open());
|
||||||
},
|
},
|
||||||
|
|
||||||
|
_makeResizable: function(handles) {
|
||||||
|
handles = (handles === undefined ? this.options.resizable : handles);
|
||||||
|
var self = this,
|
||||||
|
options = this.options,
|
||||||
|
resizeHandles = typeof handles == 'string'
|
||||||
|
? handles
|
||||||
|
: 'n,e,s,w,se,sw,ne,nw';
|
||||||
|
|
||||||
|
this.uiDialog.resizable({
|
||||||
|
cancel: '.ui-dialog-content',
|
||||||
|
helper: options.resizeHelper,
|
||||||
|
maxWidth: options.maxWidth,
|
||||||
|
maxHeight: options.maxHeight,
|
||||||
|
minWidth: options.minWidth,
|
||||||
|
minHeight: options.minHeight,
|
||||||
|
start: function() {
|
||||||
|
(options.resizeStart && options.resizeStart.apply(self.element[0], arguments));
|
||||||
|
},
|
||||||
|
resize: function() {
|
||||||
|
(options.autoResize && self._size.apply(self));
|
||||||
|
(options.resize && options.resize.apply(self.element[0], arguments));
|
||||||
|
},
|
||||||
|
handles: resizeHandles,
|
||||||
|
stop: function() {
|
||||||
|
(options.autoResize && self._size.apply(self));
|
||||||
|
(options.resizeStop && options.resizeStop.apply(self.element[0], arguments));
|
||||||
|
$.ui.dialog.overlay.resize();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
},
|
||||||
|
|
||||||
_setData: function(key, value){
|
_setData: function(key, value){
|
||||||
(setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value));
|
(setDataSwitch[key] && this.uiDialog.data(setDataSwitch[key], value));
|
||||||
switch (key) {
|
switch (key) {
|
||||||
@ -182,8 +187,19 @@ $.widget("ui.dialog", {
|
|||||||
this._position(value);
|
this._position(value);
|
||||||
break;
|
break;
|
||||||
case "resizable":
|
case "resizable":
|
||||||
(typeof value == 'string' && this.uiDialog.data('handles.resizable', value));
|
var uiDialog = this.uiDialog,
|
||||||
this.uiDialog.resizable(value ? 'enable' : 'disable');
|
isResizable = this.uiDialog.is(':data(resizable)');
|
||||||
|
|
||||||
|
// currently resizable, becoming non-resizable
|
||||||
|
(isResizable && !value && uiDialog.resizable('destroy'));
|
||||||
|
|
||||||
|
// currently resizable, changing handles
|
||||||
|
(isResizable && typeof value == 'string' &&
|
||||||
|
uiDialog.resizable('option', 'handles', value));
|
||||||
|
|
||||||
|
// currently non-resizable, becoming resizable
|
||||||
|
(isResizable || this._makeResizable(value));
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case "title":
|
case "title":
|
||||||
$(".ui-dialog-title", this.uiDialogTitlebar).html(value || ' ');
|
$(".ui-dialog-title", this.uiDialogTitlebar).html(value || ' ');
|
||||||
|
Loading…
Reference in New Issue
Block a user