1 /*! jQuery UI - v1.11.4 - 2015-03-13
3 * Copyright jQuery Foundation and other contributors; Licensed MIT */
4 (function(t
){"function"==typeof define
&&define
.amd
?define(["jquery","./core","./widget","./button","./draggable","./mouse","./position","./resizable"],t
):t(jQuery
)})(function(t
){return t
.widget("ui.dialog",{version
:"1.11.4",options
:{appendTo
:"body",autoOpen
:!0,buttons
:[],closeOnEscape
:!0,closeText
:"Close",dialogClass
:"",draggable
:!0,hide
:null,height
:"auto",maxHeight
:null,maxWidth
:null,minHeight
:150,minWidth
:150,modal
:!1,position
:{my
:"center",at
:"center",of:window
,collision
:"fit",using:function(e
){var i
=t(this).css(e
).offset().top
;0>i
&&t(this).css("top",e
.top
-i
)}},resizable
:!0,show
:null,title
:null,width
:300,beforeClose
:null,close
:null,drag
:null,dragStart
:null,dragStop
:null,focus
:null,open
:null,resize
:null,resizeStart
:null,resizeStop
:null},sizeRelatedOptions
:{buttons
:!0,height
:!0,maxHeight
:!0,maxWidth
:!0,minHeight
:!0,minWidth
:!0,width
:!0},resizableRelatedOptions
:{maxHeight
:!0,maxWidth
:!0,minHeight
:!0,minWidth
:!0},_create:function(){this.originalCss
={display
:this.element
[0].style
.display
,width
:this.element
[0].style
.width
,minHeight
:this.element
[0].style
.minHeight
,maxHeight
:this.element
[0].style
.maxHeight
,height
:this.element
[0].style
.height
},this.originalPosition
={parent
:this.element
.parent(),index
:this.element
.parent().children().index(this.element
)},this.originalTitle
=this.element
.attr("title"),this.options
.title
=this.options
.title
||this.originalTitle
,this._createWrapper(),this.element
.show().removeAttr("title").addClass("ui-dialog-content ui-widget-content").appendTo(this.uiDialog
),this._createTitlebar(),this._createButtonPane(),this.options
.draggable
&&t
.fn
.draggable
&&this._makeDraggable(),this.options
.resizable
&&t
.fn
.resizable
&&this._makeResizable(),this._isOpen
=!1,this._trackFocus()},_init:function(){this.options
.autoOpen
&&this.open()},_appendTo:function(){var e
=this.options
.appendTo
;return e
&&(e
.jquery
||e
.nodeType
)?t(e
):this.document
.find(e
||"body").eq(0)},_destroy:function(){var t
,e
=this.originalPosition
;this._untrackInstance(),this._destroyOverlay(),this.element
.removeUniqueId().removeClass("ui-dialog-content ui-widget-content").css(this.originalCss
).detach(),this.uiDialog
.stop(!0,!0).remove(),this.originalTitle
&&this.element
.attr("title",this.originalTitle
),t
=e
.parent
.children().eq(e
.index
),t
.length
&&t
[0]!==this.element
[0]?t
.before(this.element
):e
.parent
.append(this.element
)},widget:function(){return this.uiDialog
},disable
:t
.noop
,enable
:t
.noop
,close:function(e
){var i
,s
=this;if(this._isOpen
&&this._trigger("beforeClose",e
)!==!1){if(this._isOpen
=!1,this._focusedElement
=null,this._destroyOverlay(),this._untrackInstance(),!this.opener
.filter(":focusable").focus().length
)try{i
=this.document
[0].activeElement
,i
&&"body"!==i
.nodeName
.toLowerCase()&&t(i
).blur()}catch(n
){}this._hide(this.uiDialog
,this.options
.hide
,function(){s
._trigger("close",e
)})}},isOpen:function(){return this._isOpen
},moveToTop:function(){this._moveToTop()},_moveToTop:function(e
,i
){var s
=!1,n
=this.uiDialog
.siblings(".ui-front:visible").map(function(){return+t(this).css("z-index")}).get(),o
=Math
.max
.apply(null,n
);return o
>=+this.uiDialog
.css("z-index")&&(this.uiDialog
.css("z-index",o
+1),s
=!0),s
&&!i
&&this._trigger("focus",e
),s
},open:function(){var e
=this;return this._isOpen
?(this._moveToTop()&&this._focusTabbable(),void 0):(this._isOpen
=!0,this.opener
=t(this.document
[0].activeElement
),this._size(),this._position(),this._createOverlay(),this._moveToTop(null,!0),this.overlay
&&this.overlay
.css("z-index",this.uiDialog
.css("z-index")-1),this._show(this.uiDialog
,this.options
.show
,function(){e
._focusTabbable(),e
._trigger("focus")}),this._makeFocusTarget(),this._trigger("open"),void 0)},_focusTabbable:function(){var t
=this._focusedElement
;t
||(t
=this.element
.find("[autofocus]")),t
.length
||(t
=this.element
.find(":tabbable")),t
.length
||(t
=this.uiDialogButtonPane
.find(":tabbable")),t
.length
||(t
=this.uiDialogTitlebarClose
.filter(":tabbable")),t
.length
||(t
=this.uiDialog
),t
.eq(0).focus()},_keepFocus:function(e
){function i(){var e
=this.document
[0].activeElement
,i
=this.uiDialog
[0]===e
||t
.contains(this.uiDialog
[0],e
);i
||this._focusTabbable()}e
.preventDefault(),i
.call(this),this._delay(i
)},_createWrapper:function(){this.uiDialog
=t("<div>").addClass("ui-dialog ui-widget ui-widget-content ui-corner-all ui-front "+this.options
.dialogClass
).hide().attr({tabIndex
:-1,role
:"dialog"}).appendTo(this._appendTo()),this._on(this.uiDialog
,{keydown:function(e
){if(this.options
.closeOnEscape
&&!e
.isDefaultPrevented()&&e
.keyCode
&&e
.keyCode
===t
.ui
.keyCode
.ESCAPE
)return e
.preventDefault(),this.close(e
),void 0;if(e
.keyCode
===t
.ui
.keyCode
.TAB
&&!e
.isDefaultPrevented()){var i
=this.uiDialog
.find(":tabbable"),s
=i
.filter(":first"),n
=i
.filter(":last");e
.target
!==n
[0]&&e
.target
!==this.uiDialog
[0]||e
.shiftKey
?e
.target
!==s
[0]&&e
.target
!==this.uiDialog
[0]||!e
.shiftKey
||(this._delay(function(){n
.focus()}),e
.preventDefault()):(this._delay(function(){s
.focus()}),e
.preventDefault())}},mousedown:function(t
){this._moveToTop(t
)&&this._focusTabbable()}}),this.element
.find("[aria-describedby]").length
||this.uiDialog
.attr({"aria-describedby":this.element
.uniqueId().attr("id")})},_createTitlebar:function(){var e
;this.uiDialogTitlebar
=t("<div>").addClass("ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix").prependTo(this.uiDialog
),this._on(this.uiDialogTitlebar
,{mousedown:function(e
){t(e
.target
).closest(".ui-dialog-titlebar-close")||this.uiDialog
.focus()}}),this.uiDialogTitlebarClose
=t("<button type='button'></button>").button({label
:this.options
.closeText
,icons
:{primary
:"ui-icon-closethick"},text
:!1}).addClass("ui-dialog-titlebar-close").appendTo(this.uiDialogTitlebar
),this._on(this.uiDialogTitlebarClose
,{click:function(t
){t
.preventDefault(),this.close(t
)}}),e
=t("<span>").uniqueId().addClass("ui-dialog-title").prependTo(this.uiDialogTitlebar
),this._title(e
),this.uiDialog
.attr({"aria-labelledby":e
.attr("id")})},_title:function(t
){this.options
.title
||t
.html(" "),t
.text(this.options
.title
)},_createButtonPane:function(){this.uiDialogButtonPane
=t("<div>").addClass("ui-dialog-buttonpane ui-widget-content ui-helper-clearfix"),this.uiButtonSet
=t("<div>").addClass("ui-dialog-buttonset").appendTo(this.uiDialogButtonPane
),this._createButtons()},_createButtons:function(){var e
=this,i
=this.options
.buttons
;return this.uiDialogButtonPane
.remove(),this.uiButtonSet
.empty(),t
.isEmptyObject(i
)||t
.isArray(i
)&&!i
.length
?(this.uiDialog
.removeClass("ui-dialog-buttons"),void 0):(t
.each(i
,function(i
,s
){var n
,o
;s
=t
.isFunction(s
)?{click
:s
,text
:i
}:s
,s
=t
.extend({type
:"button"},s
),n
=s
.click
,s
.click=function(){n
.apply(e
.element
[0],arguments
)},o
={icons
:s
.icons
,text
:s
.showText
},delete s
.icons
,delete s
.showText
,t("<button></button>",s
).button(o
).appendTo(e
.uiButtonSet
)}),this.uiDialog
.addClass("ui-dialog-buttons"),this.uiDialogButtonPane
.appendTo(this.uiDialog
),void 0)},_makeDraggable:function(){function e(t
){return{position
:t
.position
,offset
:t
.offset
}}var i
=this,s
=this.options
;this.uiDialog
.draggable({cancel
:".ui-dialog-content, .ui-dialog-titlebar-close",handle
:".ui-dialog-titlebar",containment
:"document",start:function(s
,n
){t(this).addClass("ui-dialog-dragging"),i
._blockFrames(),i
._trigger("dragStart",s
,e(n
))},drag:function(t
,s
){i
._trigger("drag",t
,e(s
))},stop:function(n
,o
){var a
=o
.offset
.left
-i
.document
.scrollLeft(),r
=o
.offset
.top
-i
.document
.scrollTop();s
.position
={my
:"left top",at
:"left"+(a
>=0?"+":"")+a
+" "+"top"+(r
>=0?"+":"")+r
,of:i
.window
},t(this).removeClass("ui-dialog-dragging"),i
._unblockFrames(),i
._trigger("dragStop",n
,e(o
))}})},_makeResizable:function(){function e(t
){return{originalPosition
:t
.originalPosition
,originalSize
:t
.originalSize
,position
:t
.position
,size
:t
.size
}}var i
=this,s
=this.options
,n
=s
.resizable
,o
=this.uiDialog
.css("position"),a
="string"==typeof n
?n
:"n,e,s,w,se,sw,ne,nw";this.uiDialog
.resizable({cancel
:".ui-dialog-content",containment
:"document",alsoResize
:this.element
,maxWidth
:s
.maxWidth
,maxHeight
:s
.maxHeight
,minWidth
:s
.minWidth
,minHeight
:this._minHeight(),handles
:a
,start:function(s
,n
){t(this).addClass("ui-dialog-resizing"),i
._blockFrames(),i
._trigger("resizeStart",s
,e(n
))},resize:function(t
,s
){i
._trigger("resize",t
,e(s
))},stop:function(n
,o
){var a
=i
.uiDialog
.offset(),r
=a
.left
-i
.document
.scrollLeft(),h
=a
.top
-i
.document
.scrollTop();s
.height
=i
.uiDialog
.height(),s
.width
=i
.uiDialog
.width(),s
.position
={my
:"left top",at
:"left"+(r
>=0?"+":"")+r
+" "+"top"+(h
>=0?"+":"")+h
,of:i
.window
},t(this).removeClass("ui-dialog-resizing"),i
._unblockFrames(),i
._trigger("resizeStop",n
,e(o
))}}).css("position",o
)},_trackFocus:function(){this._on(this.widget(),{focusin:function(e
){this._makeFocusTarget(),this._focusedElement
=t(e
.target
)}})},_makeFocusTarget:function(){this._untrackInstance(),this._trackingInstances().unshift(this)},_untrackInstance:function(){var e
=this._trackingInstances(),i
=t
.inArray(this,e
);-1!==i
&&e
.splice(i
,1)},_trackingInstances:function(){var t
=this.document
.data("ui-dialog-instances");return t
||(t
=[],this.document
.data("ui-dialog-instances",t
)),t
},_minHeight:function(){var t
=this.options
;return"auto"===t
.height
?t
.minHeight
:Math
.min(t
.minHeight
,t
.height
)},_position:function(){var t
=this.uiDialog
.is(":visible");t
||this.uiDialog
.show(),this.uiDialog
.position(this.options
.position
),t
||this.uiDialog
.hide()},_setOptions:function(e
){var i
=this,s
=!1,n
={};t
.each(e
,function(t
,e
){i
._setOption(t
,e
),t
in i
.sizeRelatedOptions
&&(s
=!0),t
in i
.resizableRelatedOptions
&&(n
[t
]=e
)}),s
&&(this._size(),this._position()),this.uiDialog
.is(":data(ui-resizable)")&&this.uiDialog
.resizable("option",n
)},_setOption:function(t
,e
){var i
,s
,n
=this.uiDialog
;"dialogClass"===t
&&n
.removeClass(this.options
.dialogClass
).addClass(e
),"disabled"!==t
&&(this._super(t
,e
),"appendTo"===t
&&this.uiDialog
.appendTo(this._appendTo()),"buttons"===t
&&this._createButtons(),"closeText"===t
&&this.uiDialogTitlebarClose
.button({label
:""+e
}),"draggable"===t
&&(i
=n
.is(":data(ui-draggable)"),i
&&!e
&&n
.draggable("destroy"),!i
&&e
&&this._makeDraggable()),"position"===t
&&this._position(),"resizable"===t
&&(s
=n
.is(":data(ui-resizable)"),s
&&!e
&&n
.resizable("destroy"),s
&&"string"==typeof e
&&n
.resizable("option","handles",e
),s
||e
===!1||this._makeResizable()),"title"===t
&&this._title(this.uiDialogTitlebar
.find(".ui-dialog-title")))},_size:function(){var t
,e
,i
,s
=this.options
;this.element
.show().css({width
:"auto",minHeight
:0,maxHeight
:"none",height
:0}),s
.minWidth
>s
.width
&&(s
.width
=s
.minWidth
),t
=this.uiDialog
.css({height
:"auto",width
:s
.width
}).outerHeight(),e
=Math
.max(0,s
.minHeight
-t
),i
="number"==typeof s
.maxHeight
?Math
.max(0,s
.maxHeight
-t
):"none","auto"===s
.height
?this.element
.css({minHeight
:e
,maxHeight
:i
,height
:"auto"}):this.element
.height(Math
.max(0,s
.height
-t
)),this.uiDialog
.is(":data(ui-resizable)")&&this.uiDialog
.resizable("option","minHeight",this._minHeight())},_blockFrames:function(){this.iframeBlocks
=this.document
.find("iframe").map(function(){var e
=t(this);return t("<div>").css({position
:"absolute",width
:e
.outerWidth(),height
:e
.outerHeight()}).appendTo(e
.parent()).offset(e
.offset())[0]})},_unblockFrames:function(){this.iframeBlocks
&&(this.iframeBlocks
.remove(),delete this.iframeBlocks
)},_allowInteraction:function(e
){return t(e
.target
).closest(".ui-dialog").length
?!0:!!t(e
.target
).closest(".ui-datepicker").length
},_createOverlay:function(){if(this.options
.modal
){var e
=!0;this._delay(function(){e
=!1}),this.document
.data("ui-dialog-overlays")||this._on(this.document
,{focusin:function(t
){e
||this._allowInteraction(t
)||(t
.preventDefault(),this._trackingInstances()[0]._focusTabbable())}}),this.overlay
=t("<div>").addClass("ui-widget-overlay ui-front").appendTo(this._appendTo()),this._on(this.overlay
,{mousedown
:"_keepFocus"}),this.document
.data("ui-dialog-overlays",(this.document
.data("ui-dialog-overlays")||0)+1)}},_destroyOverlay:function(){if(this.options
.modal
&&this.overlay
){var t
=this.document
.data("ui-dialog-overlays")-1;t
?this.document
.data("ui-dialog-overlays",t
):this.document
.unbind("focusin").removeData("ui-dialog-overlays"),this.overlay
.remove(),this.overlay
=null}}})});