1
0
mirror of https://github.com/processwire/processwire.git synced 2025-08-13 18:24:57 +02:00
This commit is contained in:
Ryan Cramer
2021-12-03 10:03:18 -05:00
parent b364eda4ef
commit d08cdc8ced
2 changed files with 41 additions and 10 deletions

View File

@@ -121,22 +121,53 @@ function pwModalWindowSettings(name) {
.css('padding-top', 0)
.prepend("<i class='fa fa-times'></i>")
.find('.ui-icon').remove();
if(frameElement && parent.jQuery != "undefined" && parent.jQuery('.ui-dialog').length) {
if(frameElement) {
// dialog on top of dialog
parent.jQuery('.ui-dialog .ui-button').addClass('pw-modal-hidden').hide();
parent.jQuery('.ui-dialog-buttonpane').css('margin-top', '-10px');
jQuery('body').css('overflow', 'hidden');
if(typeof parent.jQuery !== 'undefined') {
// jQuery available in parent
if(parent.jQuery('.ui-dialog').length) {
parent.jQuery('.ui-dialog .ui-button').addClass('pw-modal-hidden').hide();
parent.jQuery('.ui-dialog-buttonpane').css('margin-top', '-10px');
jQuery('body').css('overflow', 'hidden');
}
} else {
// jQuery NOT available in parent
if(parent.document.querySelector('.ui-dialog')) {
var parentButtons = parent.document.querySelectorAll('.ui-dialog .ui-button');
var i;
for(i = 0; i < parentButtons.length; i++) {
parentButtons[i].classList.add('pw-modal-hidden');
parentButtons[i].style.display = 'none';
}
var parentPanes = parent.document.querySelectorAll('.ui-dialog-buttonpane');
for(i = 0; i < parentPanes.length; i++) {
parentPanes[i].style.marginTop = '-10px';
}
document.querySelector('body').style.overflow = 'hidden';
}
}
}
},
beforeClose: function(event, ui) {
if(parent.jQuery != "undefined" && parent.jQuery('.ui-dialog').length) {
if(typeof parent.jQuery != 'undefined') {
if(parent.jQuery('.ui-dialog').length) {
if(frameElement) {
// dialog on top of another dialog
parent.jQuery('.pw-modal-hidden').show();
jQuery('body').css('overflow', '');
} else if(options.hideOverflow) {
parent.jQuery('body').css('overflow', '');
}
}
} else {
// no jQuery available
if(frameElement) {
// dialog on top of another dialog
parent.jQuery(".pw-modal-hidden").show();
jQuery('body').css('overflow', '');
var parentModalHidden = parent.document.querySelector('.pw-modal-hidden');
if(parentModalHidden) parentModalHidden.style.display = 'block';
document.querySelector('body').style.overflow = '';
} else if(options.hideOverflow) {
parent.jQuery('body').css('overflow', '');
parent.document.querySelector('body').style.overflow = '';
}
}
}

File diff suppressed because one or more lines are too long