1//************************************************************************************************* 2/// <summary> 3/// Javascript library for the DIALOG Funkinform Wcms User.Modules namespace 4/// </summary> 5//************************************************************************************************* 6 7/// <reference path="/Lib/jquery/jquery.js" /> 8/// <reference path="/UtilLib/JS/Key.js" /> 9/// <reference path="/UtilLib/JS/AjaxTool.js" /> 10 11//================================================================================================= 12/// Declaration of the root namespaces 13//================================================================================================= 14var FI = FI || {}; 15FI.Wcms = FI.Wcms || {}; 16FI.Wcms.Custom = FI.Wcms.Custom || {}; 17 18//************************************************************************************************* 19/// <summary> 20/// base class for the User.Modules namespace 21/// </summary> 22//************************************************************************************************* 23FI.Wcms.Custom.Modules = (function () { 24 //============================================================================================== 25 /// initialize all modules of the User namesspace 26 //============================================================================================== 27 function _Init( 28 ) { 29 30 // initialize all NewsletterQuickRegistrationModule controls 31 FI.Wcms.Custom.Modules.NewsletterQuickRegistrationModule.Init(); 32 33 } 34 35 return { Init: _Init }; 36} 37 ()); 38 39//************************************************************************************************* 40/// <summary> 41/// class for QuickRegistrationModule controls 42/// </summary> 43//************************************************************************************************* 44FI.Wcms.Custom.Modules.NewsletterQuickRegistrationModule = (function () { 45 //============================================================================================== 46 /// initialize all QuickRegistrationModule controls 47 //============================================================================================== 48 function _Init( 49 ) { 50 var strWcmsModuleControlName = "NewsletterQuickRegistrationModule"; 51 FI.Wcms.Module.CWcmsModuleTool.RegisterInitWcmsModuleControl(strWcmsModuleControlName, function () { 52 var jModule = $(this); 53 var jValidatedForm = jModule.find('form'); 54 55 jValidatedForm.validator().on('submit', function (e) { 56 if (e.isDefaultPrevented()) { 57 // handle the invalid form... 58 } 59 else { 60 // clientside check succeeded 61 _SendEmail(jModule); 62 return false; 63 } 64 }); 65 66 // register click event for submit button 67 jModule.find('.fi-btn-register').submit(function (oEvent) { 68 jValidatedForm.validator('validate'); 69 oEvent.preventDefault(); 70 return false; 71 }); 72 }); 73 74 FI.Wcms.Module.CWcmsModuleTool.InitWcmsModules(strWcmsModuleControlName); 75 } 76 77 //============================================================================================== 78 function _SendEmail(jModule) { 79 var jSubmitBtn = jModule.find('.fi-btn-register'); 80 jSubmitBtn.attr("disabled", true); 81 var jPleaseWait = jModule.find(".fi-please-wait"); 82 jPleaseWait.show(); 83 var jErrorDiv = jModule.find(".NewsletterQuickRegistrationError"); 84 85 var strHandlerUrl = jModule.attr("data-fi-url"); 86 var strRetransferUrl = jModule.attr("data-fi-retransfer-url"); 87 88 var strEmail = jModule.find('.fi-quick-registration-email').val(); 89 var strEmailTemplate = jModule.attr('data-fi-emailtemplate');
90 var strNewsletterDefcustId = jModule.attr('data-fi-newsletterdefcustid'); 91 var strNewsletterName = jModule.attr('data-fi-newslettername'); 92 var strSenderEmail = jModule.attr('data-fi-senderemail'); 93 var strCheckPolicy = jModule.find('#strcheckboxPolicy').val(); 94 var bUnSubscribe = jModule.find('input[name="UnSubscribe"]').val(); 95 96 var oParams = {}; 97 oParams.strEmail = strEmail; 98 oParams.strRetransferUrl = strRetransferUrl; 99 oParams.strEmailTemplate = strEmailTemplate; 100 oParams.strNewsletterDefcustId = strNewsletterDefcustId; 101 oParams.strNewsletterName = strNewsletterName; 102 oParams.strSenderEmail = strSenderEmail; 103 oParams.strCheckPolicy = strCheckPolicy; 104 oParams.UnSubscribe = bUnSubscribe; 105 106 FI.Util.CAjaxTool.PostForm( 107 strHandlerUrl, 108 oParams, 109 function (strWarnings, oData) { /* on success callback */ 110 jPleaseWait.hide(); 111 jSubmitBtn.attr("disabled", false); 112 113 //first check unsubscribe 114 let bUnSubscribe = oData.UnSubscribe; 115 let bUnSubscribeError = oData.UnSubscribeError 116 if (bUnSubscribe && !bUnSubscribeError) { 117 let strUrl = window.location.protocol + '//' + window.location.host + window.location.pathname; 118 window.location.href = FI.Util.CUriTool.AddParamString(strUrl, "NewsletterUnsubscribe=true"); 119 return; 120 } 121 else if (bUnSubscribe && bUnSubscribeError) { 122 jErrorDiv.html('Bei der Newsletter Abmeldung ist leider ein Fehler aufgetreten.').show(); 123 return; 124 } 125 //check subscribe 126 let bCheckEmailSucceeded = oData.CheckEmailSucceeded; 127 if (bCheckEmailSucceeded) { 128 let bLoginNameAlreadyExists = oData.LoginNameAlreadyExists; 129 if (bLoginNameAlreadyExists) { 130 jErrorDiv.html('Die E-Mail-Adresse wird bereits verwendet.').show(); 131 } 132 else { 133 jErrorDiv.hide(); 134 jModule.find("form").fadeOut(); 135 jModule.find(".NewsletterQuickRegistrationConfirmEmail").fadeIn(800); 136 } 137 } 138 else { 139 jErrorDiv.html('Die E-Mail-Adresse darf nicht verwendet werden.').show(); 140 } 141 }, 142 function (strError, strErrorMsg) { /* on error callback */ 143 console.log(strError); 144 145 jPleaseWait.hide(); 146 jSubmitBtn.attr("disabled", false); 147 148 jErrorDiv.html('Bei der Newsletter Registrierung ist leider ein Fehler aufgetreten.').show(); 149 }); 150 } 151 152 return { Init: _Init }; 153} 154()); 155 156//================================================================================================= 157/// initialize all User javascript on page ready event 158//================================================================================================= 159$(function () { 160 // initialize all User controls 161 FI.Wcms.Custom.Modules.Init(); 162});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.