/*! * jQuery UI Dialog - v1.10.4 * http://jqueryui.com * * Copyright 2014 jQuery Foundation and other contributors * Released under the MIT license. * http://jquery.org/license * * http://api.jqueryui.com/dialog/ */ define([ 'jquery', 'jquery-ui-modules/button', 'jquery-ui-modules/draggable', 'jquery-ui-modules/position', 'jquery-ui-modules/resizable' ], function ($, undefined) { var sizeRelatedOptions = { buttons: true, height: true, maxHeight: true, maxWidth: true, minHeight: true, minWidth: true, width: true }, resizableRelatedOptions = { maxHeight: true, maxWidth: true, minHeight: true, minWidth: true }; $.widget("ui.dialog", { version: "1.10.4", options: { appendTo: "body", autoOpen: true, buttons: [], closeOnEscape: true, closeText: "close", dialogClass: "", draggable: true, hide: null, height: "auto", maxHeight: null, maxWidth: null, minHeight: 150, minWidth: 150, modal: false, position: { my: "center", at: "center", of: window, collision: "fit", // Ensure the titlebar is always visible using: function (pos) { var topOffset = $(this).css(pos).offset().top; if (topOffset < 0) { $(this).css("top", pos.top - topOffset); } } }, resizable: true, show: null, title: null, width: 300, // callbacks beforeClose: null, close: null, drag: null, dragStart: null, dragStop: null, focus: null, open: null, resize: null, resizeStart: null, resizeStop: null }, _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(); if (this.options.draggable && $.fn.draggable) { this._makeDraggable(); } if (this.options.resizable && $.fn.resizable) { this._makeResizable(); } this._isOpen = false; }, _init: function () { if (this.options.autoOpen) { this.open(); } }, _appendTo: function () { var element = this.options.appendTo; if (element && (element.jquery || element.nodeType)) { return $(element); } return this.document.find(element || "body").eq(0); }, _destroy: function () { var next, originalPosition = this.originalPosition; this._destroyOverlay(); this.element .removeUniqueId() .removeClass("ui-dialog-content ui-widget-content") .css(this.originalCss) // Without detaching first, the following becomes really slow .detach(); this.uiDialog.stop(true, true).remove(); if (this.originalTitle) { this.element.attr("title", this.originalTitle); } next = originalPosition.parent.children().eq(originalPosition.index); // Don't try to place the dialog next to itself (#8613) if (next.length && next[0] !== this.element[0]) { next.before(this.element); } else { originalPosition.parent.append(this.element); } }, widget: function () { return this.uiDialog; }, disable: $.noop, enable: $.noop, close: function (event) { var activeElement, that = this; if (!this._isOpen || this._trigger("beforeClose", event) === false) { return; } this._isOpen = false; this._destroyOverlay(); if (!this.opener.filter(":focusable").focus().length) { // support: IE9 // IE9 throws an "Unspecified error" accessing document.activeElement from an