PluginProbe
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar / 3.2.7
NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar v3.2.7
3.3.3 3.3.2 3.3.1 3.3.0 3.2.14 3.2.13 3.2.12 3.2.11 3.2.10 3.2.9 3.2.8 3.2.7 trunk 0.2.5.5 0.2.5.6 0.2.5.7 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 All 158 releases
notificationx / vendor / wpdeveloper / lib-utility / scripts / jquery.ud.form-helper.js

jquery.ud.form-helper.js in NotificationX – FOMO, Live Sales Notification, WooCommerce Sales Popup, GDPR, Social Proof, Announcement Banner & Floating Notification Bar 3.2.7, at vendor/wpdeveloper/lib-utility/scripts/jquery.ud.form-helper.js

1 lines 13.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 !function(a){"use strict";a.fn.form_helper=function(b){function c(){f("handle_special_styling()"),a(".checkbox.styled input").length&&(a(".checkbox.styled").each(function(){a(this).closest("label").removeClass(b.classes.checkbox.on).addClass(b.classes.checkbox.off)}),a(".checkbox.styled input:checked").each(function(){a(this).closest("label").addClass(b.classes.checkbox.on).removeClass(b.classes.checkbox.off)}),a(".checkbox.styled input").click(c))}function d(c){f("check_required_fields()"),a("input[required],textarea[required],select[required]",c).each(function(){if(this.disabled)return void f(" Skipping "+this.name+" because it is disabled.");b.settings.disable_html5_validation&&a(this).removeAttr("required");var c=a(this).closest(".control-group");if(c.length){var d=""!=a(this).attr("validation_type")?a(this).attr("validation_type"):!1;if(c.attr("validation_required")||c.attr("validation_required","true"),c.addClass(b.classes.validate_group),!d&&a(this).attr("type"))switch(a(this).attr("type").toLowerCase()){case"email":c.attr("validation_type","email");break;case"url":c.attr("validation_type","url");break;case"tel":c.attr("validation_type","tel")}d&&(c.attr("validation_type",d),a(this).attr(d)&&c.attr(d,a(this).attr(d))),a(document).trigger("form_helper::check_required_fields::field_complete",{element:this,validation_type:d})}})}function e(c,d){return f("handle_submission()"),c.status=l(c),c.status.validation_fail?(d.preventDefault(),b.settings.markup_all_fields_on_form_fail&&a.each(c.form_helper_fields,function(a,b){"success"!=b.status_code&&i(b.input_field,b)}),b.settings.markup_all_fields_on_form_fail||a.each(c.status.failed_fields,function(a,b){i(b)}),!1):(a(c).trigger("form_helper::success",{form:c,event:d}),a(c).hasClass(b.classes.ajax_form)?(d.preventDefault(),!1):void 0)}b=a.extend(!0,{element:this,settings:{auto_enable:!0,validate_on_enable:!1,error_on_blank:!1,auto_hide_helpers:!0,check_required_fields:!0,disable_html5_validation:!0,markup_all_fields_on_form_fail:!0,intent_delay:2500,initialization_pause:0},ajax:{ajax_url:!1,data:{}},timers:{},helpers:{},class_selector:{},classes:{help_block:"help-block",validate_group:"validate",helper_item:"helper_item",disabled_helper:"hide",active_helper:"show",status:{error:"error",blank:"blank",success:"success",warning:"warning"},checkbox:{on:"c_on",off:"c_off"},ajax_form:"form-ajax"},debug:!1},b);var f=this.log=function(a,c,d){(b.debug||d)&&window.console&&console.debug&&("error"===c?console.error(a):"dir"===c&&"function"==typeof console.dir?console.dir(a):console.log("string"==typeof a?"form_helper::"+a:a))},g=this.enable=function(){f("enable()"),a.each(b.classes,function(a,c){b.class_selector[a]=b.helpers.css_class_query(c)}),a(b.element).each(function(){var g=this;g.initialized&&f("Form Helper already enabled on this form."),"true"==a(g).attr("debug_form")&&(b.debug=!0),a(g).unbind("submit"),g.form_helper_fields={},g.form_control_groups=[],b.settings.check_required_fields&&d(g),a('.control-group[validation_required="true"], .control-group[validation_type]',g).addClass(b.classes.validate_group),c(),a(".control-group."+b.classes.validate_group,g).each(function(){var c={form:g,messages:{},timers:{},control_group:this,helpers:!1,attributes:{}};g.form_control_groups.push(c.control_group),a.each(b.classes.status,function(b){c.messages[b]=a(c.control_group).attr(b+"_message")}),a.each(c.control_group.attributes,function(a,b){c.attributes[b.name]=b.value}),c.control_group=a(c.control_group),c.validation_required="true"==c.control_group.attr("validation_required")?!0:!1,c.validation_type=""!=c.control_group.attr("validation_type")?c.control_group.attr("validation_type"):"not_empty",c.do_not_markup=void 0!==c.control_group.attr("do_not_markup")?!0:!1,c.validation_type&&a(c.control_group).attr(c.validation_type)&&(c[c.validation_type]=a(c.control_group).attr(c.validation_type)),a(b.class_selector.help_block,c.control_group).length&&(c.helpers=a(b.class_selector.help_block,c.control_group)),a("input,textarea,select",c.control_group).each(function(){var d={input_element:a(this),input_type:a(this).attr("type"),name:a(this).attr("name"),type:this.nodeName.toLowerCase()};d.related_fields=a.map(a(d.type,c.control_group).not(d.input_element),function(a){return a}),a(d.input_element).unbind("change"),b.settings.disable_html5_validation||a(d.input_element).attr("aria-required","true"),g.form_helper_fields[d.name]=a.extend({},c,d)})}),f(g.form_helper_fields,"dir"),a.each(g.form_helper_fields,function(c,d){a(d.input_element).data("validation_settings",d),d.inputs_in_group=a("input,textarea,select",d.control_group).length,b.helpers.update_inline_help(d.control_group,d),a(window).load(function(){setTimeout(function(){f("enable() - Executing initial field validation."),i(d.input_element,d)},b.settings.initialization_pause)}),d.intent_delay="string"==typeof d.control_group.attr("intent_delay")?d.control_group.attr("intent_delay"):b.settings.intent_delay,h(d.input_element,d,{check_related:!0})}),g.initialized=!0,a(g).submit(function(a){e(g,a)})})},h=function(b,c,d){d=a.extend({},{check_related:!1},d),a(b).bind("change",function(){i(b,c)}),("input"==c.type||"textarea"==c.type)&&(a(b).keyup(function(){clearTimeout(c.timers.intent_delay),c.timers.intent_delay=setTimeout(function(){i(b,c)},c.intent_delay)}),a(b).blur(function(){clearTimeout(c.timers.intent_delay)})),a(c.input_element).addClass("monitored"),d.check_related&&a.each(c.related_fields,function(b,d){a(d).hasClass("monitored")||h(d,c)})},i=this.validate_field=function(c,d){if(f("validate_field("+("object"==typeof d?d.name:"?")+")"),c&&"object"!=typeof c&&(c=a('[name="'+c+'"]'),f(c.length?"validate_field(): Input Element not passed as object, but found using name in DOM.":"validate_field(): Input Element not passed as object, and could not be found by name ("+c+") in DOM.")),c&&!d&&(d=c.data("validation_settings")),!d)return f("validate_field(): Warning. validate_field() was called on an Input Field that could not be found, or does not have Validation Settings.","error",!0);var e=a.extend(!0,{validation_type:"not_empty"},d),g="string"==typeof a(c).val()?a(c).val():"";"undefined"==typeof e.form.form_helper_fields[e.name].status_code&&(e.initial_run=!0);var h={detail_log:[]};switch(h.detail_log.push((e.initial_run?"Initial Run":"Secondary Run")+": "+e.name),h.detail_log.push("args.validation_required: "+e.validation_required),h.detail_log.push("args.inputs_in_group: "+e.inputs_in_group),h.detail_log.push("current_value: "+g),h.detail_log.push("validation_type: "+e.validation_type),e.validation_type){case"checked":e.status_code="checkbox"!=a(c).attr("type")?"success":a(c).is(":checked")?"success":"error";break;case"selection_limit":h.detail_log.push("Total related: "+e.related_fields.length);var i=a.map(a(e.related_fields),function(a){return a.checked?a:void 0});h.detail_log.push("Total checked: "+i.length),h.detail_log.push("Selection limit: "+d.selection_limit),0===i.length&&(e.status_code="error",e.messages.success="Please make a selection."),i.length>0&&i.length<d.selection_limit&&(e.status_code="success",e.messages.success="You may select "+(d.selection_limit-i.length)+" more."),i.length==d.selection_limit&&(e.status_code="success",e.messages.success="You can not select anymore."),i.length>d.selection_limit&&a(c).removeAttr("checked"),b.helpers.update_inline_help(e.control_group,e);break;case"password":case"matching_passwords":var l;if(a.each(e.related_fields,function(b,c){l=a(c).val()}),""===g&&""===l){h.detail_log.push("Passwords are empty: "+g+" - "+l),e.status_code="error";break}if(g===l){h.detail_log.push("Passwords match: "+g+" - "+l),e.status_code="success",e.password_strength=Math.round(l.length/13*100),e.messages.success=a('<div class="">Password Strength:</div><div class="progress progress-striped"><div class="bar" style="width: '+e.password_strength+'%;"></div></div>'),b.helpers.update_inline_help(e.control_group,e);break}if(g!=l){h.detail_log.push("Passwords do not match: "+g+" - "+l),e.status_code="error";break}break;case"email":e.status_code=""==g?"blank":b.helpers.validate_email(g)?"success":"error";break;case"url":e.status_code=""==g?"blank":b.helpers.validate_url(g)?"success":"error";break;case"domain":e.status_code=""==g?"blank":b.helpers.validate_url(g,{use_http:!1})?"success":"error";break;case"address":if(""==g){e.status_code="blank";break}if("object"!=typeof google||"object"!=typeof google.maps)break;e.remote_request=!0,e.geocoder=e.geocoder?e.geocoder:new google.maps.Geocoder,e.clean_value=g.replace(/(\r\n|\n|\r)/gm," "),e.geocoder.geocode({address:e.clean_value},function(c){"object"==typeof c&&(a.each(c,function(a,b){"ROOFTOP"==b.geometry.location_type?(e.messages.success="Validated: "+b.formatted_address,e.status_code="success"):e.status_code="ZERO_RESULTS"==b.status?"error":"warning"}),b.helpers.update_inline_help(e.control_group,e),j(g,h,e))});break;case"ajax":if(!e.validation_ajax)break;e.remote_request=!0;var m=a.extend({},{action:e.validation_ajax,field_name:e.name,field_value:g,field_type:e.type},b.settings.ajax_url);a.ajax({url:b.settings.ajax_url,data:m,success:function(a){e.status_code="false"==a.success?"error":"success",e.messages[e.status_code]=a.message,k(e.control_group,e),h.detail_log.push(e.name+" - Custom Ajax Validation. Result: "+e.status_code),j(g,h,e)},dataType:"json"});break;case"pattern":var n=new RegExp(e.attributes.pattern,"g");""==g?e.status_code="blank":n.test(g)?e.status_code="success":(e.status_code="error",e.messages[e.status_code]="Please, match the requested format"+("undefined"!=typeof e.title?":"+e.title:""));break;case"not_empty":default:e.status_code=""==g?"blank":"success",e.status_code=""==g?"blank":"success"}e.remote_request||j(g,h,e)},j=this.finalize_field_validation=function(c,d,e){"blank"==e.status_code&&b.settings.error_on_blank&&(e.status_code="error"),d.detail_log.push("new status_code: "+e.status_code),a(e.input_element).attr("validation_status_code",e.status_code),a(e.control_group).attr("validation_status_code",e.status_code),e.form.form_helper_fields[e.name].status_code=e.status_code,e.validation_required&&("success"!=e.status_code&&d.detail_log.push("Field validation fail."),l(e.form).validation_fail?(a(e.form).addClass("validation_fail"),a(e.form).data("do_not_process",!0),d.detail_log.push("Form validation fail.")):(a(e.form).removeClass("validation_fail"),a(e.form).removeData("do_not_process"),d.detail_log.push("Form passed validation."))),f(d.detail_log,"dir"),(!e.initial_run||b.settings.validate_on_enable)&&k(e.control_group,e)},k=this.update_control_group_ui=function(c,d){f("update_control_group_ui()"),d.do_not_markup||(a.each(b.classes.status,function(b,d){a(c).removeClass(d)}),d.helpers&&(a("> ."+b.classes.helper_item,d.helpers).removeClass(b.classes.active_helper).addClass(b.classes.disabled_helper),a("."+d.status_code,d.helpers).removeClass(b.classes.disabled_helper).addClass(b.classes.active_helper)),a(c).addClass(b.classes.status[d.status_code]))},l=this.form_status=function(b){if(f("form_status()"),"object"!=typeof b.form_helper_fields)return f("form_status() - form.form_helper_fields is not an object, leaving."),{};var c={validation_fail:!1,failed_fields:[]};return a.each(b.form_helper_fields,function(a,b){"success"!=b.status_code&&(f("form_status() - Input Field failed validation: "+a),c.failed_fields.push(a))}),c.failed_fields.length?(f("form_status() - Form failed validation. Invalid fields: "+c.failed_fields.length),b.validation_fail=c.validation_fail=!0,b.failed_fields=c.failed_fields):f("form_status() - Form is valid. "),c};return"function"!=typeof b.helpers.update_inline_help&&(b.helpers.update_inline_help=function(c,d){f("helpers.update_inline_help()"),d.helpers||(d.helpers=a(b.class_selector.help_block,c)),d.helpers.length||a(d.type+":last",c).after(d.helpers=a('<span class="'+b.classes.help_block+'"></span>')),a.each(d.messages,function(c,e){var f=b.classes.status[c],g=a("span."+f,d.helpers);g.length||a(d.helpers).append(g=a("<span></span>")),g.addClass(b.classes.helper_item),g.addClass(f),b.settings.auto_hide_helpers&&g.addClass(b.classes.disabled_helper),a(g).html(e)})}),"function"!=typeof b.helpers.css_class_query&&(b.helpers.css_class_query=function(b){var c=[];if("object"==typeof b||"array"==typeof b){var d=!1;if(a.each(b,function(b,e){return c.push(e),a.isNumeric(b)?void 0:void(d=!0)}),d)return b}else"string"==typeof b&&(c=b.split(" "));return("."+c.join(".")).replace(/\.\./g,".")}),"function"!=typeof b.helpers.remove_from_array&&(b.helpers.remove_from_array=function(b,c){return a.grep(c,function(a){return a!==b})}),"function"!=typeof b.helpers.validate_url&&(b.helpers.validate_url=function(b,c){return f("helpers.validate_url("+b+")"),c=a.extend({use_http:!0},c),c.use_http?/^(http|ftp|https):\/\/[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?/i.test(b):/^[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&amp;:/~\+#]*[\w\-\@?^=%&amp;/~\+#])?/i.test(b)}),"function"!=typeof b.helpers.validate_email&&(b.helpers.validate_email=function(a){f("helpers.validate_email("+a+")");var b=/^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;return b.test(a)}),b.settings.auto_enable&&g(),this}}(jQuery);