1var gform=window.gform||{};if(typeof jQuery.fn.prop==='undefined'){jQuery.fn.prop=jQuery.fn.attr} 2gform.instances=gform.instances||{};gform.console={error:function(message){if(window.console){console.error(message)}},info:function(message){if(window.console){console.info(message)}},log:function(message){if(window.console){console.log(message)}},};gform.adminUtils={handleUnsavedChanges:function(elemId){var hasUnsavedChanges=null;jQuery(elemId).find('input, select, textarea').on('change keyup',function(){if(jQuery(this).attr('onChange')===undefined&&jQuery(this).attr('onClick')===undefined){hasUnsavedChanges=!0} 3if((jQuery(this).next().data("jsButton")||jQuery(this).data("jsButton"))==='enable-api'){hasUnsavedChanges=null}});if(this.getUrlParameter('subview')==='gravityformswebapi'){if(window.gf_webapi_vars&&window.gf_webapi_vars.api_enabled!==window.gf_webapi_vars.enable_api_checkbox_checked){hasUnsavedChanges=!0}} 4jQuery(elemId).on('submit',function(){hasUnsavedChanges=null});window.onbeforeunload=function(){return hasUnsavedChanges}},getUrlParameter:function(param){var url=window.location.search.substring(1);var urlVariables=url.split('&');for(var i=0;i<urlVariables.length;i++){var parameterName=urlVariables[i].split('=');if(parameterName[0]==param){return parameterName[1]}}},} 5window.HandleUnsavedChanges=gform.adminUtils.handleUnsavedChanges;gform.tools={debounce:function(fn,debounceLength,isImmediate){var timeout;var lastArgs;var lastFn;return function(){var callbackContext=this;var args=arguments;var deferredCallback=function(){timeout=null;if(!isImmediate){fn.apply(callbackContext,args)}};var callNow=isImmediate&&!timeout;if(args===lastArgs&&(''+lastFn==''+fn)){clearTimeout(timeout)} 6var cachePreviousCall=function(fn,args){lastFn=fn;lastArgs=args} 7timeout=setTimeout(deferredCallback,debounceLength);cachePreviousCall(fn,args);if(!callNow){return} 8fn.apply(callbackContext,args)}},defaultFor:function(arg,val){return typeof arg!=='undefined'?arg:val},getFocusable:function(container){container=this.defaultFor(container,document);var focusable=this.convertElements(container.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'));return focusable.filter(function(item){return this.visible(item)}.bind(this))},htmlToElement:function(html){var template=document.createElement('template');html=html.trim();template.innerHTML=html;return template.content.firstChild},elementToHTML:function(el){return el.outerHTML},convertElements:function(elements){var converted=[];var i=elements.length;for(i;i--;converted.unshift(elements[i]));return converted},delegate:function(selector,event,childSelector,handler){var is=function(el,selector){return(el.matches||el.msMatchesSelector).call(el,selector)};var elements=document.querySelectorAll(selector);[].forEach.call(elements,function(el,i){el.addEventListener(event,function(e){if(is(e.target,childSelector)){handler(e)}})})},getClosest:function(el,selector){var matchesFn;var parent;['matches','webkitMatchesSelector','mozMatchesSelector','msMatchesSelector','oMatchesSelector'].some(function(fn){if(typeof document.body[fn]==='function'){matchesFn=fn;return!0} 9return!1});while(el){parent=el.parentElement;if(parent&&parent[matchesFn](selector)){return parent} 10el=parent} 11return null},getNodes:function(selector,convert,node,custom){if(!selector){gform.console.error('Please pass a selector to gform.tools.getNodes');return[]} 12node=this.defaultFor(node,document);var selectorString=custom?selector:'[data-js="'+selector+'"]';var nodes=node.querySelectorAll(selectorString);if(convert){nodes=this.convertElements(nodes)} 13return nodes},mergeObjects:function(){var resObj={};for(var i=0;i<arguments.length;i+=1){var obj=arguments[i] 14var keys=Object.keys(obj);for(var j=0;j<keys.length;j+=1){resObj[keys[j]]=obj[keys[j]]}} 15return resObj},setAttr:function(selector,attr,value,container,delay){if(!selector||!attr||!value){gform.console.error('Please pass a selector, attribute and value to gform.tools.setAttr');return[]} 16container=this.defaultFor(container,document);delay=this.defaultFor(delay,0);setTimeout(function(){gform.tools.getNodes(selector,!0,container,!0).forEac
16h(function(node){node.setAttribute(attr,value)})},delay)},isRtl:function(){if(jQuery('html').attr('dir')==='rtl'){return!0}},trigger:function(eventName,el,native,data){var event;eventName=this.defaultFor(eventName,'');el=this.defaultFor(el,document);native=this.defaultFor(native,!1);data=this.defaultFor(data,{});if(native){event=document.createEvent('HTMLEvents');event.initEvent(eventName,!0,!1)}else{try{event=new CustomEvent(eventName,{detail:data})}catch(e){event=document.createEvent('CustomEvent');event.initCustomEvent(eventName,!0,!0,data)}} 17el.dispatchEvent(event)},uniqueId:function(prefix){prefix=this.defaultFor(prefix,'id');return prefix+'-'+Math.random().toString(36).substr(2,9)},visible:function(elem){return!!(elem.offsetWidth||elem.offsetHeight||elem.getClientRects().length)},stripSlashes:function(str){return(str+'').replace(/\\(.?)/g,function(s,n1){switch(n1){case '\\':return'\\';case '0':return'\u0000';case '':return'';default:return n1}})},getCookie:function(name){var cookieArr=document.cookie.split(";");for(var i=0;i<cookieArr.length;i++){var cookiePair=cookieArr[i].split("=");if(name==cookiePair[0].trim()){return decodeURIComponent(cookiePair[1])}} 18return null},setCookie:function(name,value,daysToExpire,updateExistingValue){var expirationDate='';var cookieValue=value;if(daysToExpire){var date=new Date();date.setTime(date.getTime()+(daysToExpire*24*60*60*1000));expirationDate=' expires='+date.toUTCString()} 19if(updateExistingValue){var currentValue=gform.tools.getCookie(name);cookieValue=currentValue!==''&¤tValue!==null?currentValue+','+value:value} 20document.cookie=encodeURIComponent(name)+'='+encodeURIComponent(cookieValue)+';'+expirationDate},removeCookie:function(name){gform.tools.setCookie(name,'',-1)}};gform.a11y={};gform.options={jqEditorAccordions:{header:'button.panel-block-tabs__toggle',heightStyle:'content',collapsible:!0,animate:!1,create:function(event){gform.tools.setAttr('.ui-accordion-header','tabindex','0',event.target,100)},activate:function(event){gform.tools.setAttr('.ui-accordion-header','tabindex','0',event.target,100)},beforeActivate:function(event){if(event.currentTarget.id==='advanced_tab_toggle'){if(window.field&&window.field.type&&window.field.type==='address'){CreateAutocompleteUI(window.field)}}}},jqAddFieldAccordions:{heightStyle:'content',collapsible:!0,animate:!1,create:function(event){gform.tools.setAttr('.ui-accordion-header','tabindex','0',event.target,100)},activate:function(event){gform.tools.setAttr('.ui-accordion-header','tabindex','0',event.target,100)},},};function Currency(currency){console.warn('Currency has been deprecated since Gravity Forms 2.9. Use gform.Currency instead.');return new gform.Currency(currency)} 21function gformCleanNumber(text,symbol_right,symbol_left,decimal_separator){console.warn('gformCleanNumber() has been deprecated since Gravity Forms 2.9. Use gform.Currency.cleanNumber() instead.');return gform.Currency.cleanNumber(text,symbol_right,symbol_left,decimal_separator)} 22function gformGetDecimalSeparator(numberFormat){console.warn('gformGetDecimalSeparator() has been deprecated since Gravity Forms 2.9. Use gform.Currency.getDecimalSeparator() instead.');return gform.Currency.getDecimalSeparator(numberFormat)} 23function gformIsNumber(n){console.warn('gformIsNumber() has been deprecated since Gravity Forms 2.9. Use gform.utils.isNumber() instead.');return gform.utils.isNumber(n)} 24function gformIsNumeric(value,number_format){switch(number_format){case "decimal_dot":var r=new RegExp("^(-?[0-9]{1,3}(?:,?[0-9]{3})*(?:\.[0-9]+)?)$");return r.test(value);break;case "decimal_comma":var r=new RegExp("^(-?[0-9]{1,3}(?:\.?[0-9]{3})*(?:,[0-9]+)?)$");return r.test(value);break} 25return!1} 26function gformDeleteUploadedFile(formId,fieldId,deleteButton){var parent=jQuery("#field_"+formId+"_"+fieldId);var fileIndex=jQuery(deleteButton).parent().index();var filePreview=jQuery(deleteButton).closest('.ginput_preview')[0];var fileId=filePreview.id;filePreview.remove();parent.find('.validation_message,#extensions_message_'+formId+'_'+fieldId).removeClass("gform_hidden");parent.find(".ginput_post_image_file").show();parent.find("input[type=\"text\"]").val('');var filesJson=jQuery('#gform_uploaded_files_'+formId).val();if(filesJson){var files=jQuery.secureEvalJSON(filesJson);if(files){var inputName="input_"+fieldId;var $multfile=parent.find("#gform_multifile_upload_"+formId+"_"+fieldId);if($multfile.length>0){files[inputName].splice(fileIndex,1);var settings=$multfile.data('settings');var count=files[inputName].length;if(count===0){jQuery('#'+settings.gf_vars.message_id).html('');gfMultiFileUploader.toggleDisabled(settings,!1)}else{jQuery('#error_'+fileId).remove();var max=settings.gf_vars.max_files;if(count<max) 27gfMultiFileUploader.toggleDisabled(settings,!1)}}else{files[inputName]=null} 28jQuery('#gform_uploaded_files_'+formId).val(jQuery.toJSON(files))}}} 29function gformGetFieldId(element){var id=jQuery(element).attr("id");var pieces=id.split("_");if(pieces.length<=0) 30return 0;var fieldId=pieces[pieces.length-1];return fieldId} 31function gformIsHidden(element){isHidden=element.parents('.gfield').not(".gfield_hidden_product").css("display")=="none";return gform.applyFilters('gform_is_hidden',isHidden,element)} 32function gformFormatMoney(text,isNumeric){if(!gf_global.gf_currency_config) 33return text;var currency=new gform.Currency(gf_global.gf_currency_config);return currency.toMoney(text,isNumeric)} 34function gformToNumber(text){var currency=new gform.Currency(gf_global.gf_currency_config);return currency.toNumber(text)} 35function gformRoundPrice(price){var currency=new gform.Currency(gf_global.gf_currency_config);var roundedPrice=currency.numberFormat(price,currency.currency.decimals,'.','');return parseFloat(roundedPrice)} 36var _gformPriceFields=new Array();var _anyProductSelected;var gformCalculateTotalPrice=gform.tools.debounce(function(formId){console.warn('gformCalculateTotalPrice() has been deprecated with no replacement. Price fields are now automatically initialized and calculated by the products module in assets.');if(_gformPriceFields.length===0){const priceFields=gform.tools.getNodes('.gfield_price',!0,document,!0);priceFields.forEach((field)=>{const productIds=gformGetProductIds('gfield_price',field);gformRegisterPriceField(productIds)})} 37if(!_gformPriceFields[formId]){return} 38var price=0;_anyProductSelected=!1;for(var i=0;i<_gformPriceFields[formId].length;i++){price+=gformCalculateProductPrice(formId,_gformPriceFields[formId][i])} 39if(_anyProductSelected){var shipping=gformGetShippingPrice(formId) 40price+=shipping} 41if(window.gform_product_total) 42price=window.gform_product_total(formId,price);price=gform.applyFilters('gform_product_total',price,formId);gformUpdateTotalFieldPrice(formId,price)},50,!1);function gformUpdateTotalFieldPrice(formId,price){console.warn('gformUpdateTotalFieldPrice() has been deprecated with no replacement. Price fields are now automatically initialized and calculated by the products module in assets.');var $totalElement=jQuery('.ginput_total_'+formId);if(!$totalElement.length>0){return} 43var priceHasChanged=function(priceData){return isLegacy?priceData.current!==priceData.new:priceData.current!==priceData.newFormatted} 44var isLegacy=document.querySelector('#gform_wrapper_'+formId+'.gform_legacy_markup_wrapper');var $totalInput=isLegacy?$totalElement.next():$totalElement;var priceData={current:String($totalInput.val()),new:String(price),newFormatted:gformFormatMoney(String(price),!0),} 45if(!priceHasChanged(priceData)){return} 46if(isLegacy){$totalInput.val(priceData.new).trigger('change');$totalElement.html(priceData.newFormatted);return} 47$totalInput.val(priceData.new).trigger('change');$totalInput.val(priceData.newFormatted)} 48function gformGetShippingPrice(formId){console.warn('gformGetShippingPrice() has been deprecated. Use gform.state.get( FORM_ID, \'products\' ); to get access to the shipping amount.');var shippingField=jQuery(".gfield_shipping_"+formId+" input[readonly], .gfield_shipping_"+formId+" select, .gfield_shipping_"+formId+" input:checked");var shipping=0;
48if(shippingField.length==1&&!gformIsHidden(shippingField)){if(shippingField.attr("readonly")) 49shipping=shippingField.val();else shipping=gformGetPrice(shippingField.val())} 50return gformToNumber(shipping)} 51function gformCalculateProductPrice(form_id,productFieldId){console.warn('gformCalculateProductPrice() has been deprecated with no replacement.');var suffix='_'+form_id+'_'+productFieldId;jQuery('.gfield_option'+suffix+', .gfield_shipping_'+form_id).find('select').each(function(){var dropdown_field=jQuery(this);var selected_price=gformGetPrice(dropdown_field.val());var field_id=dropdown_field.attr('id').split('_')[2];dropdown_field.children('option').each(function(){var choice_element=jQuery(this);var label=gformGetOptionLabel(choice_element,choice_element.val(),selected_price,form_id,field_id);choice_element.html(label)})});jQuery('.gfield_option'+suffix).find('.gfield_checkbox').find('input:checkbox').each(function(){var checkbox_item=jQuery(this);var id=checkbox_item.attr('id');var field_id=id.split('_')[2];var label_id=id.replace('choice_','#label_');var label_element=jQuery(label_id);var label=gformGetOptionLabel(label_element,checkbox_item.val(),0,form_id,field_id);label_element.html(label)});jQuery('.gfield_option'+suffix+', .gfield_shipping_'+form_id).find('.gfield_radio').each(function(){var selected_price=0;var radio_field=jQuery(this);var id=radio_field.attr('id');var fieldId=id.split('_')[2];var selected_value=radio_field.find('input:radio:checked').val();if(selected_value) 52selected_price=gformGetPrice(selected_value);radio_field.find('input:radio').each(function(){var radio_item=jQuery(this);var label_id=radio_item.attr('id').replace('choice_','#label_');var label_element=jQuery(label_id);if(label_element){var label=gformGetOptionLabel(label_element,radio_item.val(),selected_price,form_id,fieldId);label_element.html(label)}})});var price=gformGetBasePrice(form_id,productFieldId);var quantity=gformGetProductQuantity(form_id,productFieldId);if(quantity>0){jQuery('.gfield_option'+suffix).find('input:checked, select').each(function(){if(!gformIsHidden(jQuery(this))) 53price+=gformGetPrice(jQuery(this).val())});_anyProductSelected=!0} 54price=price*quantity;price=gformRoundPrice(price);return price} 55function gformGetProductQuantity(formId,productFieldId){console.warn('gformGetProductQuantity() has been deprecated. Use gform.state.get( FORM_ID, \'products\' ); to get access to the product quantity.');if(!gformIsProductSelected(formId,productFieldId)){return 0} 56var quantity,quantityInput=jQuery('#ginput_quantity_'+formId+'_'+productFieldId),numberFormat;if(!quantityInput.length){quantityInput=jQuery('#input_'+formId+'_'+productFieldId+'_1')} 57if(gformIsHidden(quantityInput)){return 0} 58if(quantityInput.length>0){quantity=quantityInput.val()}else{quantityInput=jQuery('.gfield_quantity_'+formId+'_'+productFieldId+' :input');quantity=1;if(quantityInput.length>0){quantity=quantityInput.val();var htmlId=quantityInput.attr('id'),fieldId=gf_get_input_id_by_html_id(htmlId);numberFormat=gf_get_field_number_format(fieldId,formId,'value')}} 59if(!numberFormat) 60numberFormat='currency';var decimalSeparator=gform.Currency.getDecimalSeparator(numberFormat);quantity=gform.Currency.cleanNumber(quantity,'','',decimalSeparator);if(!quantity) 61quantity=0;return quantity} 62function gformIsProductSelected(formId,productFieldId){console.warn('gformIsProductSelected() has been deprecated. Use gform.state.get( FORM_ID, \'products\' ); to get access to selected products.');var suffix="_"+formId+"_"+productFieldId;var productField=jQuery("#ginput_base_price"+suffix+", .gfield_donation"+suffix+" input[type=\"text\"], .gfield_product"+suffix+" .ginput_amount");if(productField.val()&&!gformIsHidden(productField)){return!0}else{productField=jQuery(".gfield_product"+suffix+" select, .gfield_product"+suffix+" input:checked, .gfield_donation"+suffix+" select, .gfield_donation"+suffix+" input:checked");if(productField.val()&&!gformIsHidden(productField)){return!0}} 63return!1} 64function gformGetBasePrice(formId,productFieldId){console.warn('gformGetBasePrice() has been deprecated. Use gform.state.get( FORM_ID, \'products\' ); to get access to the product base price.');var suffix="_"+formId+"_"+productFieldId;var price=0;var productField=jQuery("#ginput_base_price"+suffix+", .gfield_donation"+suffix+" input[type=\"text\"], .gfield_product"+suffix+" .ginput_amount");if(productField.length>0){price=productField.val();if(gformIsHidden(productField)){price=0}}else{productField=jQuery(".gfield_product"+suffix+" select, .gfield_product"+suffix+" input:checked, .gfield_donation"+suffix+" select, .gfield_donation"+suffix+" input:checked");var val=productField.val();if(val){const value=gformParseChoiceValue(val);val=value.name;price=value.price||0} 65if(gformIsHidden(productField)) 66price=0} 67var c=new gform.Currency(gf_global.gf_currency_config);price=c.toNumber(price);return price===!1?0:price} 68function gformParseChoiceValue(value){if(window.gform?.products?.parser?.parseChoiceValue){return window.gform.products.parser.parseChoiceValue(value)} 69if(!value){return{name:null,price:null}} 70const idx=value.lastIndexOf('|');if(idx===-1){return{name:value,price:null}} 71const name=value.slice(0,idx);const price=gformToNumber(value.slice(idx+1));return{name,price}} 72function gformFormatPricingField(element){console.warn('gformFormatPricingField() has been deprecated with no replacement. Price fields are now automatically formatted by the products module in assets.');if(gf_global.gf_currency_config){var currency=new gform.Currency(gf_global.gf_currency_config);var price=currency.toMoney(jQuery(element).val());jQuery(element).val(price)}} 73function gformGetPriceDifference(currentPrice,newPrice){var diff=parseFloat(newPrice)-parseFloat(currentPrice);price=gformFormatMoney(diff,!0);if(diff>0) 74price="+"+price;return price} 75function gformGetOptionLabel(element,selected_value,current_price,form_id,field_id){console.warn('gformGetOptionLabel() has been deprecated with no replacement. Product price calculation is now handled by the products module in assets.');element=jQuery(element);var price=gformGetPrice(selected_value);var current_diff=element.attr('price');var original_label=element.html().replace(/<span(.*)<\/span>/i,"").replace(current_diff,"");var diff=gformGetPriceDifference(current_price,price);diff=gformToNumber(diff)==0?"":" "+diff;element.attr('price',diff);var price_label=element[0].tagName.toLowerCase()=="option"?diff:"<span class='ginput_price'>"+diff+"</span>";var label=original_label+price_label;if(window.gform_format_option_label) 76label=gform_format_option_label(label,original_label,price_label,current_price,price,form_id,field_id);return label} 77function gformGetProductIds(parent_class,element){console.warn('gformGetProductIds() has been deprecated with no replacement. Product price calculation is now handled by the products module in assets.');var classes=jQuery(element).hasClass(parent_class)?jQuery(element).attr("class").split(" "):jQuery(element).parents("."+parent_class).attr("class").split(" ");for(var i=0;i<classes.length;i++){if(classes[i].substr(0,parent_class.length)==parent_class&&classes[i]!=parent_class)
78return{formId:classes[i].split("_")[2],productFieldId:classes[i].split("_")[3]}} 79return{formId:0,fieldId:0}} 80function gformGetPrice(text){console.warn('gformGetPrice() has been deprecated with no replacement. Product price calculation is now handled by the products module in assets.');var val=gformParseChoiceValue(text);if(val.price) 81return val.price;return 0} 82function gformRegisterPriceField(item){console.warn('gformRegisterPriceField() has been deprecated with no replacement. Price fields are now automatically registered by the products module in assets.');if(!item.formId){return} 83if(!_gformPriceFields[item.formId]){_gformPriceFields[item.formId]=new Array()} 84for(var i=0;i<_gformPriceFields[item.formId].length;i++) 85if(_gformPriceFields[item.formId][i]==item.productFieldId) 86return;_gformPriceFields[item.formId].push(item.productFieldId)} 87function gformInitPriceFields(){console.warn('gformInitPriceFields() has been deprecated with no replacement. Price fields are now automatically initialized by the products module in assets.');const priceFields=gform.tools.getNodes('.gfield_price',!0,document,!0);priceFields.forEach((field)=>{const productIds=gformGetProductIds('gfield_price',field);gformRegisterPriceField(productIds)});const formIds=Object.keys(_gformPriceFields);formIds.forEach((formId)=>{gformCalculateTotalPrice(formId)});bindProductChangeEvent()} 88function bindProductChangeEvent(){document.addEventListener('gform/products/product_field_changed',function(event){const productIds={formId:event.detail.formId,productFieldId:event.detail.productFieldId} 89jQuery(document).trigger('gform_price_change',[productIds,event.detail.htmlInput,this])})} 90function gformShowPasswordStrength(fieldEl){if(!fieldEl||typeof fieldEl.closest!=='function'){return} 91var wrapper=fieldEl.closest('.gfield--type-password');if(!wrapper){return} 92var passwordEl=wrapper.querySelector('.password_input_container input');var confirmEl=wrapper.querySelectorAll('.password_input_container input')[1]||null;var strengthEl=wrapper.querySelector('input[name*="strength"]');var strengthIndicatorEl=wrapper.querySelector('.gfield_password_strength');var password=passwordEl.value;var confirm=confirmEl!==null?confirmEl.value:'';var result=gformPasswordStrength(password,confirm),resultClass=result==='unknown'?'blank':result;if(strengthEl){strengthEl.value=result} 93if(strengthIndicatorEl){strengthIndicatorEl.classList.remove("blank","mismatch","short","good","bad","strong");strengthIndicatorEl.classList.add(resultClass);var key="password_"+result;var text=(window.gf_text&&key in window.gf_text)?window.gf_text[key]:'';strengthIndicatorEl.innerHTML=text}} 94function gformPasswordStrength(password1,password2){if(password1.length<=0){return'blank'} 95var disallowedList=wp.passwordStrength.hasOwnProperty('userInputDisallowedList')?wp.passwordStrength.userInputDisallowedList():wp.passwordStrength.userInputBlacklist(),strength=wp.passwordStrength.meter(password1,disallowedList,password2);switch(strength){case-1:return'unknown';case 2:return'bad';case 3:return'good';case 4:return'strong';case 5:return'mismatch';default:return'short'}} 96function gformToggleShowPassword(buttonEl){var passwordContainer=buttonEl.closest('.password_input_container');if(!passwordContainer)return;var passwordInput=passwordContainer.querySelector('input');if(!passwordInput)return;var icon=buttonEl.querySelector('span');var currentType=passwordInput.getAttribute('type');switch(currentType){case 'password':passwordInput.setAttribute('type','text');buttonEl.setAttribute('aria-label',buttonEl.getAttribute('data-label-hide'));icon.classList.remove('dashicons-hidden');icon.classList.add('dashicons-visibility');break;case 'text':passwordInput.setAttribute('type','password');buttonEl.setAttribute('aria-label',buttonEl.getAttribute('data-label-show'));icon.classList.remove('dashicons-visibility');icon.classList.add('dashicons-hidden');break}} 97function gformToggleCheckboxes(toggleElement){var checked,$toggleElement=jQuery(toggleElement),toggleElementCheckbox=$toggleElement.is('input[type="checkbox"]'),$toggle=$toggleElement.parent(),$toggleLabel=$toggle.find('label'),$checkboxes=$toggle.parent().find('.gchoice:not( .gchoice_select_all )'),formId=gf_get_form_id_by_html_id($toggle.parents('.gfield').attr('id')),calcObj=rgars(window,'gf_global/gfcalc/'+formId);if(toggleElementCheckbox){checked=toggleElement.checked}else{var checkedData=$toggleElement.data('checked');if(typeof checkedData==='boolean'){checked=!checkedData}else{checked=!(parseInt(checkedData)===1)}} 98$checkboxes.each(function(){jQuery('input[type="checkbox"]',this).prop('checked',checked).trigger('change');if(typeof jQuery('input[type="checkbox"]',this)[0].onclick==='function'){jQuery('input[type="checkbox"]',this)[0].onclick()}});gformToggleSelectAll(toggleElement,checked?'deselect':'select');wp.a11y.speak(checked?gf_field_checkbox.strings.selected:gf_field_checkbox.strings.deselected);if(calcObj){calcObj.runCalcs(formId,calcObj.formulaFields)}} 99function gformToggleSelectAll(selectAllElement,action){var $selectAllElement=jQuery(selectAllElement),toggleElementCheckbox=$selectAllElement.is('input[type="checkbox"]'),$toggle=toggleElementCheckbox?$selectAllElement.parent():$selectAllElement.prev(),$toggleLabel=$toggle.find('label');if(!toggleElementCheckbox){$selectAllElement.html(action==='deselect'?$selectAllElement.data('label-deselect'):$selectAllElement.data('label-select'));$selectAllElement.data('checked',action==='deselect'?1:0)}} 100jQuery(document).on('click','.gfield_choice--select_all_enabled *',function(){var $select_all=jQuery(this).closest('.gfield_choice--select_all_enabled').find('.gfield_choice_all_toggle');
100if(jQuery(this).is('.gchoice input[type="checkbox"]')){if($select_all.is('input[type="checkbox"]')){if(!jQuery(this).prop('checked')){$select_all.prop('checked',!1)}}else{gformToggleSelectAll($select_all,'select')}} 101if(jQuery(this).is('.gchoice input[type="checkbox"]')){var $checkboxes=jQuery(this).closest('.gfield_choice--select_all_enabled').find('.gchoice input[type="checkbox"]:not(".gfield_choice_all_toggle")');if($checkboxes.length===$checkboxes.filter(':checked').length){if($select_all.is('input[type="checkbox"]')){$select_all.prop('checked',!0);gformToggleSelectAll($select_all,'deselect')}else{gformToggleSelectAll($select_all,'deselect')}}}});function gformToggleRadioOther(radioElement){var $other=gform.tools.getClosest(radioElement,'.ginput_container_radio').querySelector('input.gchoice_other_control');if($other){$other.disabled=radioElement.value!=='gf_other_choice'}} 102function gformAddListItem(addButton,max){var $addButton=jQuery(addButton);if($addButton.hasClass('gfield_icon_disabled')){return} 103var $group=$addButton.parents('.gfield_list_group'),$clone=$group.clone(),$container=$group.parents('.gfield_list_container'),tabindex=$clone.find(':input:last').attr('tabindex');$clone.find('input, select, textarea').attr('tabindex',tabindex).not(':checkbox, :radio').val('').attr('value','');$clone.find(':checkbox, :radio').prop('checked',!1);$clone=gform.applyFilters('gform_list_item_pre_add',$clone,$group);$group.after($clone);gformToggleIcons($container,max);gformAdjustClasses($container);gformAdjustRowAttributes($container);gform.doAction('gform_list_post_item_add',$clone,$container);wp.a11y.speak(window.gf_global.strings.newRowAdded)} 104function gformDeleteListItem(deleteButton,max){var $deleteButton=jQuery(deleteButton);if($deleteButton.prop('disabled')){return}else{$deleteButton.prop('disabled',!0)} 105var $group=$deleteButton.parents('.gfield_list_group'),$container=$group.parents('.gfield_list_container');$group.remove();gformToggleIcons($container,max);gformAdjustClasses($container);gformAdjustRowAttributes($container);gform.doAction('gform_list_post_item_delete',$container);wp.a11y.speak(window.gf_global.strings.rowRemoved)} 106function gformAdjustClasses($container){var $groups=$container.find('.gfield_list_group');$groups.each(function(i){var $group=jQuery(this),oddEvenClass=(i+1)%2==0?'gfield_list_row_even':'gfield_list_row_odd';$group.removeClass('gfield_list_row_odd gfield_list_row_even').addClass(oddEvenClass)})} 107function gformAdjustRowAttributes($container){if($container.parents('.gform_wrapper').hasClass('gform_legacy_markup_wrapper')){return} 108$container.find('.gfield_list_group').each(function(i){var $input=jQuery(this).find('input, select, textarea');$input.each(function(index,input){var $this=jQuery(input);$this.attr('aria-label',$this.data('aria-label-template').gformFormat(i+1))});var $remove=jQuery(this).find('.delete_list_item');$remove.attr('aria-label',$remove.data('aria-label-template').gformFormat(i+1))})} 109function gformToggleIcons($container,max){var groupCount=$container.find('.gfield_list_group').length,$addButtons=$container.find('.add_list_item'),isLegacy=typeof gf_legacy!=='undefined'&&gf_legacy.is_legacy;if(groupCount===1){$container.find('.delete_list_item').prop('disabled',!0).css('visibility','hidden')}else{$container.find('.delete_list_item').prop('disabled',!1).css('visibility','visible')} 110if(max>0&&groupCount>=max){$addButtons.data('title',$container.find('.add_list_item').attr('title'));$addButtons.addClass('gfield_icon_disabled').attr('title','');if(!isLegacy){$addButtons.prop('disabled',!0)}}else if(max>0){$addButtons.removeClass('gfield_icon_disabled');if(!isLegacy){$addButtons.prop('disabled',!1)} 111if($addButtons.data('title')){$addButtons.attr('title',$addButtons.data('title'))}}} 112function gformMatchCard(id){var cardType=gformFindCardType(jQuery('#'+id).val());var cardContainer=jQuery('#'+id).parents('.gfield').find('.gform_card_icon_container');if(!cardType){jQuery(cardContainer).find('.gform_card_icon').removeClass('gform_card_icon_selected gform_card_icon_inactive')}else{jQuery(cardContainer).find('.gform_card_icon').removeClass('gform_c
112ard_icon_selected').addClass('gform_card_icon_inactive');jQuery(cardContainer).find('.gform_card_icon_'+cardType).removeClass('gform_card_icon_inactive').addClass('gform_card_icon_selected')}} 113function gformFindCardType(value){if(value.length<4) 114return!1;var rules=window.gf_cc_rules;var validCardTypes=new Array();for(type in rules){if(!rules.hasOwnProperty(type)) 115continue;for(i in rules[type]){if(!rules[type].hasOwnProperty(i)) 116continue;if(rules[type][i].indexOf(value.substring(0,rules[type][i].length))===0){validCardTypes[validCardTypes.length]=type;break}}} 117return validCardTypes.length==1?validCardTypes[0].toLowerCase():!1} 118function gformToggleCreditCard(){if(jQuery("#gform_payment_method_creditcard").is(":checked")) 119jQuery(".gform_card_fields_container").slideDown();else jQuery(".gform_card_fields_container").slideUp()} 120function gformInitChosenFields(fieldList,noResultsText){return jQuery(fieldList).each(function(){var element=jQuery(this);noResultsText=noResultsText||element.data('noResultsText');element.attr('data-noResultsText',noResultsText);var isConvoForm=typeof gfcf_theme_config!=='undefined'?(gfcf_theme_config!==null&&typeof gfcf_theme_config.data!=='undefined'?gfcf_theme_config.data.is_conversational_form:undefined):!1;if(jQuery('html').attr('dir')=='rtl'){element.addClass('chosen-rtl chzn-rtl')} 121if((element.is(':visible')||isConvoForm)&&element.siblings('.chosen-container').length==0){var chosenOptions={no_results_text:noResultsText};
121if(isConvoForm){chosenOptions.width=element.css('inline-size')} 122var options=gform.applyFilters('gform_chosen_options',chosenOptions,element);element.chosen(options)}})} 123function gformInitCurrencyFormatFields(fieldList){jQuery(fieldList).each(function(){var $this=jQuery(this);$this.val(gformFormatMoney(jQuery(this).val()))}).change(function(event){jQuery(this).val(gformFormatMoney(jQuery(this).val()))})} 124var GFMergeTag=function(){GFMergeTag.getMergeTagValue=function(formId,inputId,modifier){const mergeTagInfo=gform.mergeTags.getMergeTagInfo(formId,inputId,modifier);if(!mergeTagInfo.isVisible){return''} 125const inputForFilter=jQuery(mergeTagInfo.input);let value=window.gform.applyFilters('gform_value_merge_tag_'+formId+'_'+mergeTagInfo.fieldId,!1,inputForFilter,mergeTagInfo.modifier);if(value!==!1){return value} 126return gform.mergeTags.getFieldValue(formId,inputId,modifier,mergeTagInfo)} 127GFMergeTag.replaceMergeTags=function(formId,text){return gform.mergeTags.replaceMergeTags(formId,text)} 128GFMergeTag.formatValue=function(value,modifier){return gform.mergeTags.formatValue(value,modifier)} 129GFMergeTag.parseMergeTags=function(text,regEx){return gform.mergeTags.parseMergeTags(text,regEx)}} 130new GFMergeTag();var GFCalc=function(formId,formulaFields){this.formId=formId;this.formulaFields=formulaFields;this.exprPatt=/^[0-9 -/*\(\)]+$/i;this.isCalculating={};this.init=function(formId,formulaFields){var calc=this;jQuery(document).off("gform_post_conditional_logic.gfCalc_{0}".gformFormat(formId)).on("gform_post_conditional_logic.gfCalc_{0}".gformFormat(formId),function(){calc.runCalcs(formId,formulaFields)});for(var i=0;i<formulaFields.length;i++){var formulaField=jQuery.extend({},formulaFields[i]);this.runCalc(formulaField,formId);this.bindCalcEvents(formulaField,formId)}} 131this.runCalc=function(formulaField,formId){var calcObj=this,field=jQuery('#field_'+formId+'_'+formulaField.field_id),formulaInput=field.hasClass('gfield_price')?jQuery('#ginput_base_price_'+formId+'_'+formulaField.field_id):jQuery('#input_'+formId+'_'+formulaField.field_id),previous_val=formulaInput.val(),formula=gform.applyFilters('gform_calculation_formula',formulaField.formula,formulaField,formId,calcObj),expr=calcObj.replaceFieldTags(formId,formula,formulaField).replace(/(\r\n|\n|\r)/gm,""),result='';if(calcObj.exprPatt.test(expr)){try{result=eval(expr)}catch(e){}}else{return} 132if(!isFinite(result)) 133result=0;if(window.gform_calculation_result){result=window.gform_calculation_result(result,formulaField,formId,calcObj);if(window.console) 134console.log('"gform_calculation_result" function is deprecated since version 1.8! Use "gform_calculation_result" JS hook instead.')} 135result=gform.applyFilters('gform_calculation_result',result,formulaField,formId,calcObj);var formattedResult=gform.applyFilters('gform_calculation_format_result',!1,result,formulaField,formId,calcObj);var numberFormat=gf_get_field_number_format(formulaField.field_id,formId);if(formattedResult!==!1){result=formattedResult}else if(field.hasClass('gfield_price')||numberFormat=="currency"){result=gformFormatMoney(result?result:0,!0)}else{var decimalSeparator=".";var thousandSeparator=",";if(numberFormat=="decimal_comma"){decimalSeparator=",";thousandSeparator="."} 136result=gformFormatNumber(result,!gform.utils.isNumber(formulaField.rounding)?-1:formulaField.rounding,decimalSeparator,thousandSeparator)} 137if(result==previous_val) 138return;if(field.hasClass('gfield_price')){jQuery('#input_'+formId+'_'+formulaField.field_id).text(result);formulaInput.val(result).trigger('change');if(formulaInput&&formulaInput.length>0){window.gform.utils.trigger({event:'change',el:formulaInput[0],native:!0})} 139if(jQuery('.gfield_label_product').length&&!jQuery('.ginput_total').length){result=jQuery('label[ for=input_'+formId+'_'+formulaField.field_id+'_1 ]').find('.gfield_label_product').text()+' '+result;wp.a11y.speak(result)}}else{formulaInput.val(result).trigger('change')}};this.runCalcs=function(formId,formulaFields){for(var i=0;i<formulaFields.length;i++){var formulaField=jQuery.extend({},formulaFields[i]);this.runCalc(formulaField,formId)}} 140this.bindCalcEvents=function(formulaField,formId){var calcObj=this;var formulaFieldId=formulaField.field_id;var matches=GFMergeTag.parseMergeTags(formulaField.formula);calcObj.isCalculating[formulaFieldId]=!1;for(var i in matches){if(!matches.hasOwnProperty(i)) 141continue;var inputId=matches[i][1];var fieldId=parseInt(inputId,10);var input=jQuery('#field_'+formId+'_'+fieldId).find('input[name="input_'+inputId+'"], select[name="input_'+inputId+'"]');if(input.prop('type')=='checkbox'||input.prop('type')=='radio'){jQuery(input).click(function(){calcObj.bindCalcEvent(inputId,formulaField,formId,0)});var imageChoice=input.closest('.gfield--type-image_choice .gchoice');if(imageChoice.length>0){jQuery(imageChoice).click(function(){calcObj.bindCalcEvent(inputId,formulaField,formId,0)})}}else if(input.is('select')||input.prop('type')=='hidden'){jQuery(input).change(function(){calcObj.bindCalcEvent(inputId,formulaField,formId,0)})}else{jQuery(input).keydown(function(){calcObj.bindCalcEvent(inputId,formulaField,formId)}).change(function(){calcObj.bindCalcEvent(inputId,formulaField,formId,0)})} 142gform.doAction('gform_post_calculation_events',matches[i],formulaField,formId,c
142alcObj)}} 143this.bindCalcEvent=function(inputId,formulaField,formId,delay){var calcObj=this;var formulaFieldId=formulaField.field_id;delay=delay==undefined?345:delay;if(calcObj.isCalculating[formulaFieldId][inputId]) 144clearTimeout(calcObj.isCalculating[formulaFieldId][inputId]);calcObj.isCalculating[formulaFieldId][inputId]=window.setTimeout(function(){calcObj.runCalc(formulaField,formId)},delay)} 145this.replaceFieldTags=function(formId,expr,formulaField){var matches=GFMergeTag.parseMergeTags(expr);for(i in matches){if(!matches.hasOwnProperty(i)) 146continue;var inputId=matches[i][1];var fieldId=parseInt(inputId,10);if(fieldId==formulaField.field_id&&fieldId==inputId){continue} 147var modifier='value';if(matches[i][3]){modifier=matches[i][3]}else{var is_product_radio=jQuery('.gfield_price input[name=input_'+fieldId+']').is('input[type=radio]');var is_product_dropdown=jQuery('.gfield_price select[name=input_'+fieldId+']').length>0;var is_option_checkbox=jQuery('.gfield_price input[name="input_'+inputId+'"]').is('input[type=checkbox]');if(is_product_dropdown||is_product_radio||is_option_checkbox){modifier='price'}} 148var isVisible=window.gf_check_field_rule?gf_check_field_rule(formId,fieldId,!0,'')=='show':!0;var value=isVisible?GFMergeTag.getMergeTagValue(formId,inputId,modifier):0;value=gform.applyFilters('gform_merge_tag_value_pre_calculation',value,matches[i],isVisible,formulaField,formId);value=this.cleanNumber(value,formId,fieldId,formulaField);expr=expr.replace(matches[i][0],value)} 149return expr} 150this.cleanNumber=function(value,formId,fieldId,formulaField){var numberFormat=gf_get_field_number_format(fieldId,formId);if(!numberFormat){numberFormat=gf_get_field_number_format(formulaField.field_id,formId)} 151var decimalSeparator=gform.Currency.getDecimalSeparator(numberFormat);value=gform.Currency.cleanNumber(value,'','',decimalSeparator);if(!value) 152value=0;return value} 153this.init(formId,formulaFields)} 154function gformFormatNumber(number,rounding,decimalSeparator,thousandSeparator){if(typeof decimalSeparator=="undefined"){if(window.gf_global){var currency=new gform.Currency(gf_global.gf_currency_config);decimalSeparator=currency.currency.decimal_separator}else{decimalSeparator="."}} 155if(typeof thousandSeparator=="undefined"){if(window.gf_global){var currency=new gform.Currency(gf_global.gf_currency_config);thousandSeparator=currency.currency.thousand_separator}else{thousandSeparator=","}} 156var currency=new gform.Currency();return currency.numberFormat(number,rounding,decimalSeparator,thousandSeparator,!1)} 157function gf_get_field_number_format(fieldId,formId,context){var fieldNumberFormats=rgars(window,'gf_global/number_formats/{0}/{1}'.gformFormat(formId,fieldId)),format=!1;if(fieldNumberFormats===''){return format} 158if(typeof context=='undefined'){format=fieldNumberFormats.price!==!1?fieldNumberFormats.price:fieldNumberFormats.value}else{format=fieldNumberFormats[context]} 159return format} 160gform.recaptcha={renderRecaptcha:function(){jQuery('.ginput_recaptcha:not(.gform-initialized)').each(function(){let $elem=jQuery(this),parameters={'sitekey':$elem.data('sitekey'),'theme':$elem.data('theme'),'tabindex':$elem.data('tabindex'),'error-callback':()=>{console.error('Gravity Forms: There was an error initializing reCAPTCHA v2. Please ensure your reCAPTCHA API keys are valid.');$elem.attr('data-recaptcha-error','1')}};if($elem.data('stoken')){parameters.stoken=$elem.data('stoken')} 161const callback=gform.applyFilters('gform_recaptcha_callback',!1,$elem);if(callback){parameters.callback=callback} 162const widgetId=grecaptcha.render(this.id,parameters);$elem[0].setAttribute('data-widget-id',widgetId);if(parameters.tabindex){$elem.find('iframe').attr('tabindex',parameters.tabindex)} 163$elem.addClass('gform-initialized');gform.doAction('gform_post_recaptcha_render',$elem)});gform.recaptcha.bindRecaptchaSubmissionEvents()},isSubmissionEventsInitialized:!1,bindRecaptchaSubmissionEvents:function(){if(gform.recaptcha.isSubmissionEventsInitialized){return} 164gform.recaptcha.isSubmissionEventsInitialized=!0;window.gform.utils.addAsyncFilter('gform/submission/pre_submission',async(data)=>{const requiresRecaptcha=data.submissionType===gform.submission.SUB
164MISSION_TYPE_SUBMIT||data.submissionType===gform.submission.SUBMISSION_TYPE_NEXT;if(requiresRecaptcha&&!data.abort){await gform.recaptcha.maybeExecuteInvisibleRecaptcha(data)} 165return data});window.gform.utils.addAsyncFilter('gform/ajax/pre_ajax_validation',gform.recaptcha.maybeExecuteInvisibleRecaptcha);window.gform.utils.addFilter('gform/ajax/post_ajax_submission',gform.recaptcha.handleAjaxPostSubmission);window.gform.utils.addFilter('gform/ajax/post_ajax_validation',gform.recaptcha.handleAjaxPostValidation)},maybeExecuteInvisibleRecaptcha:async function(data){if(gform.recaptcha.gformIsRecaptchaPending(jQuery(data.form))){const recaptcha=gform.utils.getNode('.ginput_recaptcha',data.form,!0);await gform.recaptcha.executeRecaptcha(recaptcha.getAttribute('data-widget-id'),data.form)} 166return data},executeRecaptcha:async function(widgetId,form){const recaptcha=gform.utils.getNode('.ginput_recaptcha',form,!0);if(recaptcha.getAttribute('data-recaptcha-error')==='1'){return} 167window.grecaptcha.execute(widgetId);return new Promise((resolve,reject)=>{const intervalId=setInterval(()=>{const response=gform.utils.getNode('.g-recaptcha-response',form,!0);if(response&&response.value){clearInterval(intervalId);resolve(response.value)}},100)})},handleAjaxPostValidation:function(data){gform.recaptcha.saveRecaptchaResponse(data.validationResult.data.recaptcha_response,data.form);return data},handleAjaxPostSubmission:function(data){gform.recaptcha.saveRecaptchaResponse(data.submissionResult.data.recaptcha_response,data.form);return data},saveRecaptchaResponse:function(recaptchaResponse,form){if(!recaptchaResponse){return} 168let recaptchaInput=gform.tools.getNodes('input[name=g-recaptcha-response]',!0,form,!0);if(recaptchaInput.length===0){recaptchaInput=document.createElement('input');recaptchaInput.type='hidden';recaptchaInput.name='g-recaptcha-response';form.appendChild(recaptchaInput)}else{recaptchaInput=recaptchaInput[0]} 169recaptchaInput.value=recaptchaResponse},gformIsRecaptchaPending:function(form){const recaptcha=form.find('.ginput_recaptcha');if(!recaptcha.length||recaptcha.data('size')!=='invisible'){return!1} 170const recaptchaResponse=recaptcha.find('.g-recaptcha-response');return!(recaptchaResponse.length&&recaptchaResponse.val())},needsRender:function(){return document.querySelectorAll('.ginput_recaptcha:not(.gform-initialized)')[0]},renderOnRecaptchaLoaded:function(){if(!gform.recaptcha.needsRender()){return} 171var gfRecaptchaPoller=setInterval(function(){if(!window.grecaptcha||!window.grecaptcha.render){return} 172this.renderRecaptcha();clearInterval(gfRecaptchaPoller)},100)}};jQuery(document).on('gform_post_render',gform.recaptcha.renderOnRecaptchaLoaded);window.renderRecaptcha=gform.recaptcha.renderRecaptcha;window.gformIsRecaptchaPending=gform.recaptcha.gformIsRecaptchaPending;function gformValidateFileSize(field,max_file_size){var validation_element;if(jQuery(field).closest('div').siblings('.validation_message').length>0){validation_element=jQuery(field).closest('div').siblings('.validation_message')}else{validation_element=jQuery(field).siblings('.validation_message')} 173if(!window.FileReader||!window.File||!window.FileList||!window.Blob){return} 174var file=field.files[0];if(file&&file.size>max_file_size){validation_element.text(file.name+" - "+gform_gravityforms.strings.file_exceeds_limit);wp.a11y.speak(file.name+" - "+gform_gravityforms.strings.file_exceeds_limit)}else{validation_element.remove()}}(function(gfMultiFileUploader,$){gfMultiFileUploader.uploaders={};var strings=typeof gform_gravityforms!='undefined'?gform_gravityforms.strings:{};var imagesUrl=typeof gform_gravityforms!='undefined'?gform_gravityforms.vars.images_url:"";$(document).on('gform_post_render',function(e,formID){$("form#gform_"+formID+" .gform_fileupload_multifile").each(function(){setup(this)});bindFileUploadSubmissionEvents()});$(document).on("gform_post_conditional_logic",function(e,formID,fields,isInit){if(!isInit){$.each(gfMultiFileUploader.uploaders,function(i,uploader){uploader.refresh()})}});$(document).ready(function(){if((typeof adminpage!=='undefined'&&adminpage==='toplevel_page_gf_edit_forms')||typeof plupload=='undefined'){$(".gform_button_select_files").prop("disabled",!0)}else if(typeof adminpage!=='undefined'&&adminpage.indexOf('_page_gf_entries')>-1){$(".gform_fileupload_multifile").each(function(){setup(this)})}});gfMultiFileUploader.setup=function(uploadElement){setup(uploadElement)};let isInitialized=!1;function bindFileUploadSubmissionEvents(){if(isInitialized){return} 175isInitialized=!0;window.gform.utils.addFilter('gform/submission/pre_submission',(data)=>
175{if(hasPendingUploads()){alert(strings.currently_uploading);data.abort=!0} 176return data},8)} 177function hasPendingUploads(){let pendingUploads=!1;$.each(gfMultiFileUploader.uploaders,function(i,uploader){if(uploader.total.queued>0){pendingUploads=!0;return!1}});return pendingUploads} 178function setup(uploadElement){if(typeof plupload==='undefined'){return} 179var settings=$(uploadElement).data('settings');var uploader=new plupload.Uploader(settings);formID=uploader.settings.multipart_params.form_id;gfMultiFileUploader.uploaders[settings.container]=uploader;var formID;var uniqueID;uploader.bind('Init',function(up,params){if(!up.features.dragdrop){$(".gform_drop_instructions").hide()} 180setFieldAccessibility(up.settings.container);toggleLimitReached(up.settings)});gfMultiFileUploader.toggleDisabled=function(settings,disabled){var button=typeof settings.browse_button=="string"?$("#"+settings.browse_button):$(settings.browse_button);button.prop("disabled",disabled)};function setFieldAccessibility(container){var input=container.querySelectorAll('input[type="file"]')[0];var button=container.querySelectorAll('.gform_button_select_files')[0];var label=$(uploadElement).closest('.gfield').find('.gfield_label')[0];if(!input||!label||!button){return} 181label.setAttribute('for',input.id);button.setAttribute('aria-label',button.innerText.toLowerCase()+', '+label.innerText.toLowerCase());input.setAttribute('tabindex','-1');input.setAttribute('aria-hidden','true')} 182function addMessage(messagesID,message){$("#"+messagesID).prepend("<li class='gfield_description gfield_validation_message'>"+htmlEncode(message)+"</li>");setTimeout(function(){wp.a11y.speak($("#"+messagesID).text())},1000)} 183function removeMessage(messagesID,message){$("#"+messagesID+" li:contains('"+message+"')").remove()} 184function toggleLimitReached(settings){var limit=parseInt(settings.gf_vars.max_files,10);if(limit>0){var totalCount=countFiles(settings.multipart_params.field_id),limitReached=totalCount>=limit;gfMultiFileUploader.toggleDisabled(settings,limitReached);if(!limitReached){removeMessage(settings.gf_vars.message_id,strings.max_reached)}}} 185uploader.init();uploader.bind('BeforeUpload',function(up,file){up.settings.multipart_params.original_filename=file.name});uploader.bind('FilesAdded',function(up,files){var max=parseInt(up.settings.gf_vars.max_files,10),fieldID=up.settings.multipart_params.field_id,totalCount=countFiles(fieldID),disallowed=up.settings.gf_vars.disallowed_extensions,extension;if(max>0&&totalCount>=max){$.each(files,function(i,file){up.removeFile(file);return});return} 186$.each(files,function(i,file){extension=file.name.split('.').pop();if($.inArray(extension,disallowed)>-1){addMessage(up.settings.gf_vars.message_id,file.name+" - "+strings.illegal_extension);up.removeFile(file);return} 187if((file.status==plupload.FAILED)||(max>0&&totalCount>=max)){up.removeFile(file);return} 188var size=typeof file.size!=='undefined'?plupload.formatSize(file.size):strings.in_progress,removeFileJs='$this=jQuery(this); var uploader = gfMultiFileUploader.uploaders.'+up.settings.container.id+';uploader.stop();uploader.removeFile(uploader.getFile(\''+file.id+'\'));$this.after(\''+strings.cancelled+'\'); uploader.start();$this.remove();',statusMarkup='<div id="{0}" class="ginput_preview"><span class="gfield_fileupload_filename">{1}</span><span class="gfield_fileupload_filesize">{2}</span><span class="gfield_fileupload_progress"><span class="gfield_fileupload_progressbar"><span class="gfield_fileupload_progressbar_progress"></span></span><span class="gfield_fileupload_percent"></span></span><a class="gfield_fileupload_cancel gform-theme-button gform-theme-button--simple" href="javascript:void(0)" title="{3}" onclick="{4}" onkeypress="{4}">{5}</a>';statusMarkup=gform.applyFilters('gform_file_upload_status_markup',statusMarkup,file,size,strings,removeFileJs,up).gformFormat(file.id,htmlEncode(file.name),size,strings.cancel_upload,removeFileJs,strings.cancel);$('#'+up.settings.filelist).prepend(statusMarkup);totalCount++});up.refresh();var formElementID="form#gform_"+formID;
188var uidElementID="input:hidden[name='gform_unique_id']";var uidSelector=formElementID+" "+uidElementID;var $uid=$(uidSelector);if($uid.length==0){$uid=$(uidElementID)} 189uniqueID=$uid.val();if(''===uniqueID){uniqueID=generateUniqueID();$uid.val(uniqueID)} 190if(max>0&&totalCount>=max){gfMultiFileUploader.toggleDisabled(up.settings,!0);addMessage(up.settings.gf_vars.message_id,strings.max_reached)} 191up.settings.multipart_params.gform_unique_id=uniqueID;up.start()});uploader.bind('UploadProgress',function(up,file){var html=file.percent+"%";$('#'+file.id+' span.gfield_fileupload_percent').html(html);$('#'+file.id+' span.gfield_fileupload_progressbar_progress').css('width',file.percent+'%')});uploader.bind('Error',function(up,err){if(err.code===plupload.FILE_EXTENSION_ERROR){var extensions=typeof up.settings.filters.mime_types!='undefined'?up.settings.filters.mime_types[0].extensions:up.settings.filters[0].extensions;addMessage(up.settings.gf_vars.message_id,err.file.name+" - "+strings.invalid_file_extension+" "+extensions)}else if(err.code===plupload.FILE_SIZE_ERROR){addMessage(up.settings.gf_vars.message_id,err.file.name+" - "+strings.file_exceeds_limit)}else{const errorResponse=JSON.parse(err.response);const errorCode=errorResponse?.error?.code||err.code;const errorMessage=errorResponse?.error?.message||err.message;const filePart=err.file?.name?`${ err.file.name } - `:'';const m=`${ filePart }${ strings.error }: ${ errorCode }, ${ strings.message }: ${ errorMessage }`;addMessage(up.settings.gf_vars.message_id,m)} 192$('#'+err.file.id).html('');up.removeFile(err.file);up.refresh()});uploader.bind('ChunkUploaded',function(up,file,result){var response=$.secureEvalJSON(result.response);if(response.status=="error"){up.removeFile(file);addMessage(up.settings.gf_vars.message_id,file.name+" - "+response.error.message);$('#'+file.id).html('')}else{up.settings.multipart_params[file.target_name]=response.data}});uploader.bind('FileUploaded',function(up,file,result){if(!up.getFile(file.id)){return} 193var response=$.secureEvalJSON(result.response);if(response.status=="error"){addMessage(up.settings.gf_vars.message_id,file.name+" - "+response.error.message);$('#'+file.id).html('');toggleLimitReached(up.settings);return} 194var uploadedName=rgars(response,'data/uploaded_filename');var html='<span class="gfield_fileupload_filename">'+htmlEncode(uploadedName)+'</span><span class="gfield_fileupload_filesize">'+plupload.formatSize(file.size)+'</span>';html+='<span class="gfield_fileupload_progress gfield_fileupload_progress_complete"><span class="gfield_fileupload_progressbar"><span class="gfield_fileupload_progressbar_progress"></span></span><span class="gfield_fileupload_percent">'+file.percent+'%</span></span>';var formId=up.settings.multipart_params.form_id;var fieldId=up.settings.multipart_params.field_id;if(typeof gf_legacy!=='undefined'&&gf_legacy.is_legacy){html="<img "+"class='gform_delete' "+"src='"+imagesUrl+"/delete.png' "+"onclick='gformDeleteUploadedFile("+formId+","+fieldId+", this);' "+"onkeypress='gformDeleteUploadedFile("+formId+","+fieldId+", this);' "+"alt='"+strings.delete_file+"' "+"title='"+strings.delete_file+"' /> "+html}else{html=html+"<button class='gform_delete_file gform-theme-button gform-theme-button--simple' onclick='gformDeleteUploadedFile("+formId+","+fieldId+", this);'><span class='dashicons dashicons-trash' aria-hidden='true'></span><span class='screen-reader-text'>"+strings.delete_file+': '+htmlEncode(uploadedName)+"</span></button>"} 195html=gform.applyFilters('gform_file_upload_markup',html,file,up,strings,imagesUrl,response);$('#'+file.id).html(html);$('#'+file.id+' span.gfield_fileupload_progressbar_progress').css('width',file.percent+'%');if(file.percent==100){if(response.status&&response.status=='ok'){response.data.id=file.id;addFile(fieldId,response.data);window.wp.a11y.speak((strings.file_uploaded)+': '+uploadedName)}else{addMessage(up.settings.gf_vars.message_id,strings.unknown_error+': '+file.name)}}});uploader.bind('FilesRemoved',function(up,files){toggleLimitReached(up.settings)});function getAllFiles(){var selector='#gform_uploaded_files_'+formID,$uploadedFiles=$(selector),files;files=$uploadedFiles.val();files=(typeof files==="undefined")||files===''?{}:$.parseJSON(files);return files} 196function getFiles(fieldID){var allFiles=getAllFiles();var inputName=getInputName(fieldID);if(typeof allFiles[inputName]=='undefined') 197allFiles[inputName]=[];return allFiles[inputName]} 198function countFiles(fieldID){var files=getFiles(fieldID);return files.length} 199function addFile(fieldID,fileInfo){var files=getFiles(fieldID);files.unshift(fileInfo);setUploadedFiles(fieldID,files)} 200function setUploadedFiles(fieldID,files){var allFiles=getAllFiles();var $uploadedFiles=$('#gform_uploaded_files_'+formID);var inputName=getInputName(fieldID);allFiles[inputName]=files;$uploadedFiles.val($.toJSON(allFiles))} 201function getInputName(fieldID){return"input_"+fieldID} 202$("#"+settings.drop_element).on({"dragenter":ignoreDrag,"dragover":ignoreDrag});function ignoreDrag(e){e.preventDefault()}} 203function generateUniqueID(){return'xxxxxxxx'.replace(/[xy]/g,function(c){var r=Math.random()*16|0,v=c=='x'?r:r&0x3|0x8;return v.toString(16)})} 204function htmlEncode(value){return $('<div/>').text(value).html()}}(window.gfMultiFileUploader=window.gfMultiFileUploader||{},jQuery));function gformReInitTinymceInstance(formId,fieldId){if(!formId||!fieldId){gform.console.error('gformReInitTinymceInstance requires a form and field id.');return} 205var tinymce=window.tinymce;if(!tinymce){gform.console.error('gformReInitTinymceInstance requires tinymce to be available.');return} 206var editor=tinymce.get('input_'+formId+'_'+fieldId);if(!editor){gform.console.error('gformReInitTinymceInstance did not find an instance for input_'+formId+'_'+fieldId+'.');return} 207var settings=jQuery.extend({},editor.settings);editor.remove();tinymce.init(settings);gform.console.log('gformReInitTinymceInstance reinitialized TinyMCE on input_'+formId+'_'+fieldId+'.')} 208var __gf_keyup_timeout;jQuery(document).on('change keyup','.gfield input, .gfield select, .gfield textarea',function(event){gf_raw_input_change(event,this)});function gf_raw_input_change(event,elem){clearTimeout(__gf_keyup_timeout);var $input=jQuery(elem),htmlId=$input.attr('id'),fieldId=gf_get_input_id_by_html_id(htmlId),formId=gf_get_form_id_by_html_id(htmlId),fieldMeta=gform.applyFilters('gform_field_meta_raw_input_change',{fieldId:fieldId,formId:formId},$input,event);fieldId=fieldMeta.fieldId;formId=fieldMeta.formId;if(!fieldId){return} 209var isChangeElem=$input.is(':checkbox')||$input.is(':radio')||$input.is('select'),isKeyupElem=!isChangeElem||$input.is('textarea');if(event.type=='keyup'&&!isKeyupElem){return}else if(event.type=='change'&&!isChangeElem&&!isKeyupElem){return} 210if(event.type=='keyup'){__gf_keyup_timeout=setTimeout(function(){gf_input_change(elem,formId,fieldId)},300)}else{gf_input_change(elem,formId,fieldId)}} 211function gf_get_input_id_by_html_id(htmlId){var ids=gf_get_ids_by_html_id(htmlId),id=ids[ids.length-1];if(ids.length==3){ids.shift();id=ids.join('.')} 212return id} 213function gf_get_form_id_by_html_id(htmlId){var ids=gf_get_ids_by_html_id(htmlId);return ids[0]} 214function gf_get_ids_by_html_id(htmlId){var ids=htmlId?htmlId.split('_'):[];for(var i=ids.length-1;i>=0;i--){if(!gform.utils.isNumber(ids[i])){ids.splice(i,1)}} 215return ids} 216function gf_input_change(elem,formId,fieldId){gform.doAction('gform_input_change',elem,formId,fieldId)} 217function gformExtractFieldId(inputId){var fieldId=parseInt(inputId.toString().split('.')[0],10);return!fieldId?inputId:fieldId} 218function gformExtractInputIndex(inputId){var inputIndex=parseInt(inputId.toString().split('.')[1],10);return!inputIndex?!1:inputIndex} 219if(!window.rgars){function rgars(array,prop){var props=prop.split('/'),value=array;for(var i=0;i<props.length;i++){value=rgar(value,props[i])} 220return value}} 221if(!window.rgar){function rgar(array,prop){if(typeof array[prop]!='undefined'){return array[prop]} 222return''}} 223if(!String.prototype.gformFormat){String.prototype.gformFormat=function(){var args=arguments;return this.replace(/{(\d+)}/g,function(match,number){return typeof args[number]!='undefined'?args[number]:match})}} 224jQuery(document).ready(function(){jQuery('#gform-form-toolbar__menu').on('mouseenter focus','> li',function(){jQuery(this).find('.gform-form-toolbar__submenu').toggleClass('open');jQuery(this).find('.has_submenu').toggleClass('submenu-open')});jQuery('#gform-form-toolbar__menu').on('mouseleave blur','> li',function(){jQuery('.gform-form-toolbar__submenu.open').removeClass('open');jQuery('.has_submenu.submenu-open').removeClass('submenu-open')});jQuery('#gform-form-toolbar__menu .has_submenu').on('click',function(e){e.preventDefault()})});jQuery(document).ready(function(){var settingsFields=jQuery('.gform-settings-field');settingsFields.each(function(){if(jQuery(this).find('> .gform-settings-input__container').length>1){jQuery(this).addClass('gform-settings-field--multiple-inputs')}})});jQuery(function(){gform.tools.trigger('gform_main_scripts_loaded')})
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.