From a465fab672c8612e071357d6b5769beb6529b19d Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Tue, 12 Jun 2018 07:43:55 -0400 Subject: [PATCH] Several fixes and impovements to PageFrontEdit per processwire/processwire-issues#609. Plus, this commit also improves PageFrontEdit usage with AdminThemeUikit, and improves behavior of multi-language fields. --- wire/modules/Jquery/JqueryUI/modal.js | 7 +++-- wire/modules/Jquery/JqueryUI/modal.min.js | 2 +- .../Page/PageFrontEdit/PageFrontEdit.css | 31 +++++++++++++++---- .../Page/PageFrontEdit/PageFrontEdit.js | 2 +- .../Page/PageFrontEdit/PageFrontEdit.min.js | 2 +- .../Page/PageFrontEdit/PageFrontEdit.module | 11 +++++-- .../Page/PageFrontEdit/PageFrontEdit.scss | 6 ++-- 7 files changed, 44 insertions(+), 17 deletions(-) diff --git a/wire/modules/Jquery/JqueryUI/modal.js b/wire/modules/Jquery/JqueryUI/modal.js index c4553864..1b00331a 100644 --- a/wire/modules/Jquery/JqueryUI/modal.js +++ b/wire/modules/Jquery/JqueryUI/modal.js @@ -166,6 +166,7 @@ function pwModalWindow(href, options, size) { } var $iframe = jQuery(''); $iframe.attr('id', 'pw-modal-window-' + (pwModalWindows.length+1)); + pwModalWindows[pwModalWindows.length] = $iframe; if(typeof size == "undefined" || size.length == 0) var size = 'large'; var settings = pwModalWindowSettings(size); @@ -261,11 +262,11 @@ function pwModalOpenEvent(e) { var settings = { title: $a.attr('title'), - close: function(event, ui) { + close: function(e, ui) { // abort is true when the "x" button at top right of window is what closed the window - var abort = typeof event.toElement != "undefined" && jQuery(event.toElement).hasClass('fa-times'); + var abort = typeof e.originalEvent != "undefined" && jQuery(e.originalEvent.target).closest('.ui-dialog-titlebar-close').length > 0; var eventData = { - event: event, + event: e, ui: ui, abort: abort }; diff --git a/wire/modules/Jquery/JqueryUI/modal.min.js b/wire/modules/Jquery/JqueryUI/modal.min.js index b1c5a45e..385e362c 100644 --- a/wire/modules/Jquery/JqueryUI/modal.min.js +++ b/wire/modules/Jquery/JqueryUI/modal.min.js @@ -1 +1 @@ -var pwModalWindows=[];function pwModalWindowSettings(b){var d=ProcessWire.config.modals[b];if(typeof d=="undefined"){d=ProcessWire.config.modals.medium}d=d.split(",");var a={modal:true,draggable:false,resizable:true,hide:250,show:100,hideOverflow:true,closeOnEscape:false};if(d.length>=4){for(var f=4;f").find(".ui-icon").remove();if(frameElement&&parent.jQuery!="undefined"&&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")}},beforeClose:function(g,h){if(parent.jQuery!="undefined"&&parent.jQuery(".ui-dialog").length){if(frameElement){parent.jQuery(".pw-modal-hidden").show();jQuery("body").css("overflow","")}else{if(a.hideOverflow){parent.jQuery("body").css("overflow","")}}}}}}function pwModalWindow(c,j,i){for(var e=0;e<=pwModalWindows.length;e++){var h=pwModalWindows[e];if(h==null){continue}if(h.dialog("isOpen")){continue}h.dialog("destroy").remove();pwModalWindows[e]=null}if(c.indexOf("modal=")>0){var b=c}else{var b=c+(c.indexOf("?")>-1?"&":"?")+"modal=1"}var h=jQuery('');h.attr("id","pw-modal-window-"+(pwModalWindows.length+1));if(typeof i=="undefined"||i.length==0){var i="large"}var f=pwModalWindowSettings(i);if(f==null){alert("Unknown modal setting: "+i);return h}if(typeof j!="undefined"){jQuery.extend(f,j)}h.on("dialogopen",function(k,l){jQuery(document).trigger("pw-modal-opened",{event:k,ui:l})});h.on("dialogclose",function(k,l){jQuery(document).trigger("pw-modal-closed",{event:k,ui:l})});h.dialog(f);h.data("settings",f);h.load(function(){if(typeof f.title=="undefined"||!f.title){var k=jQuery("