diff --git a/assets/js/admin/form-modal.js b/assets/js/admin/form-modal.js index 97ce15377..d7eb3affa 100644 --- a/assets/js/admin/form-modal.js +++ b/assets/js/admin/form-modal.js @@ -18,6 +18,7 @@ // Sweetalert modal popup on reset content clicked. $(document).on("click", ".ur-reset-content-button", function (event) { event.preventDefault(); + var editorIdFromButton = $(this).data("editor"); Swal.fire({ title: "Reset to Default", text: "Are you sure you want to reset the email content to the default?", @@ -31,28 +32,61 @@ var params = new URLSearchParams(window.location.search); var section = params.get("section"); if (section) { - var selector = section.replace( + var baseSelector = section.replace( /^ur_settings_/, "user_registration_" ); - var editor = - typeof tinymce !== "undefined" - ? tinymce.get(selector) - : null; + // Resolve the actual editor/textarea id. Prefer the + // data-editor attribute on the button, then fall back + // to the base selector (existing emails), then to the + // base + "_content" (newer emails like prevent + // concurrent login). + var candidates = []; + if (editorIdFromButton) { + candidates.push(editorIdFromButton); + } + candidates.push(baseSelector); + candidates.push(baseSelector + "_content"); + + var selector = null; + var editor = null; + for (var i = 0; i < candidates.length; i++) { + var candidate = candidates[i]; + var candidateEditor = + typeof tinymce !== "undefined" + ? tinymce.get(candidate) + : null; + if (candidateEditor) { + selector = candidate; + editor = candidateEditor; + break; + } + if ($("textarea#" + candidate).length) { + selector = candidate; + break; + } + } + + if (!selector) { + return; + } + + var defaultContent = + user_registration_email_settings && + user_registration_email_settings[section]; + if (typeof defaultContent === "undefined") { + return; + } + if (editor && !editor.isHidden()) { - var content = user_registration_email_settings[ - section - ] + var content = defaultContent .replace(/\n\n/g, "
") .replace(/\t/g, ""); editor.setContent(content); } else { var $textarea = $("textarea#" + selector); if ($textarea.length) { - var content = user_registration_email_settings[ - section - ].replace(/\t/g, ""); - $textarea.val(content); + $textarea.val(defaultContent.replace(/\t/g, "")); } } } diff --git a/assets/js/admin/form-modal.min.js b/assets/js/admin/form-modal.min.js index 5f374327e..977f2c1b8 100644 --- a/assets/js/admin/form-modal.min.js +++ b/assets/js/admin/form-modal.min.js @@ -1 +1 @@ -!function(e){e(function(){var t=function(){e("#ur-modal-select-form").length&&(e("#ur-modal-select-form").get(0).selectedIndex=0),e("#ur-modal-backdrop, #ur-modal-wrap").css("display","none"),e(document.body).removeClass("modal-open")};e(document).on("click",".ur-insert-form-button",function(t){t.preventDefault(),e("#ur-modal-backdrop, #ur-modal-wrap").css("display","block"),e(document.body).addClass("modal-open")}),e(document).on("click",".ur-reset-content-button",function(t){t.preventDefault(),Swal.fire({title:"Reset to Default",text:"Are you sure you want to reset the email content to the default?",icon:"warning",showCancelButton:!0,cancelButtonColor:"#fafafa",confirmButtonText:"Yes, Reset",cancelButtonText:"Cancel"}).then(function(t){if(t.isConfirmed){var n=new URLSearchParams(window.location.search).get("section");if(n){var o=n.replace(/^ur_settings_/,"user_registration_"),r="undefined"!=typeof tinymce?tinymce.get(o):null;if(r&&!r.isHidden()){var a=user_registration_email_settings[n].replace(/\n\n/g,"
").replace(/\t/g,"");r.setContent(a)}else{var i=e("textarea#"+o);if(i.length){a=user_registration_email_settings[n].replace(/\t/g,"");i.val(a)}}}}})}),e(document).on("click","#ur-modal-close, #ur-modal-cancel a",function(e){e.preventDefault(),t()}),e(document).on("click","#ur-modal-submit",function(n){var o;n.preventDefault(),o='[user_registration_form id="'+e("#ur-modal-select-form").val()+'"',o+="]",wp.media.editor.insert(o),t()}),e(document).on("change","#select-smart-tags",function(n){var o;n.preventDefault(),o=e(this).val(),wp.media.editor.insert(o),t(),e("#select-smart-tags").val(e("#select-smart-tags option:first").val())}),e("#ur-pro-popups-tab, #ur-endpoints-tab").on("change",function(t){var n=e(t.target),o=n.closest("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".menu-item-checkbox"),r=!1;n.is(":checked")&&(r=!0),o.each(function(t,n){e(n).prop("checked",r)})}),e("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".menu-item-checkbox").on("change",function(t){var n=e(t.target),o=!0;n.closest("ul").find(".menu-item-checkbox").each(function(t,n){if(e(n).is(":checked")||(o=!1),!o)return!1});var r=n.closest("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".select-all");o?r.prop("checked",!0):r.prop("checked",!1)})})}(jQuery); \ No newline at end of file +!function(e){e(function(){var t=function(){e("#ur-modal-select-form").length&&(e("#ur-modal-select-form").get(0).selectedIndex=0),e("#ur-modal-backdrop, #ur-modal-wrap").css("display","none"),e(document.body).removeClass("modal-open")};e(document).on("click",".ur-insert-form-button",function(t){t.preventDefault(),e("#ur-modal-backdrop, #ur-modal-wrap").css("display","block"),e(document.body).addClass("modal-open")}),e(document).on("click",".ur-reset-content-button",function(t){t.preventDefault();var n=e(this).data("editor");Swal.fire({title:"Reset to Default",text:"Are you sure you want to reset the email content to the default?",icon:"warning",showCancelButton:!0,cancelButtonColor:"#fafafa",confirmButtonText:"Yes, Reset",cancelButtonText:"Cancel"}).then(function(t){if(t.isConfirmed){var o=new URLSearchParams(window.location.search).get("section");if(o){var r=o.replace(/^ur_settings_/,"user_registration_"),a=[];n&&a.push(n);a.push(r);a.push(r+"_content");var i=null,s=null;for(var c=0;c").replace(/\t/g,"");s.setContent(f)}else{var g=e("textarea#"+i);g.length&&g.val(d.replace(/\t/g,""))}}}})}),e(document).on("click","#ur-modal-close, #ur-modal-cancel a",function(e){e.preventDefault(),t()}),e(document).on("click","#ur-modal-submit",function(n){var o;n.preventDefault(),o='[user_registration_form id="'+e("#ur-modal-select-form").val()+'"',o+="]",wp.media.editor.insert(o),t()}),e(document).on("change","#select-smart-tags",function(n){var o;n.preventDefault(),o=e(this).val(),wp.media.editor.insert(o),t(),e("#select-smart-tags").val(e("#select-smart-tags option:first").val())}),e("#ur-pro-popups-tab, #ur-endpoints-tab").on("change",function(t){var n=e(t.target),o=n.closest("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".menu-item-checkbox"),r=!1;n.is(":checked")&&(r=!0),o.each(function(t,n){e(n).prop("checked",r)})}),e("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".menu-item-checkbox").on("change",function(t){var n=e(t.target),o=!0;n.closest("ul").find(".menu-item-checkbox").each(function(t,n){if(e(n).is(":checked")||(o=!1),!o)return!1});var r=n.closest("#posttype-user-registration-modal, #posttype-user-registration-endpoints").find(".select-all");o?r.prop("checked",!0):r.prop("checked",!1)})})}(jQuery); \ No newline at end of file