1var $genericFormEl; 2var $genericFormID; 3var genericFormCtxObj; 4var genricFormsyncFlag = false; 5var internalEmailRecipientsVal, 6 internalEmailSubjectVal; 7var validateEmailRecipientsAndSubjectFlag=false; 8BIOG.genericForm = { 9 _init: function($genericFormEl) { 10 genericFormCtxObj = this; 11 genericFormCtxObj._bindEvents($genericFormEl); 12 /*To get locator results if queryparameter is available*/ 13 if($genericFormEl.find('input[name=geoAddress]').length > 0){ //EC error avoid---dif 14 BIOG.TreatmentLocatorResults.populateResults($genericFormEl); 15 } 16 if($genericFormEl.find('.btl-locator-tool').length){ 17 BIOG.BtlLocatorResults.btlPopulateResults($genericFormEl); 18 } 19 if ($genericFormEl.hasClass('reminder-form')) { 20 if (sessionStorage && sessionStorage.getItem("entityId")) { 21 let entityIdInputStr = '<input type="hidden" name="entityId" value="' + sessionStorage.getItem("entityId") + '">'; 22 $genericFormEl.append(entityIdInputStr); 23 } 24 } 25 if($genericFormEl.find('input[name=cheqRequestId]').length){ 26 setTimeout(function(){ 27 const cheqRequestId = window.cheqRequestId; 28 $('.generic-form').find('input[name=cheqRequestId]').val(cheqRequestId); 29 }, 3000); 30 } 31 }, 32 _validateEmailRecipientsAndSubject: function(){ 33 var internalEmailRecipientsValCheck = $('.generic-form').find('input[name=internalEmailRecipients]').val(), 34 internalEmailSubjectValCheck = $('.generic-form').find('input[name=internalEmailSubject]').val(); 35 if(internalEmailRecipientsValCheck !=='' && internalEmailRecipientsValCheck !== internalEmailRecipientsVal){ 36 $('.generic-form').find('input[name=internalEmailRecipients]').val(internalEmailRecipientsVal); 37 } 38 if(internalEmailSubjectValCheck !== '' && internalEmailSubjectValCheck != internalEmailSubjectVal) { 39 $('.generic-form').find('input[name=internalEmailSubject]').val(internalEmailSubjectVal); 40 } 41 }, 42 43 _bindEvents: function($genericFormEl) { 44 $genericFormEl.find('.cmp-form-button').on('click', function(ev) { 45 var allowedIds = ["ms_form_continue", "custom_form_submit"]; 46 if (allowedIds.includes($(this).attr("id"))) { 47 var valid = validateEconsentFormPage(); 48 if (valid) { 49 genericFormCtxObj._genericFormSubmit(ev); 50 } 51 } else if($(this).attr("id") === "msEconsent_final_submit"){ 52 genericFormCtxObj._updateEconsentIndividualsHiddenField('.conditional-container .conditional'); 53 genericFormCtxObj._genericFormSubmit(ev); 54 55 }else{ 56 genericFormCtxObj._genericFormSubmit(ev); 57 } 58 }); 59 }, 60 /** 61 * Function handler for Sign In form submit button. 62 * 63 */ 64 _genericFormSubmit: function(ev){ 65 if(validateEmailRecipientsAndSubjectFlag){ 66 genericFormCtxObj._validateEmailRecipientsAndSubject(); 67 } 68 ev.preventDefault(); 69 if (ev.screenX == 0 && ev.screenY == 0) { 70 return false; // do not submit form on Keyboard press. 71 } 72 genricFormsyncFlag = false; 73 $genericFormEl = $('#' + ev.target.closest('form').id); 74 var formFlag = BIOG.options.validateFormFields($genericFormEl), 75 $genericFormErrorElem = $genericFormEl.prev('.generic-form-wrapper .alert-danger'); 76 $genericFormErrorElem.addClass('hidden'); 77 var customValidate = false; 78 var allValue="icon-checkbox-all"; 79 80 if((typeof search_results_selected_location !== 'undefined') && (document.getElementsByName('geoAddress').length) && (document.getElementsByName('geoAddress')[0].value !== "") && (search_results_selected_location !== document.getElementsByName('geoAddress')[0].value)){ 81 //$(".locationDDErrorMessage").removeClass('hidden'); 82 document.getElementsByName('geoAddress')[0].classList.add('highlightError'); 83 $(".btl-results-error").removeClass('hidden'); 84 checkErr = true; 85 formFlag = false; 86 } 87 88 if(formFlag){ 89 customValidate = BIOG.genericFormHandler._customValidations($genericFormEl); 90 } 91 if($genericFormEl.find('.has-error').is(':visible')){ 92 $genericFormEl.find('.custom-error').remove(); 93 } 94 if(formFlag && customValidate) { 95 var captchaResponse = true; 96 var customErrorDynamicFlag = true; 97 if($genericFormEl.find('.g-recaptcha').length > 0 ) { 98 captchaResponse = BIOG.Recaptcha._validateCaptchaResponse($genericFormEl.find('.g-recaptcha')); 99 } 100 // added method for showing conditional error message on the check-box status generic form 101 if((typeof customSubmissionDynamicErrorMsg === 'function')) { 102 customErrorDynamicFlag = customSubmissionDynamicErrorMsg(); 103 } 104 if(captchaResponse && customErrorDynamicFlag && !($genericFormEl.data('enablethirdpartyapi'))) { 105 if($genericFormEl.find('input[name=formInfoUUid]').length === 0){ //EC error avoid--- 106 if (typeof BIOG.TreatmentLocatorResults != "undefined") { 107 BIOG.TreatmentLocatorResults.smsTrigger($genericFormEl); // added to click on button to trigger SMS 108 } 109 } 110 if(typeof customNpiInputReset === 'function'){ 111 customNpiInputReset($genericFormEl); // Reset the hidden npi number field while submission 112 } 113 genericFormCtxObj._preSubmit(); 114 var formURL = $genericFormEl.attr('action'), 115 formType = $genericFormEl.attr('method'), 116 formElem = $genericFormEl, 117 form_data= BIOG.options._ignoreFieldFromSubmit(formElem,allValue).serialize(); 118 if(typeof customAPIFilterNpiData === 'function'){ 119 form_data = customAPIFilterNpiData(form_data); // remove duplicate npi number while sending to service 120 } 121 BIOG.UTILS._showLoader($genericFormEl); 122 if(genricFormsyncFlag == false){ 123 BIOG.options.ajaxCallHandler($genericFormEl,formType,formURL,form_data,true, false, genericFormCtxObj.callbackSucess,genericFormCtxObj.callbackFailure); 124 } 125 }else{ 126 if(typeof customAPIsubmission === 'function'){ 127 customAPIsubmission(); 128 } 129 } 130 } 131 else{ 132 BIOG.genericForm._scrollOnError($genericFormErrorElem); 133 } 134 }, 135 _scrollOnError: function($genericFormErrorElem){ 136 var errorSummary = $('.generic-form').find('input[name=error-summary]').val(), 137 errorScroll = $('.generic-form').find('input[name=scroll-to-error]').val(); 138 if(errorScroll == 'topOfPage'){ 139 $("html, body").animate({ scrollTop: 0 }, "slow"); 140 } 141 else if(errorSummary && errorScroll == 'summaryMsg'){ 142 var countError= BIOG.options._countErrorFields($genericFormEl); 143 if(errorSummary.indexOf("{errorCount}") > -1){ 144 errorSummary = errorSummary.replace("{errorCount}",countError); 145 } 146 $genericFormErrorElem.text(errorSummary).removeClass('hidden'); 147 BIOG.options.scrollToFocusElem($genericFormEl); 148 } 149 else if(errorScroll == 'default' || errorSummary == ''){ 150 if($genericFormEl.find('.hasError').length > 0){ 151 if($genericFormEl.closest('.modal-body').length>0){
152 $('#genericLightbox').find(".modal-content .modal-body").animate({ 153 scrollTop: $(".hasError:first").offset().top - 150 154 },100); 155 }else{ 156 $('html, body').animate({ 157 scrollTop: $(".hasError:first").offset().top - 150 158 },100); 159 } 160 } 161 } 162 }, 163 callbackSucess:function(response){ 164 BIOG.genericFormHandler._responsehandler($genericFormEl,response); 165 BIOG.genericForm.quizResultgenericForm($genericFormEl); 166 // added method for fam look up to show server error and hide the result panel 167 if ($genericFormEl.find(".cmp-fam-lookup").length > 0) { 168 BIOG.FamLookupResults.noresultsdisplay($genericFormEl, response); 169 } 170 171 if (response === undefined || response === '' || response.error === false || response.responseJe !== undefined) { 172 if (response?.responseCode === 200 && $(".approvalIdDataFetch.hidden").length > 0) { 173 const responseData = response.eConsentResponse; 174 fetcheConsentdata(responseData); 175 return; 176 } 177 178 if ( response?.responseCode === 200 && response?.response && $('input[name="npiNumber"]:not([data-npi-override-mode="noChange"])').length > 0) { 179 const responseData = response.response; 180 populateNpiData(responseData); 181 return; 182 } 183 184 var redirectUrl = $genericFormEl.find('.form-success-redirect').attr('href'); 185 if (redirectUrl && redirectUrl.indexOf('.html') < 0) { 186 redirectUrl = redirectUrl + '.html'; 187 $genericFormEl.find('.form-success-redirect').attr('href', redirectUrl); 188 } 189 190 // Spinraza eConsent NPI data. 191 if ($genericFormEl.closest('.treatment-locator').find('#npiNumber').length > 0) { 192 localStorage.setItem('formeConsentData', JSON.stringify(response.eConsentResponse)); 193 } 194 195 if (redirectUrl != undefined && $('.docusign-form').length <= 0) { 196 $genericFormEl.find('.form-success-redirect')[0].click(); 197 } 198 // Added below code to redirect on docusign url when we will get redirectUrl value from response 199 else if(response && response.redirectUrl !== undefined && response.redirectUrl !== '' && $('.docusign-form')){ 200 var redirectDocusignUrl = response.redirectUrl; 201 if(redirectDocusignUrl.indexOf('http://') > -1 || redirectDocusignUrl.indexOf('https://') > -1){ 202 window.location.href = redirectDocusignUrl; 203 } 204 else{ 205 window.location.href = window.location.origin + redirectDocusignUrl; 206 } 207 } 208 // added method for hiding the generic form and show the success msg on model instead of redirect 209 if((typeof customAPIsubmissionModelMsg === 'function')) { 210 customAPIsubmissionModelMsg(); 211 } 212 // added method for showing conditional message on the checkbox status generic form 213 if((typeof customSubmissionDynamicMsg === 'function')) { 214 customSubmissionDynamicMsg(); 215 } 216 } 217 }, 218 callbackFailure:function(response){ 219 if($genericFormEl.find(".map-results-container").length >0){ 220 if($genericFormEl.find(".locator-tool-container").length >0){ 221 BIOG.TreatmentLocatorResults.noresultsdisplay($genericFormEl); 222 } 223 else if($genericFormEl.find(".btl-locator-tool-container").length >0){ 224 BIOG.BtlLocatorResults.noresultsdisplay($genericFormEl); 225 } 226 else if($genericFormEl.find(".cmp-fam-lookup").length >0){ 227 BIOG.FamLookupResults.noresultsdisplay($genericFormEl); 228 } 229 else { 230 BIOG.TreatmentResults.noresultsdisplay($genericFormEl); 231 } 232 } 233 }, 234 _preSubmit:function(){ 235 if($genericFormEl.find('input[name=formInfoUUid]').length === 0){ //EC error avoid--- 236 if (typeof BIOG.geoAddress != "undefined") { 237 BIOG.geoAddress._handleFormPreSubmit($genericFormEl,genericFormCtxObj.callbackSucess,genericFormCtxObj.callbackFailure); 238 } 239 } 240 }, 241 quizResultgenericForm:function($genericFormEl){ 242 if($genericFormEl.parents().find('.quiz-wrap').length>0){ 243 $genericFormEl.hide(); 244 $('.quiz-results').show(); 245 BIOG.options.scrollToFocusElem($('.quiz-results')); 246 $('.quiz-results .info-message.answer').show(); 247 $.cookie('quizuserEmailFound', 'true', {path: '/',expires: 30}); 248 } 249 }, 250 _updateEconsentIndividualsHiddenField:function(containerClass) { 251 const individulasEntries = []; 252 // Loop through each patient entry and collect data 253 $(containerClass).each(function () { 254 const patientFName = $(this).find('input[name="firstName"]').val(); 255 const patientLName = $(this).find('input[name="lastName"]').val(); 256 const patientAddress1 = $(this).find('input[name="street_address1"]').val(); 257 const patientAddress2 = $(this).find('input[name="street_address2"]').val(); 258 const pcity = $(this).find('input[name="city"]').val(); 259 const pstate = $(this).find('select[name="state"]').val(); 260 const pzipCode = $(this).find('input[name="postalCode"]').val(); 261 const patient_relation = $(this).find('select[name="relationshipPatient"]').val(); 262 const phType = $(this).find('select[name="phoneType"]').val(); 263 const phone_number = $(this).find('input[name="phoneNumber"]').val(); 264 const email = $(this).find('input[name="email"]').val(); 265 // Push collected values into the JSON array 266 individulasEntries.push({ 267 firstname: patientFName, 268 lastname: patientLName, 269 street: patientAddress1, 270 street2: patientAddress2, 271 city: pcity, 272 state: pstate, 273 postal_code: pzipCode, 274 relationship: patient_relation, 275 phoneType: phType, 276 phone: phone_number, 277 email: email 278 }); 279 }); 280 281 if($('input[name=receive_confidential_info]:checked').val() === "yes") { 282 // Ensure hidden field is up-to-date with all entries 283 $('.genericForm').find('input[name=individualsdata]').val(JSON.stringify(individulasEntries)); 284 }else { 285 $('.genericForm').find('input[name=individualsdata]').val(null); 286 } 287 } 288} 289$(document).ready(function() { 290 if ($('.genericForm').length) { 291 $('.genericForm').each(function() { 292 BIOG.genericForm._init($(this)); 293 if($('.genericForm').find('[name="radius"]').length > 0){ //EC error avoid---dif 294 BIOG.TreatmentBindValidations._init($(this)); 295 } 296 BIOG.options.conditionalFunction($(this)); 297 }); 298 } 299}); 300 301$(document).ready(function() { 302 //hide error message on input change 303 $("input[name='geoAddress']:first").on('change keydown paste input', function(){ 304 $(".btl-results-error").addClass('hidden'); 305 });
306 307 //append error div 308 $("input[name='geoAddress']:first").after('<span class="btl-results-error hidden">Please select a value from dropdown</span>'); 309 310 //fetch internalEmailRecipients and internalEmailSubject values 311 if($('.generic-form').find('input[name=internalEmailRecipients]').length && $('.generic-form').find('input[name=internalEmailSubject]').length){ 312 internalEmailRecipientsVal = $('.generic-form').find('input[name=internalEmailRecipients]').val(); 313 internalEmailSubjectVal = $('.generic-form').find('input[name=internalEmailSubject]').val(); 314 validateEmailRecipientsAndSubjectFlag = true; 315 } 316}); 317 318BIOG.serviceTags = (function() { 319 return { 320 smaLocator: 'biogen-systems:biogen-services/smalocator-service', 321 alzLocator: 'biogen-systems:biogen-services/alzlocator-service', 322 btlLocator: 'biogen-systems:biogen-services/btllocator-service', 323 infusionCenter: 'biogen-systems:biogen-services/infusioncenter-service', 324 prescriberLocator: 'biogen-systems:biogen-services/prescriber-service', 325 addressService: 'biogen-systems:biogen-services/geo-address-service', 326 myEvents: 'biogen-systems:biogen-services/my-events-service', 327 viewReminderService: 'biogen-systems:biogen-services/view-reminder-service', 328 logoutService: 'biogen-systems:biogen-services/ciam-services/ciam-logout-service/v1', 329 dxpReference: 'biogen-systems:biogen-services/dxp-reference-service', 330 getProfile: 'biogen-systems:biogen-services/ciam-services/ciam-get-profile-service/v1', 331 userSessionExtenstion: 'biogen-systems:biogen-services/ciam-services/ciam-extend-user-session-service/v1', 332 savedarticlelist: 'biogen-systems:biogen-services/saved-article-list-service', 333 pdfGenerator: 'biogen-systems:biogen-services/ciam-services/pdf-generator-service/v1' 334 }; 335})(); 336BIOG.constants = (function() { 337 return { 338 actionUrl: '/bin/dxp/generic.json' 339 }; 340})(); 341 342BIOG.genericFormHandler = { 343 _customValidations: function($genericFormEl) { 344 var serviceTag = $genericFormEl.find('[name="serviceTags"]').val(); 345 if (serviceTag != undefined && ((serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) || (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1) || (serviceTag.indexOf(BIOG.serviceTags.smaLocator) != -1))) { 346 return BIOG.TreatmentBindValidations._locServiceValidateForm($genericFormEl); 347 } 348 return true; 349 }, 350 _responsehandler: function($genericFormEl, response) { 351 if (response != undefined && response != "") { 352 var serviceTag = $genericFormEl.find('[name="serviceTags"]').val(); 353 var locatorTypeVal = $genericFormEl.find('[name="treatmentLocator"]').filter(":checked").val(); 354 var data = response; 355 if (serviceTag.indexOf(BIOG.serviceTags.smaLocator) != -1 ||serviceTag.indexOf(BIOG.serviceTags.smaLocatorv2) != -1) { 356 var smaData = data.SMALocatorSitesV2 || data.SMALocatorSites || []; 357 358 if(($genericFormEl.find('.mapresults-v2')).length>0){ 359 BIOG.TreatmentResults_v2._init($genericFormEl,smaData,$genericFormEl.find('.smaLocatorData'),$genericFormEl.find('.smaMapData')); 360 }else if(($genericFormEl.find('.locator')).length>0){ 361 BIOG.TreatmentLocatorResults._init($genericFormEl, data,$genericFormEl.find('.locatorData'),$genericFormEl.find('.locatorMapData')); 362 }else{ 363 BIOG.TreatmentResults._init($genericFormEl,smaData,$genericFormEl.find('.smaLocatorData'),$genericFormEl.find('.smaMapData')); 364 } 365 } else if (serviceTag.indexOf(BIOG.serviceTags.alzLocator) != -1) { 366 if(($genericFormEl.find('.locator')).length>0){ 367 BIOG.TreatmentLocatorResults._init($genericFormEl, data, $genericFormEl.find('.locatorData'), $genericFormEl.find('.locatorMapData')); 368 } 369 } 370 else if (serviceTag.indexOf(BIOG.serviceTags.btlLocator) != -1) { 371 if(($genericFormEl.find('.btl-locator')).length>0){ 372 BIOG.BtlLocatorResults._init($genericFormEl, data, $genericFormEl.find('.btlLocatorData'), $genericFormEl.find('.btlLocatorMapData')); 373 } 374 } 375 else if ($genericFormEl.find('.cmp-fam-lookup').length > 0) { 376 BIOG.FamLookupResults._getFamResponse($genericFormEl, response, $genericFormEl.find('.cmp-fam-lookup')); 377 } 378 else if (locatorTypeVal == undefined) { 379 if (serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) { 380 BIOG.TreatmentResults._init($genericFormEl, data.InfusionCenters, $genericFormEl.find('.infusionLocatorData'), $genericFormEl.find('.infusionMap
380Data')); 381 } 382 if (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1) { 383 BIOG.TreatmentResults._init($genericFormEl, data.prescriberLocators, $genericFormEl.find('.prescriberLocatorData'), $genericFormEl.find('.prescriberMapData')); 384 } 385 } else { 386 if (locatorTypeVal != undefined) { 387 if ((serviceTag.indexOf(BIOG.serviceTags.infusionCenter) != -1) || (serviceTag.indexOf(BIOG.serviceTags.prescriberLocator) != -1)) { 388 if (locatorTypeVal === BIOG.serviceTags.infusionCenter) { 389 BIOG.TreatmentResults._init($genericFormEl, data.InfusionCenters, $genericFormEl.find('.infusionLocatorData'), $genericFormEl.find('.infusionMapData')); 390 } 391 if (locatorTypeVal === BIOG.serviceTags.prescriberLocator) { 392 BIOG.TreatmentResults._init($genericFormEl, data.prescriberLocators, $genericFormEl.find('.prescriberLocatorData'), $genericFormEl.find('.prescriberMapData')); 393 } 394 } 395 } 396 } 397 } 398 } 399}
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.