X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=js%2Fcrm.ajax.js;h=02a4a6312b041409efbeed994bee7c78a40864a0;hb=4d49c3a29ea3859a2e59c87ca7de46a49ff71368;hp=3ee5394097030ed6f75b0043d9036826edd986bb;hpb=29d98e1314e345f1b9044f5359c2d0a67f380d21;p=civicrm-core.git diff --git a/js/crm.ajax.js b/js/crm.ajax.js index 3ee5394097..02a4a6312b 100644 --- a/js/crm.ajax.js +++ b/js/crm.ajax.js @@ -252,9 +252,6 @@ var that = this; var url = this._formatUrl(this.options.url); if (this.options.crmForm) $('form', this.element).ajaxFormUnbind(); - if (this._originalContent === null) { - this._originalContent = this.element.contents().detach(); - } if (this.options.block) this.element.block(); $.getJSON(url, function(data) { if (that.options.block) that.element.unblock(); @@ -280,6 +277,11 @@ // Perform any cleanup needed before removing/replacing content _beforeRemovingContent: function() { var that = this; + // Save original content to be restored if widget is destroyed + if (this._originalContent === null) { + $('.blockUI', this.element).remove(); + this._originalContent = this.element.contents().detach(); + } if (window.tinyMCE && tinyMCE.editors) { $.each(tinyMCE.editors, function(k) { if ($.contains(that.element[0], this.getElement())) { @@ -304,39 +306,19 @@ CRM.loadPage = function(url, options) { var settings = { target: '#crm-ajax-dialog-' + (dialogCount++), - dialog: false + dialog: (options && options.target) ? false : {} }; - if (!options || !options.target) { - settings.dialog = { - modal: true, - width: '65%', - height: '75%' - }; - } if (options) $.extend(true, settings, options); settings.url = url; // Create new dialog if (settings.dialog) { - // HACK: jQuery UI doesn't support relative height - if (typeof settings.dialog.height === 'string' && settings.dialog.height.indexOf('%') > 0) { - settings.dialog.height = parseInt($(window).height() * (parseFloat(settings.dialog.height)/100), 10); - } - // Increase percent width on small screens - if (typeof settings.dialog.width === 'string' && settings.dialog.width.indexOf('%') > 0) { - var screenWidth = $(window).width(), - percentage = parseInt(settings.dialog.width.replace('%', ''), 10), - gap = 100-percentage; - if (screenWidth < 701) { - settings.dialog.width = '100%'; - } - else if (screenWidth < 1400) { - settings.dialog.width = '' + parseInt(percentage+gap-((screenWidth - 700)/7*(gap)/100), 10) + '%'; - } - } - $('